NT/Win2k & Linux

The NT OS loader likes to have the boot sector from the other operating systems available as a file. It reads this file and starts the operating system selected, i.e. either Windows NT/2k in different modes or any other OS.

If you want to use NTFS for your Windows NT-partition, keep in mind that the todays production version of Linux cannot safely write to NTFS partitions. You should create a separate FAT16 partition for data exchange or you have to use DOS-formatted floppies. The way my drives are done is as follows: C: (hda1) = 150mb FAT16; D: (hda5)=3gb NTFS; (hda6)=3gb Linux native; (hda7)=100mb Linux swap; E: (hdb1)=1.5gb FAT16.

During the installation process, your distro may assume the NTFS partition to be a HPFS partition. This is normal. Just in case the installation procedure suggests that you could mount the HPFS partition which it has found: Ignore it. It won't work, and could lead to Bad Things(tm) happening.

When you come to the Lilo section of your Linux install, specify your Linux root partition as your boot device because the Master Boot Record (MBR) of your harddisk is owned by Windows NT/2k. This means that the root-entry and the boot-entry in your /etc/lilo.conf have the same value. If you cannot boot Windows NT after installing Linux and running Lilo, you have a problem. I hope you have created a ERD lately :).Be sure to make a boot disk during the install process, although this is slowly becoming unnecessary as more and more computers support bootable CD's.

Now you have to peel the bootsector from your Linux-root-partition. With /dev/hda2 as your Linux root partition, the dd-command is:
dd if=/dev/hda2 of=/root/bootsect.lnx bs=512 count=1
(note - something weird I happened a few times. NT Workstation 4 wouldn't boot the Linux install if the bootsector file didn't have a all caps name). Also, there is something wrong if your BOOTSECT.LNX has more than 512 bytes.

Now copy the file BOOTSECT.LNX to the root of your small dos partition (where boot.ini for NT is) or to a floppy and then to where your boot.ini file is from within Win* if you are using NTFS.

Edit the boot.ini file. If you do this when you are in DOS or Windows remember that you need to attrib it so it is visible, not system, and writeable :). Add the following line to the end of boot.ini:
C:\BOOTSECT.LNX="Linux"
then put the attributes back the way you found them.

The next time you reboot your system, the NT bootloader will give you a extra special option: Linux!