MY NTFS Partition has gotten corrupt somehow (it's a relic from the days when I had Windows installed).
I'm putting the debug output of fdisk and blkid here.
At the same time, any OS is unable to mount my root partition, which is located next to my NTFS partition. I'm not sure if this has anything to do with it, though. I get the following error while trying to mount my root partition (sda5)
mount: wrong fs type, bad option, bad superblock on /dev/sda5, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so
ubuntu@ubuntu:~$ dmesg | tail
[ 1019.726530] Descriptor sense data with sense descriptors (in hex):
[ 1019.726533] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
[ 1019.726551] 1a 3e ed 92
[ 1019.726558] sd 0:0:0:0: [sda] Add. Sense: Unrecovered read error - auto reallocate failed
[ 1019.726568] sd 0:0:0:0: [sda] CDB: Read(10): 28 00 1a 3e ed 40 00 01 00 00
[ 1019.726584] end_request: I/O error, dev sda, sector 440331666
[ 1019.726602] JBD: Failed to read block at offset 462
[ 1019.726609] ata1: EH complete
[ 1019.726612] JBD: recovery failed
[ 1019.726617] EXT4-fs (sda5): error loading journalWhen I open gparted (using live CD), I get an exclamation next to my NTFS drive which states
Is there a way to run chkdsk without using windows ?
My attempt to run fsck results in the following :
ubuntu@ubuntu:~$ sudo fsck /dev/sda
fsck from util-linux-ng 2.17.2
e2fsck 1.41.14 (22-Dec-2010)
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sda
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock: e2fsck -b 8193 <device>Update: I was able to fix the NTFS partition running chkdsk off Hiren's BootCD, but it seems that the superblock problem still remains.
Update 2: Fixed superblock issue using e2fsck -c /dev/sda5
12 Answers
NOTE: THIS ANSWER IS BOTH OUTDATED, AND NOT ADVISED IF YOU HAVE READ ERRORS.
Install ntfs-3g with sudo apt-get install ntfs-3g.
Then run the ntfsfix command on your NTFS partition.
For example:
ntfsfix /dev/hda6
ntfsfix v2.0.0 (libntfs 10:0:0)
Usage: ntfsfix [options] device
Attempt to fix an NTFS partition. -h, --help Display this help -V, --version Display version informationDevelopers' email address:
Linux NTFS homepage:
For newer Ubuntus You can use -b and -d option together. -b tries to fix bad clusters and -d to fix dirty states. So the command can be
sudo ntfsfix -b -d /dev/sda6--help shows them
ntfsfix v2015.3.14AR.1 (libntfs-3g)
Usage: ntfsfix [options] device Attempt to fix an NTFS partition. -b, --clear-bad-sectors Clear the bad sector list -d, --clear-dirty Clear the volume dirty flag -h, --help Display this help -n, --no-action Do not write anything -V, --version Display version information 16 I've just fixed my USB drive using "testdisk", a Linux command line (yet friendly) utility. My drive was not even mounting in Windows and Windows 8 discovered like 6 partitions (when the drive had only one).
To use the utility, install it:
sudo apt-get install testdiskThen run it:
sudo testdiskand follow the instructions. You must search for partitions and then write the changes.
Hope this help anyone.
1Just to clear some of your points up.
My attempt to run fsck results in the following :
ubuntu@ubuntu:~$ sudo fsck /dev/sda ... fsck.ext2: Bad magic number in super-block while trying to open /dev/sda
Now, thats not wonder, because you are trying to fsck the disk, and not its partition. What fsck does is, it tries to recognize the FS type. Because you have given it raw disk surface, it fails to recognize and resorts to default type - ext, calling fsck.ext.
fsck.ext does not find any FS signature in the location and tries to find superblocks. Ultimately it fails, because its disk with only NTFS partition type.
This is why you have this error.
The correct command would be:
sudo fsck /dev/sda1That would feed the FIRST partition of first sata hard drive, not the first sata disk itself.
2Your disk is toast. Check the SMART diagnostics in the disk utility to confirm; it should say you have a ton of bad sectors and need to replace the drive.
1I agree with @psusi: the disk needs replacing, see my comment under accepted answer. Doing an ntfsfix will not help at all, and just delays the essential action of:
- backing up all data on the disk ASAP
- replacing the disk with a new one
There's no need really to check the SMART diagnostics - they only pick up a percentage of errors anyway. The red flags are the two lines:
[ 1019.726558] sd 0:0:0:0: [sda] Add. Sense: **Unrecovered read error** - auto reallocate failed
[ 1019.726602] JBD: **Failed to read block** at offset 462As soon as a disk starts giving unrecoverable read errors (UREs), it should be replaced immediately and only used for data recovery. (An excessive level of non-UREs also indicates replacement is needed.)
Disks should be viewed as consumables that must be replaced every few years, hence having really good backups (automated, daily, complete, and at least to an external drive) is crucial.
4In Ubuntu 14.04 Just try this
sudo ntfsfix /dev/sdXYWhere XY is your partition. (/dev/sda2 in your case)
fsck and gparted apps cannot be used to fix a problem with a ntfs partition. ntfsfix should not be used to try and fix this problem.
Windows tools should normally be used. However, chkdsk is not helping here.
You might try using testdisk from the Ubuntu OS.
sudo apt-get update # update the software databases
sudo apt-get install testdisk # install testdisk
sudo testdisk # start testdisk
Go to for help in using this tool.
2As the other answers have said, in this case it's probably a bad disk..
But for the benefit of others facing actual NTFS corruption - 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..) Newer 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.
Unfortunately the free tools available on Linux are very limited with regards to fixing NTFS partitions.
Most likely you can still recover your data by using the secondary MFT stored at the end of the disk. It is usually not used, but it should contain an up-to-date version of your directory structure. There is a good chance it was not affected by the disk errors.
In the past, I have used Runtime Software's (commercial, 79$) product GetDataBack NTFS with great success for this. It is one of the few NTFS tools (the only?) that runs in WINE and as a Linux LiveCD, and the free demo should be enough to see if your data is still there. If it is, your data might just be worth buying the tool.
The LiveCD runs Knoppix Linux and has all their tools preinstalled. Note that you'll still need a license key to actually use the tools, but it should be enough to see if it works on your computer.
Disclaimer: I have no affiliation with Runtime software other than having bought their product a few years ago.
1As of 15Jul2020, there is no option to check filesystem integrity of a Hard disk formatted as NTFS under Linux.
What I did?
- I downloaded the free trial of Windows Enterprise as ISO
sudo apt-get remove Virtualbox virtualbox-dkms virtualbox*- Install the latest Virtualbox from here
- Download the matched version of Virtualbox extpack
- Add to disk group, me, as user, due to access deny hard disk error
sudo usermod -a -G disk $USERsudo usermod -a -G vboxusers $USER
- Run
sudo /sbin/vboxconfig - Run VirtualBox, and add Virtualbox extpack at File -> Preferences -> Extentions
- Restart your Computer
- Create a link to your physical Hard Disk which is NTFS (either usb or not) using
VBoxManage internalcommands createrawvmdk -filename "</path/to/file>.vmdk" -rawdisk /dev/sdX - Create Machine -> New -> Windows 10 (64bit) (whatever match) -> Create a Virtual Disk
- Attach the Downloaded Windows Enterprise Free trial ISO image
- At your newly created Virtual Windows Image --> preferences -> Storage -> attach the vmdk image of your ntfs hdd
- It may fail. Dont worry. To me failed too. I refer to it, because I found it. It may work for you.
- Go to Virtual Windows Image --> preferences -> USB, check USB 3, add your NTFS HDD
- Run your Virtual "Windows Enterprize Free Trial" machine.
- Click Continue, Repair your computer (at left down side), Troubleshooting, Run Command Prompt
- Go to your disk by writing eg. C:
- Check that it is your disk somehow eg. dir
- Run chkdsk /f when you are on your disk
This process fixed my NTFS filesystem that it was fault. I hope it helpt you too.
If you find any easier solution, only under Linux, please post it.
UPDATE: After fixing NTFS, i formatted to Ext4, entire disk. Bye bye NTFS problem. As I read, it does not need defragmation as NTFS.
1This answer will probably just work for 10.04 (lucid) and later versions of Ubuntu!
Try sudo ntfsfix -b /dev/sda2.
You need ntfs-3g
installed. If you don't have it, you can install it in the Software Center by clicking that link, or from the Terminal (Ctrl+Alt+T) by running these commands:
sudo apt-get update sudo apt-get install ntfs-3g
I just had the same problem on a 3TB NTFS USB. Big drama, as you can imagine.
I first tried to fix it on my wife's Windows box. No joy.
sudo ntfsfix /dev/sdcx extremely quickly fixed it.
Hooray! Back in business. Really must get a new disk and promptly re-format it to a proper, adult filesystem.
1