Linux in General > Linux Tutorials & How To's

booting Linux from windows boot loader How to (Dual boot) -A

(1/4) > >>

Linux boot loader like GRUB and Lilo can virtually boot to any Operating System but we can also load linux from windoz boot loader. This how to describe how we can do that!

This will work if you have win2K or WinXP.It don't work on win98 and winME.

1. First install your win2K or winXP as usual.

2. Now install linux. During install when prompted, choose Lilo as bootloader and install it on first sector of linux root partition instead of MBR.(This all is asked during the installation of most Linux distributions).At the end of installation create Linux boot floppy so that we can boot linux for first time.

3.After installing the linux,  boot linux from the floppy which we have created during install.

4. Now log into Linux as root and find lilo.conf. It is situated in /etc.Edit /etc/lilo.conf. In the begenning find a entry
--- Code: ---boot=/dev/hda
--- End code ---
If this entry is not pointing towards your linux root partition then edit to do so. Here I am taking /dev/hda9 as your linux root partition. So now entry should look like.
--- Code: ---boots=/dev/hda9
--- End code ---
If you don't remeber where is your Linux root partition then see the entry "image" containing the entry "root" which tells the root partition like below

--- Code: ---root=/dev/hda9
--- End code ---

5. Now execute lilo by giving the followinbg command so that it can write boot record to /dev/hda9

--- Code: ---lilo
--- End code ---
If you see any errors here ignore those because it is not going to harm our main MBR.

6. Here we have created the boot sector now we have to copy this to file so that windoz boot loader can refer to it.

--- Code: ---cd
dd if=/dev/hda9 bs=512 count=1 of=bootsect.lnx
--- End code ---

7. Now we have created the file of linux boot sector. Copy this file to windows C:\ drive so that windoz boot loader can read it.You can do this by copying this file in a floppy then to c:\ drive if u don't have access to windoz partition from LInux.

--- Code: ---mcopy bootsect.lnx /mnt/floppy
--- End code ---
If you have access to windoz partition from Linux. (Here I am assuming that windoz C:\ drive is accessible under /mn/windows/C)

--- Code: ---mcopy bootsect.lnx /mnt/C
--- End code ---

8. After copying start windoz and write the following line to boot.ini found on C:\ of windoz.

--- Code: ---C:\bootsect.lnx="GNU/Linux"
--- End code ---

Finished in eight Steps.

Next time when u start the computer you should see the choice to boot to windoz or LINUX.

Hi, first of all I would like to thank you for contributing how-to's so that newbies on Linux like me can learn y take as reference. I followed your steps and didn't work.

My linux is pointing to hda6
I noticed when I am in step 5 and executed:

I get the following errors:

Warning: device 0x0306 exceeds 1024 cylinder limit
Fatal: sector 83909106 too large for linear mode (try 'lba32' instead)

then when I go to step 6

where I execute:

I noticed that when I edited bootsect.lnx, the file was somewhat empty but realized there where spaces because I can select up to 4 lines where I don't seem to see something.

Anyway ignored everything and copied the bootsect.lnx to floopy disk, then copied from disk to C:\ and edited my C:\boot.ini and rebooted. When asked to choose between WinXP, 2003 Server and GNU Linux and choose the last one, I get an error that windows xp couldn't load ntdlr and rebooted my computer.

What can possibly be the problem?

I'll appreciate any help.


--- Quote ---Hi, first of all I would like to thank you for contributing how-to's so that newbies on Linux like me can learn y take as reference.
--- End quote ---
Thank you! for that..

Now you have got every thing messed up.. but now..
first of all keep the linux boot disk handy
Secondly.. take the windows installation cd and load windows recovery console by booting your computer from installation  cd of winXP..
There it will ask for password of your windoz administrator  then run the following command !!

--- Code: ---fixboot
--- End code ---
--- Code: ---fixmbr
--- End code ---
Now windoz will load normally...
Now boot linux from linux boot disk ...
Open your /etc/lilo.conf and add following lines to it..

--- Code: ---lba32
--- End code ---

Now again follow the above steps...  but do not ever try to edit bootsect.lnx...
You will be fine...

Thank you! again, what I did was to replace the line:

--- Code: ---linear
--- End code ---


--- Code: ---lba32
--- End code ---

and followed everything and had no problems. Thank you! for everything. :)


I forget to tell u to remove the "linear" from lilo.conf..


[0] Message Index

[#] Next page

Go to full version