So, in my attempts to try to find some solutions for Evan, I ended up breaking my own computer.
So what did I screw up now and how did I do it?
WARNING: Technical article!
If I had to pick the single most important file on my computer, what would it be?
Easy, the master boot record (MBR). Now for you single-OS users, MBR means nothing, you don’t have to worry about it, because you won’t ever have to deal with it. However, I triple boot my laptop (XP/Vista/Ubuntu), and the MBR is mega important.
So what is the MBR?
The master boot record is a special file that the user cannot access directly from inside of an operating system (usually). The file is stored on a special place on the hard drive and cannot be accessed directly, it must be accessed with a program. It tells the computer which partitions are labeled what and what they contain. GRUB and LILO are two Unix examples of MBR programs.
So, what broke it?
I booted into XP for the first time for serious reasons in months. I have no use for Windows on my laptop, I can’t do games on it, I only use it for utility purposes, which there aren’t many of those. I was going to see if Thinkpads have a built in recovery application accessible through Windows. Turns out there is, and it’s located in
However, I went and looked at the support website and there was a new version of the program available, so I downloaded and attempted to install it. Now, the program installation failed, because it said there was already a previously existing entry.
Cool, I thought, the program already exists, I’ll just use it. Well, it turns out something is messed up and the program isn’t there or I suck at looking for it, or whatever. My point is, they don’t tell you they immediately attempt to change your MBR, and effectively SUPER broke it. I got fed up with working in a miserable OS and decided to reboot into Ubuntu.
That’s all my screen said…
Never seen that one before, I had no idea what had happened at the time, I was a bit scared. The computer wouldn’t do anything, pressing buttons did nothing but make the computer bleep and rebooting it, it still just said GRUB_ right after BIOS. Luckily, I knew what GRUB meant so I knew at least the root of the problem, there has to be something wrong with GRUB.
The problem is, I’ve never dealt with repairing or modifying a GRUB installation. After doing a bit of googling, I tried some of the suggestions about modifying some items into my menu.lst file.
Aha! I thought, I found it, while examining the menu.lst it looks like one of the Windows partitions had been set to be defaulted by boot, and it doesn’t have the TRUE MBR, so it wouldn’t work. So I took off the
option, not realizing that wouldn’t do a damn thing. After four random edits of my menu.lst and rebooting into
I actually went into panic mode. All of a sudden, my thoughts started racing, I suddenly got a headache and aching in my legs and felt tremendous mental stress, like the world was collapsing on top of me. All of my Java projects (including my current one) were on here and I need it several hours!
I’ve never actually felt like I can’t fix a problem, because I normally have an editor of some type or a working OS to manipulate to make things happen.
All I had now was an Ubuntu LiveCD and a lack of knowledge. Luckily, I also had my Macintosh, which is a brilliant machine in perfect working condition. Utilizing it, I did some research into the problem. The suggestions I found seemed viable, and from what little experience I had from dealing with the previous problem I had (see my last screw up), I knew at least how to do it.
Now granted, when I first tried this, I had screwed up and didn’t really know it, in the LiveCD, I had mounted the partitions that had Ubuntu on it and it was currently in use and couldn’t be
So the only way this works, is if you have absolutely NO hard drives mounted, and you’re using the LiveCD only.
GRUB is working in the LiveCD, becuase without it, the CD would be worthless. So now I needed to use that to my advantage.
From the LiveCD desktop, I opened up a terminal and started the easiest and quickest repair ever.
grub> find /boot/grub/stage 1
That’s it… just a couple of commands and I was done. I’ll quickly explain what they mean.
Gets you into the GRUB terminal, from here you can access functions of GRUB.
This will find the stage1 file and tell you what partition is the root partition, or the partition that has the primary OS installed on it and is returned in the format…
The format is HardDrive(whichHardDriveNumber, whatNumberPartition). In this case it’s hd(0,3), which indicates it’s the first hard drive (computers don’t start at one), and the fourth partition. In Unix terms, that would be /dev/sda4.
In order for GRUB to know what you want to do, you have to target a root drive first, and since you just requested the find command to tell you, you just flag that drive as root.
This is the command that really matters, it’s telling automagic (yes, that’s what it’s called) to read the drive, indicate partitions, generate a menu.lst, and install a fresh GRUB to the MBR.
So that’s it, I rebooted and everything is in perfect working order. I am typing this up from my fixed Ubuntu partition.