运用‘fsck’修复Linux中文件系统差错的要领
前言
文件系统负责组织数据的存储和恢复方式。 不管怎样,随着工夫的推移,文件系统可能会被毁坏,并且可能没法访问它的某些局部。 要是您的文件系统涌现这种不一致,倡议验证其完备性。
这可以通过名为fsck的系统实用程序( 文件系同一致性检查)完成。 此检查可在指导期间主动完成或手动运转。
在本文中,我们将回忆fsck实用程序及其用法,以帮忙您修复磁盘差错。
何时在Linux中运用fsck
当您想要运转fsck时,有不一样的场景。 下列是一些例子:
- 系统没法启动。
- 系统上的文件已损坏(平常您可能会看到输入/输出差错)。
- 附加驱动器(包括闪存驱动器/ SD卡)没法正常工作。
fsck可用选项
需要运用超级会员权限或root运转Fsck下令。 您可以运用不一样的参数。 它们的用法取决于您的具体状况。 您将在下面看到一些更重要的选项:
- -A - 用于检查所有文件系统。 该列表取自/etc/fstab 。
- -C - 显示进度条。
- -l - 锁定设施以确保在检查期间没有其他程序尝试运用该分区。
- -M - 不检查已挂载的文件系统。
- -N - 仅显示将要施行的操纵 - 不进行现实更改。
- -P - 要是要并行检查文件系统,包括root。
- -R - 不检查根文件系统。 这仅适用于' -A '。
- -r - 为正在检查的每个设施供给统计信息。
- -T - 不显示标题。
- -t - 专门指定要检查的文件系统类型。 类型可以是逗号分隔列表。
- -V - 供给描述正在进行的操纵。
怎样运转fsck来修复Linux文件系统差错
要运转fsck ,您需要确保未安装要检查的分区。 出于本文的目的,我将运用安装在/mnt第二个驱动器/dev/sdb 。
要是我在安装分区时尝试运转fsck会产生什么。
# fsck /dev/sdb
在已安装的分区上运转fsck
为以免这种状况,请运用卸载分区。
# umount /dev/sdb
然后fsck可以平安地运转。
# fsck /dev/sdb
在Linux分区上运转fsck
理解fsck退出代码
运转fsck后 ,它将返回退出代码。 这些鳕鱼可以通过运转下列下令在fsck的手册中看到:
# man fsck 0 No errors 1 Filesystem errors corrected 2 System should be rebooted 4 Filesystem errors left uncorrected 8 Operational error 16 Usage or syntax error 32 Checking canceled by user request 128 Shared-library error
修复Linux文件系统差错
有时在文件系统上可以找到多个差错。 在这种状况下,您可能但愿fsck主动尝试更正差错。 这可以通过下列方式完成:
# fsck -y /dev/sdb
-y标记, “yes”来自fsck的任何提醒主动“yes”以纠正差错。
一样,您可以在所有文件系统上运转雷同的操纵(没有root ):
$ fsck -AR -y
怎样在Linux根分区上运转fsck
在某些状况下,您可能需要在系统的根分区上运转fsck 。 因为在安装分区时没法运转fsck ,因而可以尝试下列选项之一:
- 在系统启动时强迫fsck
- 在营救模式下运转fsck
我们将审查这两种状况。
系统启动时强迫fsck
这相对容易完成,您独一需要做的就是在系统的根分区中创建一个名为forcefsck的文件。 运用下列下令:
# touch /forcefsck
然后,您可以简略地强迫或安排从新启动系统。 在下次启动期间,将施行fsck 。 要是停机工夫很重要,倡议您细心计划,由于要是您的系统上有很多运用的inode, fsck可能需要一些额外的工夫。
系统指导后,检查文件是否依然存在:
# ls /forcefsck
要是是这样,您可能但愿将其删除,以以免每次系统启动时涌现fsck 。
在营救模式下运转fsck
在营救模式下运转fsck需要更多步骤。 首先预备系统以从新启动 。 休止任何要害服务,如MySQL / MariaDB等,然后键入。
# reboot
在启动历程中,按住shift键以显示grub菜单。 选中“ 高级选项 ”。
Grub Advance Options
然后选中“ 恢复模式 ”。
选中Linux恢复模式
在下一个菜单当选择“ fsck ”。
选中fsck Utility
系统将扣问您是否但愿从新安装/ filesystem。 选中“yes” 。
确认根文件系统
你应当看到相似的东西。
运转fsck文件系统检查
然后,您可以通过选中“恢复”恢复正常启动。
选中正常启动
结论
在本教程中,您学习了怎样运用fsck并在不一样的Linux文件系统上运转一致性检查。 要是您对fsck有任何疑难,请不要踌躇,在下面的评论局部提交。
总结
以上就是这篇文章的全部内容了,但愿本文的内容对大家的学习或者工作拥有一定的参考学习价值,要是有疑难大家可以留言交换,感谢大家对脚本之家的支撑。