Creating Bootloader For Dual Boot

Posted: April 9, 2011 in Helpful Techie Things, Something's Just Not Right, Here..

This post is in specific response to one of my readers, who is looking to dual boot Windows 7 and Debian Linux.  Here are the steps I used to set up the bootloader when I dual booted Windows 7 Starter and Meego Linux on my Acer netbook.

I followed these steps posted by ‘ecardinal’ (thank you!) in the Meego Linux forum who was doing the exact same dual boot install as I was.  Results may vary.  All I can say is that it worked for me.

  • ” Make sure you have a Windows Repair disk (not a backup or factory restore/recovery, see “http://windows.microsoft.com/en-US/windows7/Create-a-system-repair-disc”). You will need it later and you won’t be able to make one at that time unless you have a second Windows system! Since my netbook did not come with a built-in CD/DVD drive, I have installed it on a bootable thumb drive (“http://www.intowindows.com/how-to-repair-windows-7-from-usb-flash-drive-repair-without-installation-dvd-disc/”).
  • Get and install the EasyBCD utility from “neosmart.net”. This will let you easily add the Meego option to the Windows 7 bootloader and includes the very cool NeoGrub utility (more on this later).
  • Put the Meego image on a CD or USB drive (you may need to adjust your BIOS settings) and install Meego with the ‘unused space’ option. Reboot when it asks and it will go back into Meego and finish the install. Shut down when it has finished and shows the desktop (press the power button and choose ‘Turn off’).
    Boot from the Windows 7 Repair disc, select the “Startup Repair” option — nothing else! Reboot when it’s done and you should be back in Windows 7.
  • Start EasyBCD and click “Add New Entry”. Select the “NeoGrub” tab (NeoGrub is an offshoot of Grub4Dos). You can change the name of the new BCD entry if you want; click “Install”. (NOTE: Yes, there is a SYSLINUX option under the Linux tab in the EasyBCD 2.1 Beta, but this just gave me a “Boot Error” when I tried it.) When the NeoGrub install is finished click “Configure”. In the editor (Notepad) that starts up, add the following:

timeout 10
default 0
title Meego
root (hd0,3)
chainloader +1

Here’s what this means:

  • timeout 10 — the number of seconds to wait before booting (ten in this example). If this is the only additional OS besides windows, you can set this to zero and it will skip the menu.
  • default 0 — the default ‘title’ entry to boot, counting from zero.
  • title Meego — an arbitrary label.
  • root (hd0,3) — If you understand grub device partition numbering then you probably already know what goes here. For everyone else, this is a bit tricky so read carefully. This line tells the NeoGrub bootloader where to find the EXTLINUX boot partition installed along with Meego. Note that the numbering scheme is not the same as standard Linux device numbering (e.g., “/dev/hda2″). If you just want to guess, try (hd0,3). If it fails to boot try (hd0,4) because you might have a hidden ‘rescue’ partition. There is an reasonable way to guess at what goes here — but it might not always work, particularly if you have more than one disk or have previously messed with the partitions yourself. First, the disk number number after ‘hd’ and before the comma should probably be zero (unless you boot from a hard disk other than the first). To find the partition number (the number after the comma), in Windows click the Start button and in the “Search programs and files” box enter “diskmgmt.msc”. In the disk diagram for your hard disk (not the list on top!), look for a smallish partition (mine is 250MB) to the right of the “C:” drive. Find the partition number by counting from left to right, starting with one. In many stock Windows machines this will be 3 and in some it will be 4 (as in my case). If it does not work, Google “grub device partition number” and read the docs. You might need to experiment at the grub command line or boot with a different Linux (I like Puppy) and use something like gparted to determine your disk geometry.
  • chainloader +1 — this tells the bootloader to let the ‘root’ partition boot however it wants to. Trying to boot Meego directly with grub caused a kernel panic in mid-boot so I wanted a way to let Meego boot with EXTLINUX as designed. Using a chainloader allows Meego’s EXTLINUX do all the heavy lifting.
  • Restart (power off — don’t hibernate!) and you should see you shiny new Windows Boot menu including Meego.

PERSONAL NOTES:  (from Pariah)

I didn’t have a rescue disk..I have a rescue partition and that worked just fine.

You have to install the BCD utility on Windows before you continue.

Step 4 didn’t go quite that way.  I had to restart the computer a couple of times after installing Meego to get it to boot into Windows and then the rescue partition takes over.  This takes quite some time FYI.  Once back into Windows then you can run the Easy BCD.

I can’t remember if mine was hd0,3 or hd0,4..I do remember that I was wrong the first time and had to go back and redo it, no problem though.

About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s