10.8 fsck命令:检测和修复文件系统
- 若系统掉电或磁盘发生问题,这种情况下非常容易造成文件系统的崩溃,严重时甚至会造成硬件损坏。这也是我们一直在强调的“服务器一定要先关闭服务再进行重启”的原因所在。如果真出现了文件系统损坏的情况,使用 fsck 命令来修复.
- fsck 命令用于检查文件系统并尝试修复出现的错误。该命令的基本格式如下:
[root@CncLucZK ~]# fsck [选项] 分区设备文件名
-
该命令常用的选项以及各自的功能。
选项 功能 -a 自动修复文件系统,没有任何提示信息。 -A 对/etc/fstab 配置文件中所有列出来的 分区(partition)检查文件内罗列的全部文件系统。 -d 打印出 e2fsck 的 debug 结果 -C(大写) 显示检查分区的进度条。 -f 强制检测,一般 fsck 命令如果没有发现分区有问题,则是不会检测的。如果强制检测,那么不管是否发现问题,都会一项一项的检测。 -p 同时有 -A 条件时,同时有多个 fsck 的检查一起执行 -r 采取互动的修复模式,在修改文件前会进行询问,让用户得以确认并决定处理方式。 -R 同时有 -A 条件时,省略 / 不检查 -s 依序一个一个地执行 fsck 的指令来检查 -t 文件系统类型 指定要检查的文件系统类型。 -V 详细显示模式 -y 自动修复,和 -a 作用一致,不过有些文件系统只支持 -y。
此命令通常只有身为 root 用户且文件系统出现问题时才会使用,否则,在正常状况下使用 fsck 命令,很可能损坏系统。另外,如果你怀疑已经格式化成功的硬盘有问题,也可以使用此命令来进行检查。
使用 fsck 检查并修复文件系统是存在风险的,特别是当硬盘错误非常严重的时候,因此,当一个受损文件系统中包含了非常有价值的数据时,务必首先进行备份!
- 查看系统有多少文件系统支持的 fsck 命令:
[root@CncLucZK ~]# fsck
fsck fsck.ext2 fsck.ext4 fsck.xfs
fsck.cramfs fsck.ext3 fsck.minix
- 如果想要修复某个分区,则只需执行如下命令:
[root@CncLucZK ~]#fsck -r /dev/sdb1 #采用互动的修复模式
- 强制检测 /dev/vda3分区:
[root@CncLucZK ~]# fsck -C -f -t ext3 /dev/vda3
fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
vbird_logical: 11/251968 files (9.1% non-contiguous), 36926/1004046 blocks
- fsck 命令在执行时,如果发现存在没有文件系统依赖的文件或目录,就会提示用户是否把它们找回来,因为这些没有文件系统依赖的文件或目录对用户来说是看不到的,换句话说,用户根本无法使用,这通常是由文件系统内部结构损坏导致的。如果用户同意找回(输入 y),fsck 命令就会把这些孤立的文件或目录放到 lost+found 目录中,并用这些文件自己对应的 inode 号来命名,以便用户查找自己丢失的文件。
- 因此,当用户在利用 fsck 命令修复磁盘分区以后,如果发现分区中有文件丢失,就可以到对应的 lost+found 目录中去查找,但由于无法通过文件名称分辨各个文件,这里可以利用 file 命令查看文件系统类型,进而判断出哪个是我们需要的文件。
参考文献:
Linux fsck命令:检测和修复文件系统
Linux 磁盘管理
下一篇:Linux学习-42-查看文件系统信息dumpe2fs命令用法
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123750.html