Windows – NTFS partition broke: Won’t mount in Linux & Windows won’t boot

fdiskntfswindows

When I try to mount my NTFS partition containing windows in Linux, I get this:

~$ sudo mount -a
ntfs_mst_post_read_fixup: magic: 0x61227b5b  size: 4096  usa_ofs: 24420  usa_count: 25965: Ongeldig argument
Actual VCN (0x65222c2231223a22) of index buffer is different from expected VCN (0x5).
Failed to mount '/dev/sda2': Invoer-/uitvoerfout
NTFS is either inconsistent, or there is a hardware fault, or it's a
SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows twice. The usage of the /f parameter is very
important! If the device is a SoftRAID/FakeRAID then first activate
it and mount a different device under the /dev/mapper/ directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation
for more details.

I tried to fix it using the ntfsprogs

$ sudo ntfsfix /dev/sda2
Mounting volume... FAILED
Attempting to correct errors... 
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Remount failed: Input/output error.

But that did nothing, as you can see.
Windows 7 also won't boot any more: I just get a black screen.

Here's my fdisk output. The partition is /dev/sda2, which is also bootable.

$ sudo fdisk -l

Schijf /dev/sda: 1000.2 GB, 1000204886016 bytes
255 koppen, 63 sectoren/spoor, 121601 cilinders
Eenheid = cilinders van 16065 * 512 = 8225280 bytes
Sectorgrootte (logischl/fysiek): 512 bytes / 512 bytes
in-/uitvoergrootte (minimaal/optimaal): 512 bytes / 512 bytes
Schijf-ID: 0x000dd7a1

 Apparaat Opstart   Begin       Einde     Blokken   ID  Systeem
/dev/sda1               2      109279   877775535    5  Uitgebreid
/dev/sda2   *      109280      121601    98976465    7  HPFS/NTFS
/dev/sda5               2      109279   877775503+  83  Linux

Best Answer

In the first case run chkdsk /f on Windows then reboot into Windows twice. The usage of the /f parameter is very important!

The first output you mentioned contains the correct fix. You can run chkdsk from the Windows installation media if you can't boot into windows proper anymore.

XP media howto

Vista W7 media howto

Related Question