![fsck 找不到 fsck.ntfs](https://linux22.com/image/907535/fsck%20%E6%89%BE%E4%B8%8D%E5%88%B0%20fsck.ntfs.png)
在我从 Natty 升级到 Oneiric 的几台机器上,每次启动时都会出现错误(每个 NTFS 分区都会出现一个错误):
Serious errors were found while checking the disk drive for /windows/c.
Press I to ignore, S to skip mounting, or M for manual recovery
按照建议这个答案,我fsck
从手动恢复 shell 运行。我得到了以下输出:
fsck from util-linux 2.19.1
fsck: fsck.ntfs: not found
fsck: Error 2 while executing fsck.ntfs for /dev/sda1
我找不到 fsck.ntfs,而且command-not-found
也无济于事。我怎样才能消除这个错误?
顺便说一句,我曾多次尝试启动 Windows (XP),以为 Windows 会修复文件系统。但显然 Windows 认为文件系统没有问题。奇怪的是全部NTFS 文件系统受到影响。
另外,我可以通过进入恢复 shell 并发出 来解决此问题mount -a
,但是为了我同事的利益,我需要无人值守启动。
答案1
fsck.ntfs
通常只是一个链接,指向Ubuntu 标准安装中已有的ntfsfix
软件包中的一个实用程序。ntfsprogs
您可以在 fsck.ntfs 和 ntfsfix 之间建立一个符号链接,以永久解决此问题:
sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs
sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs-3g
请记住,此实用程序来自逆向工程过程,并不是管理文件系统的最佳选择,NTFS 文件系统不属于 GNU/linux 世界。
答案2
我认为对于某些人来说应该注意的是,它ntfsfix
被安装到/bin/
而不是/usr/bin
。因此
sudo ln -nsf /bin/ntfsfix /sbin/fsck.ntfs
sudo ln -nsf /bin/ntfsfix /sbin/fsck.ntfs-3g
如果你已经从/usr/bin/
sudo rm -f /sbin/fsck.ntfs
sudo rm -f /sbin/fsck.ntfs-3g
然后再次创建符号链接。
答案3
如果您在启动时自动安装了 NTFS 分区,唯一的原因可能是您手动或通过某些工具添加了它/etc/fstab
(不考虑 WUBI)。
如果系统在启动时尝试检查分区,则意味着在相应的行中/etc/fstab
有第六个字段,其值为1
或2
。
ntfsfix
默认情况下不链接到fsck.ntfs
,并且它仅提供有限的检查功能,如手册页中所述:
ntfsfix 是一个可以修复一些常见 NTFS 问题的实用程序。ntfsfix 不是 chkdsk 的 Linux 版本。它只能修复一些基本的 NTFS 不一致问题、重置 NTFS 日志文件并安排在首次启动 Windows 时进行 NTFS 一致性检查。
常见的解决方案不是创建符号链接,而是删除或设置为0
中的第六个字段/etc/fstab
。
答案4
问题在于缺少指向/usr/bin/ntfsfix
或 的符号链接/bin/ntfsfix
。您可以使用以下命令创建所需的链接:
sudo ln -s $(which ntfsfix) /sbin/fsck.ntfs
sudo ln -s $(which ntfsfix) /sbin/fsck.ntfs-3