Dual Booting Windows NT and Linux

Dual Booting Windows NT and Linux is not very hard at all. All that it requires is a special utility called BOOT.EXE and a little know-how about the Windows NT boot manager. It is extraordinarily easy to setup Linux to boot with Windows NT and use the Linux boot manager instead of the Windows NT boot manager. However, most people only want to have to go through one boot manager when they start up their computer. Before you proceed you will need the following BOOT.EXE, a Red Hat Linux CD (I’m sure the procedure isn’t much different for other Linux flavors but I use Red Hat so I can’t write about specifically how to set this up with another Linux), Windows NT already installed, and finally a boot disk with some dos version of FDISK on it (if you can get your hands on a Windows 9x boot disk that would be great). NOTE: I have never tried this on a machine that did not have the boot manager in FAT or FAT 32 file system but I have been told that it works the same way with NTFS. The only change that must be made to the procedure is to restart under NT to copy the Linux mbr image from the disk to the c: drive and edit the boot.ini.

Step one. The first thing that you need to do is download BOOT.EXE from the link above and put it onto the boot disk. Also it is a good idea to put edit and attrib on the boot disk. (these are already on the Windows 9x boot disks).

Step two. Boot your computer on the boot disk and make a backup of the Windows NT mbr by typing boot /r /drive:0 mbr A:\mbr.nt.

Step three. Now that you’re sure your boot disk works and that the fdisk.exe on the boot disk works, feel free to reboot your computer with the Red Hat Linux install disk in.

Step four. It really doesn’t matter how or what components of Red Hat that you install, all that matters is at the end when it asks you to setup LILO you have to do it. Setting up LILO is fairly simple, it will want to boot Windows NT with the name dos but just leave that there because you won’t ever be using that method to boot Windows NT. Also make sure that you tell LILO to put itself on the master boot record. This is the default option, please do not change it.

Step five. When you reboot your computer you should see something that says “LILO boot: ” at this prompt simply strike enter because Linux should be setup as the default boot option. Now you are going to change LILO so that it won’t make you wait 30 seconds before booting Linux. Go into Linux and type pico /etc/lilo.conf and find the line that says timeout=50 (or some other number) change it to say timeout=0 this will cause Linux to boot immediately when it is loaded from the NT boot manager. Save the changes to the file and run the command /sbin/lilo -v (note: you have to be on as root to run this command).

Step six. Reboot with the system with the boot disk in. At the A: prompt type the command boot /r /drive:0 mbr A:\mbr.lin.

Step seven. Copy the NT mbr back to the drive by typing boot /w /drive:0 mbr A:\mbr.nt (or using fdisk /mbr if you prefer) this will clean the MBR and in this case restore the NT boot manager.

Step eight. The final thing that you need to do is change the NT boot manger. If you are using NTFS you will have to go back into NT to do this, otherwise it is possible by using the bootdisk. First, copy the Linux mbr image (mbr.lin) to the C: drive. Then, go back to the A: prompt and type attrib -s -h -r c:\boot.ini. Next type edit c:\boot.ini and put in an menu option that says C:\MBR.LIN = “Linux” save the changes and close the file. Then type attrib +s +h +r c:\boot.ini and reboot the computer.

That’s it, now you have the power of Linux and the compatibility of Windows NT all on the same computer.