e2fsck与fsck比较
在使用linux分区,尤其是进行lvm缩减时,肯定要检查设备的完整性,这时我经常用的是e2fsck,也看到过fsck,这两者有什么区别呢?
度娘给答案:青青河边草的博客,看他写的挺清楚了,呵呵,拿来学习一下。
fsck是为检查各种不同的文件系统提供一个统一的用户界面。
e2fsck是用于ext2/ext3类型的文件系统检查的一个工具。
用法:
fsck:
fsck [-sACVRP] [-t fstype] [--] [fsck-options] filesys [...]
说明 : 检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统
参数 :
filesys : device 名称(eg./dev/sda1),mount 点 (eg. / 或 /usr)
-t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数
-s : 依序一个一个地执行fsck 的指令来检查
-A : 对/etc/fstab 中所有列出来的 partition 做检查
-C : 显示完整的检查进度
-d : 列印 e2fsck 的 debug 结果
-p : 同时有 -A 条件时,同时有多个 fsck的检查一起执行
-R : 同时有 -A 条件时,省略 / 不检查
-V : 详细显示模式
-y : 预先设定所有检查时的问题均回答[是]
-a : 如果检查有错则自动修复
-r : 如果检查有错则由使用者回答是否修复
例子 :
检查 msdos 档案系统的 /dev/hda5 是否正常,如果有异常便自动修复 :
fsck -t msdos -a /dev/hda5
注意 :
此指令可与 /etc/fstab 相互参考操作来加以了解。
e2fsck
使用方式 : e2fsck [-pacnydfvFV] [-b superblock] [-B blocksize] [-l|-L bad_blocks_file] [-C fd] device
说明 : 检查使用 Linux ext2 档案系统的 partition 是否正常工作
参数 :
device : 预备检查的硬盘 partition,例如:/dev/sda1
-a : 对 partition 做检查,若有问题便自动修复,等同 -p 的功能
-b : 设定存放 superblock 的位置
-B : 设定单位 block 的大小
-c : 检查该partition 是否有坏轨
-C file : 将检查的结果存到 file 中以便查看
-d : 列印 e2fsck 的 debug 结果
-f : 强制检查
-F : 在开始检查前,将device 的 buffer cache 清空,避免有错误发生
-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
-L bad_blocks_file : 设定坏轨的block资料存到 bad_blocks_file 里面,若无该档则自动产生
-n : 将档案系统以[唯读]方式开启
-p : 对 partition 做检查,若有问题便自动修复
-v : 详细显示模式
-V : 显示出目前 e2fsck 的版本
-y : 预先设定所有检查时的问题均回答[是]
例子 :
检查 /dev/hda5 是否正常,如果有异常便自动修复,并且设定若有问答,均回答[是] :
e2fsck -a -y /dev/hda5
注意 :
大部份使用 e2fsck 来检查硬盘 partition 的情况时,通常都是情形特殊,因此最好先将该 partition umount,然后再执行 e2fsck 来做检查,若是要非要检查 / 时,则请进入 singal user mode 再执行。