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 這個參數!
-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)语法:
- fsck [-aANPrRsTV][-t <文件系统类型>][文件系统...]
(4)所属包:
- e2fsprogs
(5)使用技巧:
fsck 仅仅是一个前端工具,它必须通过“-t”参数来调用相应的文件系统检查器完成文件系统的检查和修复工作。
fsck命令的返回状态值可以反映命令的运行状况,返回值及其含义如表3-22 所示。
表3-22 fsck返回值及其含义列表
![]() |
(6)相关命令:
- e2fsck
(7)参数:
fsck主要参数如表3-23 所示。
表3-23 fsck参数表
![]() |
(8)补充说明:
当文件系统发生错误时,可用fsck指令尝试加以修复。
对于一个已经安装好了的文件系统,fsck 命令不会做出矫正。
fsck 命令可以在一个已经安装好了的文件系统中运行,但不进行修复。当文件系统安装完毕之后,也许会返回不准确的错误消息。
(9)典型实例:
例:检查文件系统。
例如使用fsck命令的“-t”参数指明要检查的文件系统的类型,具体命令为:
- fsck-t ext3 /dev/sda1 #检查ext3 类型的分区/dev/sad1
此时输出如下信息,需要用户确认,输入“yes”之后按回车键。
- cmd@cmd-desktop:~$ fsck -t ext3 /dev/sda1 #检查ext3 类型的分区/dev/sad1
- fsck 1.41.3 (12-Oct-2008) #fsck版本
- e2fsck 1.41.3 (12-Oct-2008) #e2fsck版本
- /dev/sda1 is mounted. #已经加载的文件系统
- #强制检查已经加载的文件系统,是一种不推荐使用的方式。
除非管理员可以确定当前没有任何程序正在读写要检 - 查的文件系统,否则必须先卸载文件系统后,再进行检查
- WARNING!!! Running e2fsck on a mounted filesystem may cause
- SEVERE filesystem damage.
- Do you really want to continue (y/n)? #等待用户确认,输入yes或no
继续输出如下信息:
- /dev/sda1: recovering journal #检查结果
- /dev/sda1: clean, 177826/1001712 files, 1141903/4006201 blocks