fsck检查和修复文件系统

重视:fsck不能乱用。先要把文件系统umount掉,然后检查。最好启动到单用户模式下fsck。
常见的5种损坏类型
1 未被引用的inode
2 难以置信的超大链接数
3 没有记录在磁盘块映射表中的未用数据快
4 列出的空闲数据快还在某个文件中便用
5 超级块中不正确的汇总信息
fsck能够安全和自动地修复这类,如果fsck对文件系统进行了改正,您就应该私利运行它,直到文件系统能够完全干净的启动为止。
 
如果fsck请求获得权限去删除一个文件,那么就应该充许fsck进行此项操作之前先将文件复制到一个不同的文件系统中,应该清楚,任何时候去试图访问一个已被子损坏的文件系统,都会有使系统混乱的危险, 我自己已用犯过一次这样的错误。
 
如果一个受损的文件系统(也就是fsck无法自动修复的文件系统)包含了非常有价值的数据,那么在稳固地备份它之前不要对其进行任何试验,,您可以试着转储(dump)硬盘,用最保险的策略就是dd整个硬盘到另一个备份文件或都备份硬盘中去。 注意:如果使用不正确的话,dd命令有时候能够破坏分区信息,它只能在大小完全相同的两个分区之间复制文件系统。
dd if=/dev/sda of=/dev/sdb
 
修复下面这两个参数用的比较多,其它的基本上不用:
 
a  :自動修復檢查到的有問題的磁區,所以你不用一直按 y 囉!
-y  :與 -a 類似,但是某些 filesystem 僅支援 -y 這個參數!
fsck /dev/sda5
fsck -a /dev/sda5
fsck -y /dev/sda5
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
3.20 fsck(检查并修复Linux 文件系统)                                     http://book.51cto.com/art/201107/278053.htm

《Linux指令从初学到精通》第3章文件管理,本章介绍了许多常用命令,如cp、ln、chmod、 chown、diff、tar、mv等,因为这些都与文件管理相关,在日常的使用中经常用到,因此本章是本书的重点章节。本节为大家介绍fsck(检查并 修复Linux 文件系统)。

AD:

3.20 fsck(检查并修复Linux 文件系统)

(1)频度等级:☆☆

(2)功能说明:

检查文件系统的一致性并且以交互方式修复文件系统。在出现系统故障之后,总是运行fsck 命令。矫正的动作也许会导致某些数据丢失。对于每个一致性的矫正,默认的操作是等待操作员输入“yes”或者“no”。如果对于已经受到影响的文件系统操 作员没有写的许可,那么无论实际响应是什么,fsck 命令默认的动作都是“no”。

(3)语法:

  1. fsck [-aANPrRsTV][-t <文件系统类型>][文件系统...] 

(4)所属包:

  1. e2fsprogs 

(5)使用技巧:

fsck 仅仅是一个前端工具,它必须通过“-t”参数来调用相应的文件系统检查器完成文件系统的检查和修复工作。

fsck命令的返回状态值可以反映命令的运行状况,返回值及其含义如表3-22 所示。

表3-22 fsck返回值及其含义列表

(6)相关命令:

  1. e2fsck 

(7)参数:

fsck主要参数如表3-23 所示。

表3-23 fsck参数表

 

(8)补充说明:

当文件系统发生错误时,可用fsck指令尝试加以修复。

对于一个已经安装好了的文件系统,fsck 命令不会做出矫正。

fsck 命令可以在一个已经安装好了的文件系统中运行,但不进行修复。当文件系统安装完毕之后,也许会返回不准确的错误消息。

(9)典型实例:

例:检查文件系统。

例如使用fsck命令的“-t”参数指明要检查的文件系统的类型,具体命令为:

  1. fsck-t ext3 /dev/sda1 #检查ext3 类型的分区/dev/sad1 

此时输出如下信息,需要用户确认,输入“yes”之后按回车键。

 

  1. [email protected]:~$ fsck -t ext3 /dev/sda1 #检查ext3 类型的分区/dev/sad1  
  2. fsck 1.41.3 (12-Oct-2008) #fsck版本  
  3. e2fsck 1.41.3 (12-Oct-2008) #e2fsck版本  
  4. /dev/sda1 is mounted. #已经加载的文件系统  
  5. #强制检查已经加载的文件系统,是一种不推荐使用的方式。
    除非管理员可以确定当前没有任何程序正在读写要检  
  6. 查的文件系统,否则必须先卸载文件系统后,再进行检查  
  7. WARNING!!! Running e2fsck on a mounted filesystem may cause  
  8. SEVERE filesystem damage.  
  9. Do you really want to continue (y/n)? #等待用户确认,输入yes或no 

继续输出如下信息:

    1. /dev/sda1: recovering journal #检查结果  
    2. /dev/sda1: clean, 177826/1001712 files, 1141903/4006201 blocks