Question About "Fixing A Broken MBR".

#1
Hi Computer Guru, and thanks for writing the guide on fixing a broken MBR. While I have not yet attempted to follow the steps in the guide, I may do so depending on what you can tell me about my specific problem.

To make a long story short, I encountered a boot problem on my Ubuntu-only machine which required me to manipulate partitions on the hard drive. Ever since I performed these partition operations, the hard drive simply refuses to boot from the MBR even though I've tried rewriting Grub to it about 25 times! I have even read the contents of the MBR into a file and I can see that Grub is successfully writing to it; however, every time I try to boot from the HDD my BIOS throws this error:

DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER

I know it's not a BIOS issue because I can throw in my old HDD (containing Ubuntu with Grub installed to the MBR) in the same cable/jumper position and it boots up just fine. Further, I can start Grub from a floppy or from a LiveCD, and it will boot Ubuntu just fine when I direct it to the proper configfile on the hard drive. My thinking is that the partition operations I performed caused the problem with the MBR. To give more detail, I used GParted from an Ubuntu LiveCD to perform these operations, which included copying a partition from the beginning of the drive to the end of the drive, deleting the original parition, and creating a new small partition in its place at the beginning of the drive. I'm thinking that GParted wrote the partition table information incorrectly, or somehow overwrote part of the MBR during these operations.

Anyhow, in your guide you state that the error message that I'm receiving from the BIOS when it tries to boot from the HDD is due to screwed up partition table data, and that the solution is to rebuild the partition data. You go on to say that your guide is not intended for these types of problems. In my case, do you think your guide applies? If not, how would I go about rebuilding the partition table data if I don't have a copy stored anywhere?

Any help you could provide would be greatly appreciated.
 

mqudsi

Mostly Harmless
Staff member
#2
Hi!

First, welcome to NeoSmart Technologies..

As for your problem, grab a (preferrably) Windows 2000 or Windows XP CD, boot from it, and at the first prompt press 'R' to use the Recovery Console.

In the RC type
Code:
fixmbr
fixboot
fixmbr
and restart. Then install GRUB, it should work :smile:
 
#3
Thanks, I tried this and FIXBOOT would not work. It returned the following error:

"FIXBOOT cannot find the system drive, or the drive specified is not valid"

I tried multiple times to do:

FIXMBR
FIXBOOT


UPDATE: I had given up and decided that I was going to write zeros to the drive, so I created a bootable floppy with the Western Digital Diagnostics for DOS. The program cannot even start! It returns an unknown error and suggests that I contact technical support. I think the drive is really messed up.

But FIXBOOT just won't work. I tried reinstalling Grub anyway, but I get the same "DISK BOOT FAILURE" message upon reboot.
 

mqudsi

Mostly Harmless
Staff member
#4
Stick the drive in another computer and
Code:
chkdsk /f /r
it and see what comes up.
 
#5
Thanks. I was able to run the utility after switching the drive from primary slave to primary master position (weird, huh?). Anyhow, at that point I had given up and I wrote zeros to the entire drive and reinstalled Ubuntu. Imagine my disappointment when the same DISK BOOT FAILURE occurred after I reinstalled Ubuntu.

At this point I started suspecting the BIOS again, so I took the drive out, connected it to a different machine, and low and behold it booted just fine. I think the BIOS is having problems with the new partition table in the MBR (the problem started as soon as I added the /boot partition at the beginning of the disk, and persists after I recreated all the partitions when installing Ubuntu).

I don't seem to be able to find a compatible BIOS for this board (it's an Asus board that was in an HP machine), and the ones I tried from the HP site just caused their flashing utility to freeze as soon as the process started (luckily no harm seems to have been done). Anyhow, I'm just going to let this machine boot off of the Grub floppy. Maybe one day I'll actually find an updated BIOS for the board. Thanks for all of your help.
 

mqudsi

Mostly Harmless
Staff member
#6
You're mighty welcome, just sorry we couldn't help.

I don't think an updated BIOS will work, from the problem you describe it sounds more like your ROM chip is damaged or fried and won't accept an incoming flash.... unless:

In your BIOS do you have an "enable flash" option? Some of them have a no-flash lock so hackers can't get in..
 
#7
I didn't see such an option in the BIOS.

One more question for you though: Could this problem be circumvented if I installed an IDE controller card (PCI)? My thinking is that the controller card might have its own BIOS ROM... but I've never used one so I don't know how it interfaces with the mobo BIOS.
 

mqudsi

Mostly Harmless
Staff member
#8
KillrBuckeye said:
My thinking is that the controller card might have its own BIOS ROM... but I've never used one so I don't know how it interfaces with the mobo BIOS.
No, there is one BIOS and it's job is to interface with the IDE Controller's firmware... but that isn't what's giving you issues.

If a GRUB floppy does the trick I guess you're OK, since you'll never need more than that and GRUB can handle any OS you throw at it... and I'd hazard a guess and say you don't use Floppy for much else anyway (you shouldn't at any rate =P).

Good luck ^_^