fsck简述
fsck(file system check)
命令被用于检查并且试图修复文件系统中的错误。
当文件系统发生错误,当Linux文件系统由于人为因素或是系统本身的原因(例如用户不小心冷启动系统(切断电脑的电源,重新启动)、磁盘关键磁道出错或机器关闭前没有来得及把cache(缓存)中的数据写入磁盘等)而受到损坏时,都会影响到文件系统的完整性和正确性,可用fsck指令尝试加以检查并修复。
查看帮助
1 | bingyu@ubuntu:~$ fsck -h |
下面是来自man手册的一些其他参数
语法
fsck(选项)(参数)
选项
-a:自动修复文件系统,不询问任何问题;
-A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统;
-N:不执行指令,仅列出实际执行会进行的动作;
-P:当搭配”-A”参数使用时,则会同时检查所有的文件系统;
-r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式;
-R:当搭配”-A”参数使用时,则会略过/目录的文件系统不予检查;
-s:依序执行检查作业,而非同时执行;
-t<文件系统类型>:指定要检查的文件系统类型;
-T:执行fsck指令时,不显示标题信息;
-V:显示指令执行过程。
那么我们应该如何修复损坏的文件系统?
在通常情况下,可以不为fsck指定任何选项,只指定参数即可。
例如,要检查/dev/sda1分区上的文件系统。1
$ fask /dev/sda1
应该在没有mount该文件时候才使用fsck命令来检查文件系统,这样能在保证检查时该文件系统上没有文件被使用。
fsck在发现文件系统有错误时候,可以修复它。如果需要fsck修复时,需要加入选项-P选项。当修复文件系统后,应该重新启动计算机,以便系统读取文件系统信息。
还有一种我了解到的就是Linux服务器有时会面临这样一种错误,即显示文件系统变成(Read Only System),即文件系统变成只读的方式,产生这一问题的原因可能有两种,一种是多机写入时同步机制出现问题,另一种方式是单机写入时出现服务器掉电的情况。
我们同样可以使用fsck来试图修复一下。
首先修改/etc/fstab,将受损的文件系统先注释掉,如果无法读写该文件则采用命令 mount -o remount,rw /
将文件系统改成读写模式。
然后针对受损的文件系统,执行fsck命令,如:fsck /dev/sda1等。
不过在执行命令之前最好先进行数据备份,以防止修复失效后数据丢失。
注意 :千万不能在运行的系统上面直接执行fsck,特别是RHEL6.0以下ext3的文件系统,否则100%损坏根文件系统,比如使用fsck -P /dev/sda1
修复磁盘时,必须将sd1分区umount掉
本文作者:冰羽
本文地址: https://bingyublog.com/2018/10/07/Linux系统修复/
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!