![e2fsck 和 fsck 之间有什么区别,我应该使用哪一个?](https://linux22.com/image/45653/e2fsck%20%E5%92%8C%20fsck%20%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%8C%E6%88%91%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%80%E4%B8%AA%EF%BC%9F.png)
运行 dmesg 时收到此错误消息
EXT3-fs (sdd1): using internal journal
EXT3-fs (sdd1): mounted filesystem with ordered data mode
EXT4-fs (sda1): warning: mounting fs with errors, running e2fsck is recommended
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts:
EXT4-fs (sdb1): warning: maximal mount count reached, running e2fsck is recommended
EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts:
EXT4-fs (sdc1): warning: maximal mount count reached, running e2fsck is recommended
EXT4-fs (sdc1): mounted filesystem with ordered data mode. Opts:
Adding 4194296k swap on /dev/sdd2. Priority:-1 extents:1 across:4194296k SSD
kjournald starting. Commit interval 5 seconds
EXT3-fs (loop0): warning: maximal mount count reached, running e2fsck is recommended
EXT3-fs (loop0): using internal journal
sdd 似乎运行良好。这是主分区。 sda 到 sdc 不起作用。我应该卸载并进行 fsck 吗?但我应该使用哪个 fsck? e2fsck? e4fsck?哪一个?我这里用的是ext4。
我不知道loop0是什么。
看来系统设置得相当糟糕。 EXT3-fs (loop0):以有序数据模式挂载的文件系统
我听说我可以执行 shutdown -rf 。有人已经这么做了。系统已恢复在线,但我仍然收到此消息。是什么赋予了?
答案1
fsck
是该工具的原始名称。当新的文件系统出现时,他们需要针对每种文件系统的特定工具。因此,fsck
它仅充当前端,并调用适当的文件系统 *fsck 来执行其自身无法执行的操作。
摘自 fsck 手册页
fs 特定选项
Options which are not understood by fsck are passed to the filesystem-specific checker. These arguments must not take arguments, as there is no way for fsck to be able to properly guess which arguments take options and which don't. Options and arguments which follow the -- are treated as file system-specific options to be passed to the file system-specific checker. Please note that fsck is not designed to pass arbitrarily complicated options to filesystem-specific checkers. If you're doing something complicated, please just execute the filesystem-specific checker directly. If you pass fsck some horribly complicated option and arguments, and it doesn't do what you expect, don't bother reporting it as a bug. You're almost certainly doing something that you shouldn't be doing with fsck.
大多数正常操作只需通过 即可处理fsck
。
其他工具?
快速查看我的 Fedora 14 系统会显示以下 fsck* 工具:
$ fsck
fsck fsck.ext2 fsck.ext4 fsck.msdos fsck.vfat
fsck.cramfs fsck.ext3 fsck.ext4dev fsck.ntfs fsck.xfs
该locate
命令显示更多内容:
$ locate fsck|grep "^/sbin"
/sbin/dosfsck
/sbin/e2fsck
/sbin/fsck
/sbin/fsck.cramfs
/sbin/fsck.ext2
/sbin/fsck.ext3
/sbin/fsck.ext4
/sbin/fsck.ext4dev
/sbin/fsck.msdos
/sbin/fsck.ntfs
/sbin/fsck.vfat
/sbin/fsck.xfs
在这两个列表中,您可以看到几乎每种文件系统类型都有自己的 fsck* 工具。其中一些工具是多用途的,例如dos2fsck
:
$ ls -l /sbin/|grep fsck | grep dos
-rwxr-xr-x 1 root root 54424 Apr 5 2011 dosfsck
lrwxrwxrwx 1 root root 7 Aug 3 2011 fsck.msdos -> dosfsck
lrwxrwxrwx 1 root root 7 Aug 3 2011 fsck.vfat -> dosfsck