Is there a way to fsck/chkdsk an NTFS drive from Linux?
Yes. This was handled by
fsck on some releases. If the partition is not listed in
/etc/fstab, then you will likely need to tell it the partition type. I've used this from a Linux CD to recover a partition Windows wouldn't boot from.
Based on the comments below, the actual fixing is done by the
ntfsfix program. It should be available, even if there is no program to run a
fsck on and NTFS file system.
Unfortunately the ntfsfix tool is very limited compared to Microsoft's chkdsk. Try to get a Windows install going - preferably with the newest version of Windows as Microsoft is presumably constantly improving chkdsk (I hope..) New versions of Windows are often available for free as trials. If the problem is in a USB disk you can try installing Windows in something like VirtualBox and give the VM control of the USB device.
If you have NTFSProgs installed, you should be able to run
fsck -t ntfs to fsck an NTFS drive.
ln -s /bin/ntfsfix /sbin/fsck.ntfs
fsck /dev/sdg1 fsck from util-linux 2.21.2 Mounting volume... OK Processing of $MFT and $MFTMirr completed successfully. Checking the alternate boot sector... FIXED NTFS volume version is 3.1. NTFS partition /dev/sdg1 was processed successfully.
On fedora 22, there is another binary :
lrwxrwxrwx. 1 root root 13 May 22 22:13 /usr/sbin/fsck.ntfs -> ../bin/ntfsck
In my case, none of
ntfsfix could fix the issue of my external NTFS mobile disk.
I end up to boot into windows os, and use follow steps to fix the disk issue.
- Check the identifier of the bad disk. e.g
- Open the "cmd" terminal of windows.
chkdsk <disk>: /fto fix it.
<disk>is the identifier, e.g
chkdsk d: /f
- Then it would be fixed within seconds (For a disk of size 1Tb).
After years, finally I found something that windows can do easily, but linux can't ;)
@Update - vm solution
You can also create a windows vm (e.g win 7), then mount the mobile disk to windows vm, then you can also use
chkdsk to fix the disk, it's similar as boot into a windows machine.