fsck找不到fsck.ntfs


33

在从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从手动恢复外壳运行。我得到以下输出:

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文件系统都会受到影响。

另外,我可以通过mount -a放置到恢复外壳并发出来解决此问题,但是出于同事的需要,我需要无人值守的启动。


1
我找不到fsck.ntfs我想你应该去ntfsckntfsfix为NTFS分区,据我所知fsck,主要用于ext分区。
sagarchalise 2011年

Answers:


36

fsck.ntfs通常只是一个链接,ntfsfix该链接是来自ntfsprogs标准安装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世界。


4
谢谢。我设置了符号链接(应该已经完成​​),问题已经解决。唯一剩下的问题是:为什么首先缺少符号链接?fsck显然在启动时运行。因此,如果它尝试检查无法处理的文件系统,则是一个错误。该分区过去非常好。显然,这只是例行检查,但失败了。
Scott Severance

1
有趣的是,我相信一个社区反向工程工具比正式的Microsoft工具要多得多,后者破坏了我之前可以正常工作的NTFS分区:)
AhHatem

对我不起作用。Ubuntu 12.04.3
zuba 2013年

与基于Windows的工具相比,您可以更多地依靠基于Linux的工具来恢复Windows安装和数据。我还体验到Linux可以让您执行一些操作,例如在文件名中添加问号;这是NTFS标准的正式许可,但这是个笑话:Windows驱动程序不支持它!我想指出专用的“基于Linux的Rescue / Repair Live-CD”(或USB),例如SystemRescueCD。
tiktak 2014年

答案应该是:askubuntu.com/a/292889/126984
唤醒

20

我认为对于某些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

然后再次创建符号链接。


因为a)downvoter没有发表任何解释downvote的评论,这至少是礼貌的,并且b)只需“定位ntfsfix”才能在/ bin / ntfsfix处找到我的名字,因此看起来至少相关。
Al Flanagan

我建议将此添加为对Micro答案的注释,而不是作为独立答案。
waldyrious 2013年

这是适用于更高版本的ubuntu的正确答案,例如13.04
唤醒

这在Ubuntu 14.04中对我有用!
HarlemSquirrel 2014年

5

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

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

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

ntfsfix是用于修复一些常见NTFS问题的实用程序。ntfsfix不是chkdsk的Linux版本。它仅修复一些基本的NTFS不一致之处,重置NTFS日志文件,并安排首次引导进入Windows的NTFS一致性检查。

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


2
实际上,这并不完全准确。在安装过程中,现有的NTFS分区会自动添加到fstab中,而无需手动编辑fstab。因此,应该以理智的方式添加它们。我不在乎他们是否被检查。我只是不想在启动时显示不必要的错误消息,而实际上却没有错误。
Scott Severance

当我有ntfs分区时,从未在较旧的Ubuntu版本中看到这种行为。我想是一个新功能,现在我不再使用ntfs。顺便说一句,您没有说fstab中是否存在非零数字。
enzotib 2011年

这可能可以解释问题:在所讨论的计算机上,fstab中确实存在一个非零数字。在另一台计算机上,我以前也遇到过同样的问题,但是在我重新安装解决了另一个问题后却消失了。新的fstab将第六个字段设置为零。因此,显然默认值在Natty和Oneiric之间更改,并且升级没有进行任何转换。
Scott Severance

1
我认为“ pass”参数只是应该按自动挂载分区的顺序,因此,这似乎是Oneiric中的新增功能。我最近刚刚升级,并且在我的ntfs分区上设置了pass = 3,直到在oneiric中首次启动我才没有任何问题。它卡在隐藏在一些不相关的错误消息中的一些愚蠢的提示上。服务器在引导过程中等待按键并不酷。
KarlP 2011年

5

Micro的答案对我有用,但是我的11.10(从11.04升级)没有ntfsprogs。' sudo apt-get install ntfsprogs解决了,然后链接建议工作正常。


