I have a Lenovo x220 laptop which I dual boot between Win7 and Ubuntu. I've been running it like this for about two years, and recently upgraded Ubuntu from 14.04 to 16.04.5 about two weeks ago, without any major issues.
The problem started after hibernating Windows. The last time I tried to boot into Windows after hibernating it just kept rebooting to the bios screen. So I booted into Ubuntu on the other partition and tried mounting the NTFS partition, and got the error message in the title. I accessed the SMART data via the disks
app, and it says the drive is physically OK and correctly reads the disk partition structure.
Running ntfsfix
gave the following results:
~$ sudo ntfsfix /dev/sda2
Mounting volume... MFT is corrupt, cannot read its unmapped extent record 19
Note : chkdsk cannot fix this, try ntfsfix
Inode is corrupt (0): Input/output error
Failed to load runlist for $MFT/$DATA.
highest_vcn = 0x3, last_vcn - 1 = 0x1023f
Failed to load $MFT: Input/output error
FAILED
Attempting to correct errors... MFT is corrupt, cannot read its unmapped extent record 19
Note : chkdsk cannot fix this, try ntfsfix
Inode is corrupt (0): Input/output error
Failed to load runlist for $MFT/$DATA.
highest_vcn = 0x3, last_vcn - 1 = 0x1023f
Failed to load $MFT: Input/output error
FAILED
Failed to startup volume: Input/output error
Checking for self-located MFT segment... OK
MFT is corrupt, cannot read its unmapped extent record 19
Note : chkdsk cannot fix this, try ntfsfix
Inode is corrupt (0): Input/output error
Failed to load runlist for $MFT/$DATA.
highest_vcn = 0x3, last_vcn - 1 = 0x1023f
Failed to load $MFT: Input/output error
Volume is corrupt. You should run chkdsk.
So I ran TestDisk:
TestDisk 7.0, Data Recovery Utility, April 2015
Christophe GRENIER <[email protected]>
http://www.cgsecurity.org
Disk /dev/sda - 320 GB / 298 GiB - CHS 38913 255 63
Partition Start End Size in sectors
> 1 * HPFS - NTFS 0 32 33 12 223 19 204800
2 P HPFS - NTFS 12 223 20 21464 73 49 344616960
3 E extended 21464 106 17 38913 70 5 280315906
5 L Linux 21464 106 19 37883 218 31 263778304
X extended 37883 218 32 38913 70 5 16537600
6 L Linux Swap 37883 251 1 38913 70 5 16535552
The first partition is a small 100 MB boot partition. The problematic one, where Win7 is installed is the second partition. However, TestDisk says that the boot sector on the partition is OK:
Disk /dev/sda - 320 GB / 298 GiB - CHS 38913 255 63
Partition Start End Size in sectors
2 P HPFS - NTFS 12 223 20 21464 73 49 344616960
Boot sector
Status: OK
Backup boot sector
Status: OK
Sectors are identical.
A valid NTFS Boot sector must be present in order to access
any data; even if the partition is not bootable.
However, if I choose List to try and list the files I get:
2 P HPFS - NTFS 12 223 20 21464 73 49 344616960
Can't open filesystem. Filesystem seems damaged.
If I choose Repair MFT I get:
MFT and MFT mirror are bad. Failed to repair them.
As to why this happened, I'm thinking that it may have been the result of using TestDisk 7.1 Beta to restore some deleted files from the Linux partition and using the NTFS partition as the destination, while Windows was hibernated. It's the only thing I can think of...
So the question is, is there anything I can do?