Don’t unplug your boot drive before installing a new OS! Please!

Please, please, we beg you, don’t do it! Even if it seems logical, like it’s the right thing to do, we urge you not to change the boot/primary drive, or otherwise disconnect other drives when installing another OS!

Seriously, we had no idea so many people engaged in this activity until EasyBCD started spreading like wild fire. Here’s a fact for you: 95% of all support requests for EasyBCD in our forums come as a direct result of users disconnecting their Windows Vista/XP drive before installing Linux, Vista, BSD, OS X, Windows 2000, XP, etc. It’s one thing to reinstall the bootloader when you’re done, and quite another to have to recreate the required boot files to make them point the right drive/partition combo.

Here’s what happens when you install an OS normally: One of the first things it does is copy its bootloader over to the MBR of your primary hard-drive. If it’s Windows you’re installing, it’ll kill the MBR without even asking, rendering your other operating systems (if they exist) unable to boot from their own bootloader. It’ll then copy its own files over, set up the OS, and if it recognizes and supports the old operating systems, it’ll add them to its bootloader.

That’s why it’s recommended to install operating systems from oldest to newest; that way the newer one will (almost) always recognize and list the old operating systems. But when you install them in reverse-release order, the old OS doesn’t recognize the new one, and therefore won’t/can’t add boot support for it. But that’s OK, it’s easy to fix!

When you disconnect the drive before you install an OS in order to “avoid” these issues, you’re creating a bigger problem! Because when you recreate your old drive again, you won’t be able to boot into one of the operating systems, and in this case, it’s a hell of a lot harder to get it working again. The reason? Well, the MBR has remained intact, and you have indeed avoided the first issue. But now, when you try to add the newly-installed OS to your bootloader, it’ll call its (the second one’s) boot files – which point to the drive/partition numbers as they were with the first drive disconnected!

What happens in this case is, it’ll call the old bootloader (via a process known as “chainloading”) just to find out that the drives, partitions, files, and everything else that the old bootloader was configured to use are no longer present at that location! Since you “added” the primary drive back, you’ve shifted all the drive numbers by 1 (or more), and if you’re using RAID, it’s a lot more complicated than that.

So what’s the solution? Well, provided you haven’t already disconnected a drive to install another OS, then just go ahead and install the second OS to the drive & partition of your choice. Then simple boot into that OS, run EasyBCD and choose to reinstall the appropriate bootloader you need. You don’t even have to use EasyBCD, just run the necessary tools (like fixmbr or grub-install) for your specific OS, and you’re done.

At that point, all what’s left is for you to add a reference to the new OS by adding a line to boot.ini, an entry to EasyBCD, or a listing to menu.lst depending on what system/config you’re using. Of course all of this can be avoided by installing operating systems in chronological release order, but then again, what’s life without the headaches?

But if you did disconnect the drive, you’re going to have to re-create the boot files for the new OS by hand, whether its going through boot.ini fixing all references to drive and partition numbers or if its having to re-initialize the BCD and reinstall it from scratch. Your best bet is to just plug that drive back in and repair reinstall the OS once more, letting it take care of the details.

So please, the next time you have that itch to install a second OS, put logic aside for a minute and resist all temptations to disconnect a drive or change the boot order in the BIOS – it’s not worth the headache, believe us.

Leave a Reply

Your email address will not be published.