Using Seven's Boot Manager to Boot Linux

From Wiki Adele Team
Jump to: navigation, search

How to use Windows Seven’s Boot Manager to boot Linux

If you want to dual boot Windows Seven and Linux using Windows Seven’s Boot Manager, please read on. I will assume that you already have installed Linux on your machine using GRUB as your boot loader.

Step 1 – Install GRUB on the Linux partition (outside the MBR)

As Windows Seven will replace the Master Boot Record (MBR) with its own, we need to relocate GRUB elsewhere by running grub-install with the Linux partition as a parameter.

  • On Linux, launch a Terminal with root privileges
  • Find the name of the partition Linux is installed on by running fdisk –l (the partition you’re looking for is the one whose system is Linux, can be something like /dev/sda1 or /dev/hda1. For the rest of this post, I’ll use /dev/sda1)
  • Install GRUB on the Linux partition by running : grub-install /dev/sda1

Step 2 – Get a copy of Linux boot sector

We will need to instruct Windows Boot Manager how to boot correctly Linux using Linux boot sector, which we will extract using dd.

  • On Linux, launch a Terminal with root privileges
  • Take a copy of Linux boot sector : dd if=/dev/sda1 of=/tmp/linux.bin bs=512 count=1
  • Copy linux.bin on a FAT formatted USB key or any storage accessible from Windows Seven

Step 3 – Install Windows Seven

Step 4 – Configure dual booting in Windows Seven

We will create an entry for GRUB in Windows Seven boot configuration data store using bcdedit.

  • On Windows Seven, launch a command prompt with administrative privileges (by right clicking on cmd and choosing Run as Administrator)
  • Copy Linux boot sector on the root of the Windows boot (active) partition, namely the one containing bootmgr. If you don’t know for sure you can use diskpart or diskmgmt.msc to find out which one it is.

Step 5 - Create an entry for GRUB

Tape command below on the prompt:

  • bcdedit /create /d “MY LINUX GRUB” /application BOOTSECTOR

Note: bcdedit will return an ID for this entry that we will call {LinuxID} below. You will need to replace {LinuxID} by the returned identifier in this step. An example of {LinuxID} is {81ed7925-47ee-11db-bd26-cbb4e160eb27}

  • bcdedit /set {LinuxID} device partition=C: ( Specify which device hosts a copy of the Linux boot sector)
  • bcdedit /set {LinuxID} PATH \linux.bin ( Specify the path to a copy of the Linux boot sector)
  • bcdedit /displayorder {LinuxID} /addlast (Add Linux entry to the displayed menu at boot time)
  • bcdedit /timeout 10 (Let the menu be displayed 10 seconds to allow for OS selection)

Source :