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 to 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.