Windows 7 - "A disk read error occured. Press Ctrl + Alt + Del to restart"

Solution 1:

As you're getting a new disk to reinstall Windows you can simply plug the old disk in a slave (or put it in an enclosure and use it as an external drive). Then depending on what's actually failing you might be able to get the data off.

Taking your three cases:

  • Hard disk failing. You might be able to read data off the drive before it fails completely. This is the worst case.
  • Corrupt MBR. As you are not booting from the disk any more you should be able to use it as a second drive. But you will want to copy all the data off as it could be indicative of a more serious problem.
  • Bad Sector. Again, you should be able to read the data off the drive- apart from in the bad sector, but a repair might fix it and you can carry on using the drive.

Solution 2:

This message is emitted by the Volume Boot Record of an NTFS volume formatted by Windows NT up to version 6.x. It isn't an MBR problem, because by the time that the error is generated, the MBR bootstrap code has successfully run, and loaded the VBR into memory and executed it.

The VBR code for NTFS generates this error message if its attempt to read sectors 1 to 16 of the volume into memory fails. That can fail for several reasons, more on volumes formatted with Windows NT version 5.1 and earlier than on volumes formatted with Windows 6.0 and later. (Some code was removed from the NTFS VBR bootstrap in Windows NT 6.0.)

The most prominent reason, after an honest-to-goodness hardware fault as mentioned in the question and in other answers, is an incorrect value in the "hidden sectors" field of the BIOS Parameter Block. This can be caused by a broken formatting program that didn't know that it is required to set this field correctly; or a broken partition management utility that didn't know that it is necessary to keep this field value in synch with the partition table for primary partitions when it moves them around.

A less probable reason still (a hardware fault being the most probable) is the use of Windows NT 6.x on a machine that doesn't support the Phoenix-Intel-Microsoft EDD firmware extensions to INT 13h. The code that was dropped from the Windows NT 6.0 VBR was the code to deal with the case that such extensions were not supported by the machine firmware. Since these extensions pre-dated the release of Windows NT 6.1 by some twelve years, it is unlikely to be the case that one is attempting to install Windows NT 6.1 on an old machine that does not have them. But the remote possibility that one is doing is another possible cause of this error message that should be mentioned for completeness.

Microsoft states that this error message will also appear when an NTFS system volume with Microsoft Boot Manager on it is incorrectly formatted with the Windows NT 5.x NTFS VBR instead of the Windows NT 6.x NTFS VBR, and provides step-by-step instructions for both restoring the correct version NTFS VBR and adding an {ntldr} option to the Microsoft Boot Manager menu to do what the older version NTFS VBR would have done directly.

Solution 3:

It is possible that this error can show up when your hard drive is perfectly fine, with no need to replace it or reinstall an OS (though imaging to a new drive might be advisable just in case). After multiple hours grappling with this same error on a system I support (Dell Vostro 220s with Windows 7 Enterprise), this solution worked for me:

Swap out the power supply

That was it - didn't make much sense, and I only tried that after testing MANY other things. This forum on the Dell site is what finally clued me in: http://en.community.dell.com/support-forums/desktop/f/3514/t/19450876.aspx?PageIndex=2 . I figured I'd try to save some other people the time it took me to hunt it down.

Solution 4:

In my particular case, I simply had to rearrange my boot priorities back to where they were.

I was partitioning a disk in the management console, and I accidentally clicked on "make this partition active" on the second drive. I thought to myself - "Aw, what the heck. It's not like it's set as the boot disk, anyway..."

Apparently, Windows (I use Windows 7) was kind enough to inform the BIOS of the "update", OR the BIOS somehow updated it itself (haven't seen it before, but the BIOS has a mouse pointer and all). In any case, it actually DID get set up as the boot drive.

The solution was to revert back to the previous setting, and the problem was gone. Took me a while to figure it out as I

  1. don't remember my boot order by heart,
  2. have been replacing drives (for reasons outside the scope of this answer) on-and-off for the past few months so I don't remember my HDD IDs, and
  3. fiddled with the partitions at least a week's length prior to this failure.

It all contributed to me not connecting the dots and not seeing the problem as obvious right away.

Hope this helps someone.