fsck can't find fsck.ntfs
On several machines that I've upgraded from Natty to Oneiric, I get an error every boot (one for every NTFS partition):
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
Following the suggestion in this answer, I ran fsck
from the manual recovery shell. I got this output:
fsck from util-linux 2.19.1
fsck: fsck.ntfs: not found
fsck: Error 2 while executing fsck.ntfs for /dev/sda1
I can't find fsck.ntfs, and command-not-found
doesn't help either. How can I make this error go away?
By the way, I've tried booting into Windows (XP) several times, thinking that Windows would repair the filesystems. But apparently Windows thinks the filesysystems are just fine. And it's odd that all NTFS filesystems are affected.
Also, I can work around this problem by dropping to a recovery shell and issuing mount -a
, but for my coworkers' sakes I need unattended boot.
fsck.ntfs
is usually only a link to ntfsfix
which is an utility from the package ntfsprogs
that is already available with a standard installation of Ubuntu.
You can make a simbolic link between fsck.ntfs and ntfsfix to solve this permanently:
sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs
sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs-3g
Keep in mind that this utility came from a reverse engineering process and are not the best option to manage your filesystem, the NTFS filesystem does not belong to the GNU/linux world.
I think it could be noted for some people that ntfsfix
gets installed into /bin/
instead of /usr/bin
. So
sudo ln -nsf /bin/ntfsfix /sbin/fsck.ntfs
sudo ln -nsf /bin/ntfsfix /sbin/fsck.ntfs-3g
If you have already created the symlink from /usr/bin/
sudo rm -f /sbin/fsck.ntfs
sudo rm -f /sbin/fsck.ntfs-3g
And then create the symlinks again.
If you have an NTFS partition automatically mounted at startup, the only reason could be you have manually or through some tool added it to /etc/fstab
(not taking into account WUBI).
If the system tries to check the partition at startup it means that in the corresponding line in /etc/fstab
there is a sixth field and its value is 1
or 2
.
ntfsfix
is not linked by default to fsck.ntfs
, and it only provides limited check capabilities, as explained in the man page:
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.
The common solution is not to create the symlink, but to remove or set to 0
the sixth field in /etc/fstab
.
Micro's answer worked for me, however my 11.10 (upgraded from 11.04) did not have ntfsprogs. 'sudo apt-get install ntfsprogs
' solved that, then the link suggestion worked fine.
The problem is a missing symbolic link, to either /usr/bin/ntfsfix
or /bin/ntfsfix
. You can make the needed link(s) with:
sudo ln -s $(which ntfsfix) /sbin/fsck.ntfs
sudo ln -s $(which ntfsfix) /sbin/fsck.ntfs-3