Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I hope someone can help - it would save me several hours if I do not have to fully reinstall my machine.

Here is a brief summary of what has happened

  • Whilst browsing the web, Windows 7 (Ultimate 64) flashed up the BSOD for 0.5 seconds and the computer immediately restarted.
  • After checking CD drives for bootable media, the BIOS reported "A disk read error has occurred" *(see note 1)
  • "Oh crumbs - my HDD has just died" I thought and popped in the windows install disk and rebooted.
  • After the computer has boted from the DVD and I selected my language, I chose the repair windows installation link.
  • A dialog is then shown that should list the windows installations that it can detect. This dialog was empty.
  • Before wiping and reinstalling, I thought I would check what was accessible from the windows command prompt. To my surprise, my system partition and all the other HDDs were accessible. So (thankfully) it's not a critical-HDD-innards-have-been-toasted problem. But obviously booting is a problem!
  • I then ran the Boot repair tool. It reported that it had fixed 1 problem (I think it said that it created a master boot record - but I must admit to not making a note of the message and I may be misremembering).
  • I rebooted - I got the same error from the BIOS ("A disk read error has occurred")
  • I booted from the install CD again. Now my windows installation IS detected and is shown in the dialog.
  • I ran the Boot repair tool again. It reports that there is nothing wrong! The operating system should boot up.
  • I ran chkdsk /F from the command prompt. No errors were found or fixed.
  • I ran Bootrec /ScanOs and it reported that there were "0 windows installations" detected - I am not sure if this is a good or a bad thing!

So now I am in the position where everything appears to be fine according to the repair tools but are obviously not!

A colleague suggested that I run Bootrec /FixMbr but according to the docs, this would only help if there was a MBR corruption issue - and then surely the boot repair tool would not be telling me that everything is fine!

I guess I basically want to know

  • Does anyone have a an idea as to what may have happened/is happening?
  • Is running Bootrec /FixMbr worth a shot - i.e. could I make matters worse/more complicated by running this.

Note 1: A couple of months ago I got this same error ("A disk read error has occurred") but it went away after 2 or three restarts.

share|improve this question
    
See the backup and rebuild commands in the "Bootrec.exe options" section of this document...support.microsoft.com/kb/927392 –  Moab Sep 21 '11 at 15:20
    
All said, I think you are better off to back up your data, then zero fill the drive then run a diagnostic in it before a clean install of the OS. –  Moab Sep 21 '11 at 15:22
    
Yeah - a reinstall is on the cards. All my important data (i.e. pictures of the family) is backed up so I am not too stressed. Preferably I would like to fire up the old OS just long enough to make a full system backup and restore (on to a fresh HDD) from that. That way I should not lose any stuff (like preferences, browser history etc. etc.) A full reinstall of OS, Office, Visual Studio, SQL (bla bla bla) takes hours. –  Chris F Sep 21 '11 at 16:30
add comment

2 Answers

The message

A disk read error occurred.
Press Ctrl+Alt+Del to restart.
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, or subsequent reads of the MFT and root directory for finding the MS Boot Manager image, 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, 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.

share|improve this answer
    
Tks for the reply. If I am reading it right, it is either the VBR was created by Vista (which this computer has never had installed) or it fails reading sectors 1-16. So the most likely cause is a bad value in the hidden sectors of the BIOS parameter block. But if that were the case, wouldn't the entire disk be unreadable by windows - i.e. I would not be able to see the files whilst browsing from the command prompt? And if a corrupt BIOS param block is the problem - would following the steps in the MS help link work - or is that advice strictly for the case where you have dual boot system. –  Chris F Sep 21 '11 at 14:52
    
Chris, if the Volume "Boot" Record is damaged it will interfere with booting but not reading, as I understand it. –  CarlF Sep 21 '11 at 16:13
    
I did write, twice, that an honest-to-goodness hardware fault is the most probable reason. ☺ CarlF is right about incorrect values in the "hidden sectors" field of the BPB. It is the bootstrap programs that use this, not really the operating systems proper. –  JdeBP Sep 21 '11 at 16:35
add comment

Thanks to JdeBP for his imformative answer.

However, bootrec /FixBoot sorted out the issue for me.

(Link to bootrec docs as provided by Moab)

I am typing this whilst creating a system image. I will restore to a new drive when it arrives.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.