Ubuntu – Cannot mount USB stick – errors out with “$MFTMirr does not match $MFT”


I have an NTFS-formatted USB stick. When I connect it to a Windows system, it works fine. However, I receive this error output when I try and mount the USB stick on my Linux machine:

Error mounting /dev/sdb1 at /media/: Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000" "/dev/sdb1" "/media/sorin/LICENTA"' exited with non-zero exit status 13: $MFTMirr does not match $MFT (record 0).
Failed to mount '/dev/sdb1': Input/output error
NTFS is either inconsistent, or there is a hardware fault, or it's a
SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows twice. The usage of the /f parameter is very
important! If the device is a SoftRAID/FakeRAID then first activate
it and mount a different device under the /dev/mapper/ directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation
for more details.

What can I do to fix this issue and make my USB stick usable on Linux again?

Best Answer

The error you are seeing indicates the filesystem is not clean and needs checked by Windows chkdsk. There are components to NTFS filesystem ($MFT and $MFTMirr respectively in this case) which say what is where on the disk. These files no longer match each other, which suggests there may be some type of filesystem corruption.

But because it is NTFS, the only way to truly repair NTFS is Windows' chkdsk utility. (There is a ntfsfix command, but it is NOT going to be of the same quality of fix as Windows' utilities to check NTFS disks).

When you next have your drive connected to the Windows system, if it asks you to scan and fix the drive, allow Windows to scan and fix the drive. It will try and fix the errors in the filesystem that prevent you from mounting in Linux safely.

Related Question