当前位置: 首页>>技术教程>>正文


fsck找不到fsck.ntfs

, ,

问题描述

在我从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

按照this answer中的建议,我从手动恢复shell运行了fsck。我得到了这个输出:

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认为filesysystems就好了。奇怪的是所有NTFS文件系统都受到影响。

此外,我可以通过退回到恢复shell并发布mount -a来解决此问题,但对于我的同事的问题,我需要无人值守的启动。

最佳解决办法

fsck.ntfs通常只是ntfsfix的链接,ntfsfixntfsprogs软件包中的一个实用程序,已经可以与Ubuntu的标准安装一起使用。

您可以在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世界。

次佳解决办法

我想有些人可能会注意到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

然后再次创建符号链接。

第三种解决办法

如果您在启动时自动挂载了NTFS分区,唯一的原因可能是您手动或通过某些工具将其添加到/etc/fstab(不考虑WUBI)。

如果系统在启动时尝试检查分区,则意味着在/etc/fstab的相应行中有第六个字段,其值为12

默认情况下,ntfsfix未链接到fsck.ntfs,它仅提供有限的检查功能,如手册页中所述:

ntfsfix is a utility that fixes some common NTFS problems. ntfsfix is NOT a Linux version of chkdsk. It only repairs some fundamental NTFS inconsistencies, resets the NTFS journal file and schedules an NTFS consistency check for the first boot into Windows.

常见的解决方案不是创建符号链接,而是删除或设置为0 /etc/fstab中的第六个字段。

第四种办法

Micro的answer为我工作,但我的11.10(从11.04升级)没有ntfsprogs。 ‘sudo apt-get install ntfsprogs‘解决了这个问题,然后链接建议工作正常。

第五种办法

问题是缺少符号链接,无论是/usr/bin/ntfsfix还是/bin/ntfsfix。您可以使用以下命令创建所需的链接:

sudo ln -s $(which ntfsfix) /sbin/fsck.ntfs
sudo ln -s $(which ntfsfix) /sbin/fsck.ntfs-3

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2543.html,未经允许,请勿转载。