28
3
Is there a way to fsck/chkdsk an NTFS drive from Linux?
28
3
Is there a way to fsck/chkdsk an NTFS drive from Linux?
14
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.
9
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.
1maybe limited for some people, but it fixed my corrupted MFT just fine :-) [until the next time, perhaps! i'm not sure about this drive...] – underscore_d – 2015-11-05T23:22:51.983
UBCD has many qualities but I should not describe it as a Windows XP CD. – Graham Perrin – 2016-07-16T14:33:23.897
Hyper-V Server is a completely free (beer) but heavily cut-down version of Windows
that's designed for running VMs. The installer should contain all the usual utilities like chkdsk
/diskpart
, etc. – mwfearnley – 2019-12-04T13:22:29.000
1Or use Ultimate Boot CD for Windows. It's a live Windows XP CD with lots of recovery tools. That's how I solved my problem (corrupted NTFS partition). I tried using the ntfsck
program included in the Parted Magic live USB, but I got an error saying Boot sector: bad NTFS magic. Segmentation fault
. – dario_ramos – 2012-04-30T23:23:58.190
3
If you have NTFSProgs installed, you should be able to run fsck.ntfs
or fsck -t ntfs
to fsck an NTFS drive.
4Newer versions of Debian and Ubuntu don't have this symlink. You can make it yourself, but the problem is that ntfsfix
has a completely different set of arguments to the standard fsck
ones. It's better to make fsck.ntfs
(and fsck.ntfs-3
) a script containing exec ntfsfix ${@:$#}
(with a shebang of #!/bin/bash
). – Neil Mayhew – 2015-03-19T22:31:48.750
2Running Debian 6.0.3, just installed ntfsprogs, no fsck.ntfs installed, and when running fsck with -t ntfs, get "fsck.ntfs not found". So don't think the two are related. – Zayne S Halsall – 2011-12-17T15:00:53.213
3@ZayneSHalsall In Debian, it happens to be a symlink to ntfsfix
which is in ntfsprogs
. I guarantee you that you will be able to run ntfsfix
if ntfsprogs
installed properly. – squircle – 2011-12-27T05:51:53.520
2
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
1
In my case, none of fsck
& 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.
Steps:
g
chkdsk <disk>: /f
to fix it.<disk>
is the identifier, e.g chkdsk d: /f
After years, finally I found something that windows can do easily, but linux can't ;)
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.
1I'd recommend using flag /x
(unmount) for enforcing preventing access to the drive. Help manual says using /x
implies also /f
, so it helps for doing fixes the same way Linux does (fsck
requires drives being unmounted). – SonicARG – 2018-06-24T01:34:18.990
3I assume from the above comment that
fsck.ntfs
was at some point handled byntfsfix
. Comments on a lower post indicate this may not be workable now as their arguments are not compatible. Anyway, in Debian 8.2,fsck.ntfs
does not exist - butntfsfix
does and was able to fix a corrupted MFT I encountered. Thanks @SabreWolfy for the hint. – underscore_d – 2015-11-05T23:24:44.3378Although as noted in the man page for ntfsfix/fsck.ntfs, it is not a Linux version of chkdsk and only checks for certain kinds of obvious problems on the disk. – SabreWolfy – 2011-12-19T10:03:08.490