MBR AWOL?

Status
Not open for further replies.
Joined
Jun 15, 2003
Messages
40,476
Location
ME
Several years old mongrel running XP and ubuntu dual boot, off a 60GB primary with one NTFS partition and an 80GB with the linux partitions and a couple FAT32s for sharing data.

Out of the blue, didn't come up with the boot loader and instead complained about a missing hal.dll.

Does boot a ubuntu 9.04 live CD. Start of CD lets me boot off the first hard drive, which then brings up my "old" boot loader that then chose and ran ubuntu and XP perfectly.

Tried "fixing" grub and writing to the MBR, no dice. Tried installing my 9.04 over 8.something in the same partitions, ditto.

Don't really want to use XP's "fixmbr" as it will lose linux but it appears I could get that back fairly easily.

All my stuff is backed up so I guess I don't care if everything gets reinstalled. Or even if I have to chuck one of my two hard drives
39.gif
But my XP is a hack; had to replace my e-machines mobo and the restore discs don't like the odd BIOS; have to install it wrong once then install it "correctly" with the license key off the back.

Am also at the stage where if I'm going to take a day to reinstall XP twice, I may as well get a faster, SATA drive. Where I might as well get a new mobo. Etc.
wink.gif
 
Smells a lot like a hard drive that's beginning to go south. If you can boot into ubuntu, you can try using smartmontools to query the suspect drive and see if the error count is unacceptably high.

sudo smartctl -a /dev/hda

or if you've got a SATA drive:

sudo smartctl -a -d ata /dev/sda

Best,
 
If I read you post correctly, grub doesn't come up even though you reinstalled grub?

If this is the case then it sounds like the MBR got corrupted. You can use "dd" to point MBR to the parition where grub is installed.

dd if=/dev/zero of=/dev/hda [censored]=446 count=1

first 446 bytes is exc code.
447-512 contain parition info.

After the above reinstall grub if necessary.

It's also possible that the parition info got corrupted, if that's the case the easiest way would be to slightly resize the paritions using gparted so that it re-writes the 447-512 info.
 
Status
Not open for further replies.
Back
Top