Dual boot Windows and Linux

By | 2011-02-20

The internet is full of technical articles, many of which are way too complicated for the average computer user who just wants to solve a simple problem.  If you pay close attention, the internet is also a place where the “gurus” spend a lot of time yelling for help in discussion boards and forums.

So don’t feel bad, nobody has all the answers.

So you want to dual boot Windows and Linux on the same computer – it is really quite easy.  I only have enough room here to tell you the most common way to do this on a single hard drive or using multiple hard drives.  Obviously then, there are many ways to get the job done, but there are some critical things you should know.  Let’s start with some critical information.

Windows and Linux: Same Hard Drive

The windows operating system MUST occupy the master boot record (MBR).  Linux, on the other hand does not have to.  In this scenario, you must install windows first!  After Windows has been successfully installed, then you can install Linux.  This is critical!  The Linux “boot loader” is called GRUB.  When you install Linux MAKE SURE YOU DO NOT INSTALL THE LINUX BOOT LOADER TO THE MBR.

Configure the Windows Boot Loader: A Two Step Process

It is also possible to use GRUB to dual boot Windows and Linux on the same drive but this is a bit more complex the Windows boot loader will get the job done.  In the following commands, you will create a copy of the Linux boot sector and then save it in a file in the top level directory under Windows (C:).

Step 1: Linux

From the shell in your Linux installation (boot from your installation disks):

Execute the following shell command, replacing /dev/hda3 with the location of your Linux boot partition.

shell# dd if=/dev/hda3 of=/bootsect.lnx bs=512 count=1

Copy the new file bootsect.lnx to a floppy disk and reboot to Windows.

Step 2: Windows

Copy bootsect.lnx to C: in Windows.  Then execute the following command at the DOS prompt.

C:> attrib -H -R -S boot.ini

Edit boot.ini so that the first two lines are:

[boot loader]
timeout=30

After the last line, add:

c:bootsect.lnx="Start Linux"

That’s it, you are done!  Reboot your machine and you will see a menu allowing you to select either Windows or Linux.  Congratulations.

Windows and Linux: Two Hard Drives

This is also quite easy.  In this case, you will boot to the Linux drive.  We will add Windows to the Linux boot loader (i.e., GRUB).  GRUB is my favorite boot loader.

Edit the /boot/grub/grub.conf file.  One of the very first lines should contain:

timeout=30

After the last line add:

title Start Windows
map (hd1) (hd0)
map (hd0) (hd1)
rootnoverify (hd1,0)
makeactive
chainloader +1

Reboot your machine to the Linux drive and you will see a menu allowing you to select between Linux or Windows.  Nice work!

Author: dwirch

Derek Wirch is a seasoned IT professional with an impressive career dating back to 1986. He brings a wealth of knowledge and hands-on experience that is invaluable to those embarking on their journey in the tech industry.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.