| Projects | ||||
|---|---|---|---|---|
| Freevo | Mankala | MultiBoot | MySSH | TvTime |
Why Multiboot?
Many people have installed the multiboot features of the windows NT operating system, and then decide to also install linux and then they resort to using a floppy disk to get to their Linnux partition. I myself had done this. It frustated me that i could not Multiboot this OS loader so I ended up searching for many hours on the internet with Alta Vista and Microsoft's WWW site for any information on how to get NT to boot into other OS's or just how to add an entry for another OS.Which Files do I change?
The only two files that have to chage are your /etc/lilo.conf and the other would be your boot partition, which is where your boot.ini lives. NT calls this drice 'C:'. The boot.ini is a system file so it may not show up in your NT4.0 windows because you might have to have show all hidden files on from the explorer options menu..Where do I start?
The whole premise of this HowTo is that you are using NT Loader (3.51 or 4.0) and that you have Linux installed and you boot it from floppy(if you don't have linux installed yet, install it so it does boot from floppy).BEFORE YOU DO ANYTHING MAKE COPIES OF /ETC/LILO.CONF and BOOT.INI!!!!!
Okay what setup do you have?
Dos/Win95, Windows NT, and LinuxWindows NT, and Linux
To multiboot with a DOS/WIN95, NT, Linux setup
Editing lilo.conf
my lilo.conf:
boot=/dev/fd0
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz
label=linux
root=/dev/hdb2
append="hdc=cdrom"
read-only
The only lines that should be differnet from your lilo.conf before editing are my append line (got an IDE ATAPI CDROM that doesn't like to autodetect), and the first line with boot.The boot line is the one we are going to have to edit. My boot line writes to my 'c:' which is a msdos partition (Win95 partitions look the same as msdos to linux). What i do is mount my 'c:' to /dosc during startup. You do not have to do this but you have to remember to remount the drive in the same place whenever you remake your kernel, or change your lilo settings. what this line does is write a bootsector to a file on the 'c:' drive which will later be used by NT loader to start lilo and then lilo will start linux.
So again all you have to edit is the boot line. here are some simple steps to do that.
- make a copy of lilo.conf
- Mount your 'c:' drive into linux
- open lilo.conf in your favorite editor.
- edit the boot line such that the bootsector gets written to the root of the 'c:' filesystem (in dos this is where autoexec.bat and config.sys live). In the sample lilo.conf that would be:
boot=/dev/fd0
- put a fresh new disk into the disk drive. run the /sbin/lilo command.
- now we are going to take the boot sector off of the floppy by typing:
dd if=/dev/fd0 of=/bootsect.red bs=512 count=1
- copy this to your mounted to your dos drive by doing:
cp /bootsect.red /dosc/bootsect.red
Editing the boot.ini file
My Boot.ini file:[boot loader] timeout=10 default=C:\ [operating systems] C:\ = "MS-DOS" C:\bootsect.red="RedHat Linux" multi(0)disk(0)rdisk(0)partition(2)\WINNT35="NT 4.00 [Safe mode]" /basevideo /sos multi(0)disk(0)rdisk(0)partition(2)\WINNT35="NT 4.00"As you can see from my boot file you only need to add one line. The Line which states where your bootsect file is. The other lines are your two Win NT loading options and then the either MSDOS or WIN95 booting option. Here are some steps to help you add that line to boot.ini:
- Load up NT (no way to do it from Linux)
- Open the 'c:' drive.
- Click and Drag to the options item in the format menu.
- turn on show all files.
- refresh/reopen the 'c:' window. You should see the boot.ini file.
- Open the properties of the boot.ini file. Click off the Read Only flag.
- Make your backup of the Boot.ini file
- open the boot.ini in a plain text editor (like notepad).
- add the following line in the same place as my boot.ini:
C:\bootsect.red="RedHat Linux"
The filename should be whatever you wrote your bootsector as from the dd copy. - reboot your machine
You should now have a fully functioning Multiboot menu
To multiboot with a Win NT, Linux setup
The boot.ini lives on the NTFS partiion that your winnt directory is on in the root directory. To multiboot with this you need to go to Linux and do the following:- Get a floppy and format it for MSDOS.
- make backup copy of /etc/lilo.conf
- mount the floppy disk to /mnt/floppy (if you have this mount point.)
- change the boot entry in your lilo.conf to:
boot=/dev/fd0 - run the lilo program to write out the file to disk
- now we are going to take the boot sector off of the floppy by typing:
dd if=/dev/fd0 of=/bootsect.red bs=512 count=1
- copy this to your mounted to your dos drive by doing:
cp /bootsect.red /mnt/floppy/bootsect.red
- Reboot and get into NT
- make a backup copy of boot.ini
- copy your bootsect.red from the disk to the root directory
- take the readonly attribute of the boot.ini file.
- add the following line to boot.ini:
C:\bootsect.red="RedHat Linux"
Now you should have a working Multiboot menu (after rebooting of course.)
Caveat:
The Win NT, DOS/Win 95, Linux setup info i know is correct, because i have done it several times. The Win NT, Linux Setup info, I have only tried this twice and both times it worked. So your mileage may vary.
if you have any questions about this please mail:
Michael Ruelle with MULTIBOOT as the
subject.
