Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

To my understanding, an MBR on a single device (i.e. hard drive) outlines the primary partitions on that device as well as provides code that can be injected into it that points to the boot loader for the OS.

Is this understanding more or less accurate? Is it possible to have more than one MBR in a system (1 for each hard drive)? If so, how does the CMOS/BIOS determine which MBR to use (I'm assuming this is where the hard disk priority list comes in under CMOS configuration)?

I'm trying to understand this because I want to install Ubuntu, and last time I tried this, even though I told GRUB to install to a separate device from the one containing my Windows installation, my Windows MBR got corrupted and I could not boot windows.

share|improve this question
up vote 3 down vote accepted

Yeah, MBRs are kind of tricky.. Because there's a lot of legacy conventions layered up that make up the current situation.

Your BIOS will finish POSTing and then load whatever is stored in a part of your MBR in to memory and tell the processor to execute whatever was there. It's a reserved, very specifically defined region. The MBR installed to the root of your hard drive is what your machine is going to boot. Nice modern boot loaders can observe bootloader code stored at the start of partitions as well, so then you can chainload those.

For Windows Vista or 7 users, I find EasyBCD extremely helpful for navigating boot loader woes. I also really love SuperGrubDisk (SGD) for helping me boot systems I've screwed up.

Anyway, there's more to this than I know, but that should help a bit..

share|improve this answer

Your understanding is pretty much correct.

It is possible to have more than one MBR in a system if you have more than one hard drive... the system simply chooses it via the hard drive boot order that you set in the BIOS (or EFI).

As for corrupting last time... You may be getting the MBR muddled up with the Windows Boot Loader. Can't say for sure.

The real safe way / what I advise people to do if you have more than one hard drive and want to install multiple operating systems is to unplug the other drive whilst installing the second OS, then setup which ever boot loader you want and set the primary drive in the BIOS... or even safer, just set the primary as the main boot, and manually select the other (or unplug) when not using the other OS!

share|improve this answer

I would recommend just setting Ubuntu as your default OS, then using GRUB to boot from Windows, because that is what I did when I install Linux Mint alongside . If it actually is your MBR that is really screwed up, but you can access your first disk's files with Ubuntu.

I would suggest that you backup all your files, and use GParted to rewrite the partition table, then restore your files. If you take that path make sure you use a backup tool that can backup bootable systems. Only do that if you are absolutely sure it is the MBR and not he boot loader however.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .