ntfs-3g won’t automatically try to “fix up” your NTFS partition when it sees what’s probably the most common error after unplugging an external disk too eagerly: the MFT and its mirror being out of sync. In that case, a Windows system would just heal the problem when you plug in the disk. On Linux, you get a mount error. Some sources on the Internet recommend to always use Microsoft tooling to repair this situation, i.e. they recommend to use an actual Windows system for doing the repair. I was in yolo mode and tried ntfsfix
(which is part of ntfs-3g):
$ sudo ntfsfix /dev/sdc1
Mounting volume... $MFTMirr does not match $MFT (record 3).
FAILED
Attempting to correct errors...
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... FAILED
Correcting differences in $MFTMirr record 3...OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sdc1 was processed successfully.
After that, the mount operation did not throw errors anymore.
I’ve worked with the volume since then; and everything seems to be smooth. This is a 4 TB external disk which I think is rather brittle. Btw, this process took quite a while.
Given the history of ntfsfix.c I think this really was a bit of a risky endeavor.
Leave a Reply