3

问题是缺少到/usr/bin/ntfsfix或的符号链接/bin/ntfsfix。您可以使用以下方法建立所需的链接:

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

这在2015
HarlemSquirrel

1

意外安装后,我也遇到同样的问题ntfsprogs。我认为依赖项中存在错误,因为在安装ntfsprogs所有NTFS驱动器后,便开始以只读方式安装。

当我转身ntfs-3gfsck.ntfs消失了。

所以:

sudo apt-get install ntfsprogs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  ntfs-3g
The following NEW packages will be installed:
  ntfsprogs
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.

但:

apt-cache showpkg ntfs-3g
Package: ntfs-3g
Versions: 
1:2011.4.12AR.4-2ubuntu3 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_oneiric_main_binary-amd64_Packages) (/var/lib/dpkg/status)
...
Provides: 
1:2011.4.12AR.4-2ubuntu3 - ntfsprogs 

我不确定那里应该是正确的行为,但是请注意这一点。


我认为我的USB不再有用,请确认:ntfsfix / dev / sdc1安装卷...磁盘中包含不干净的文件系统(0,0)。失败尝试纠正错误...正在处理$ MFT和$ MFTMirr ...正在读取$ MFT ...确定正在读取$ MFTMirr ...确定比较$ MFTMirr与$ MFT ...确定已成功完成$ MFT和$ MFTMirr的处理。在分区上设置所需的标志...确定将要清空日志($ LogFile)...确定无法同步设备/ dev / sdc1:输入/输出错误正在检查备用引导扇区...确定
Ashish Karpe

NTFS卷版本为3.1。NTFS分区/ dev / sdc1已成功处理。无法同步设备/ dev / sdc1:输入/输出错误无法卸载分区
Ashish Karpe,

0

在ubuntu 14.04上,软件包从2015年1月开始不可用

  1. sudo ln -s /bin/ntfsfix /sbin/fsck.ntfs
  2. sudo ln -s /bin/ntfsfix /sbin/fsck.ntfs-3g
  3. sudo apt-get install ntfsprogs

    Package ntfsprogs is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    E: Package 'ntfsprogs' has no installation candidate
    

0

尝试使用此脚本强制重新映射损坏的扇区:https : //techoverflow.net/blog/2015/01/07/fixing-bad-blocks-on-hdds-using-fixhdd.py/

镜像:https : //github.com/unxed/fixhdd

该脚本每5秒检查一次系统日志中是否存在I / O错误,并将零写入故障扇区以强制HDD控制器重新映射它们。用法示例:sudo fixhdd.py --loop / dev / sda


1
欢迎来到Ask Ubuntu!虽然从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。
凯文·鲍文

-1
$ man fsck

fsck-检查并修复Linux文件系统

要在GNU / Linux上修复损坏的NTFS系统,可以使用ntfsfix,它是ntfs-3g的一部分,如下所示:

$ ntfsfix /dev/sdc1

-1:这个答案与问题无关。
Scott Severance

@ScottSeverance / me因不忽略其手册中所述的工具应用程序而被否决-仅在Ubuntu论坛中哈哈
binarytrails

问题是fsck.ntfs在启动时找不到。显然,报告的手册页不相关,因为fsck它不是手动调用的。此外,这种情况不会在一开始就出现,除了默认的Ubuntu安装中fsck.ntfs 确实存在一次。
Scott Severance,2016年

@ScottSeverance感谢您声明您的线程已过时!
binarytrails

这个问题很可能已经过时了(尽管我不必费心检查,因此可以肯定地说)。但是,这不是我否决该答案的原因。即使在解决我的问题之前就已经发布了它,它甚至都没有解决我提出的问题。我询问启动期间出现的错误,并中断了启动过程。该错误表明系统正在寻找fsck.ntfs,但系统上不存在。哪种工具适合修复磁盘错误的解释如何准确地帮助我解决启动错误?
Scott Severance
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.