For several years I've used lilo in the mbr to boot either linux (on
same scsi disk) or NT4 (on 3rd scsi disk). I don't use NT very often,
so I'm not sure when this arrangement stopped working. Perhaps it was
when I upgraded from SuSE 6.3 to 7.1.
Linux always boots fine. *Occasionally* NT boots; but not usually.
Instead, from the SuSE splash screen, if I choose option NT, I see "NT
LOADER:" and nothing more. I've tried to vary a number of parameters,
with no success.
Three disks are used so:
sda <-> 0x80 linux
sdb <-> 0x81 linux
sdc <-> 0x82 NT
Because NT resides on its own disk, I can unplug the two linux disks,
causing NT be the only OS. Then it always boots. So I conclude
that NTLDR, NTDETECT.COM, and BOOT.INI (which specifies disk(0) and
rdisk(0)) are correct.
Here's lilo.conf:
initrd=/boot/initrd
# LILO Konfigurations-Datei
# Start LILO global Section
boot=/dev/sda
compact # faster, but won't work on all systems.
read-only
menu-scheme = Wg:kw:Wg:Wg
lba32
message=/boot/message
prompt
timeout = 80
vga = normal # force sane state
# End LILO global section
#Linux 2.4.2 config begins
image = /boot/vmlinuz
root = /dev/sda1
label = linux
# Linux 2.4.2 ends
#NT config begins:
other = /dev/sdc1
label = NT
map-drive = 0x80
to = 0x82
map-drive = 0x82
to = 0x80
table = /dev/sdc
#NT config ends
Here's part of the output of lilo -vv:
LILO version 21.6, Copyright (C) 1992-1998 Werner Almesberger
...
Reading boot sector from /dev/sda
Merging with /boot/boot.b
Device 0x0801: BIOS drive 0x80, 255 heads, 1106 cylinders,
63 sectors. Partition offset: 63 sectors.
...
Boot image: /boot/vmlinuz
Device 0x0801: BIOS drive 0x80, 255 heads, 1106 cylinders,
63 sectors. Partition offset: 63 sectors.
...
Boot other: /dev/sdc1, on /dev/sdc, loader /boot/chain.b
do_cr_auto: other=/dev/sdc1
Caching device /dev/sdc (0x0820)
Device 0x0820: BIOS drive 0x82, 255 heads, 1111 cylinders,
63 sectors. Partition offset: 0 sectors.
partition = 1
Caching device /dev/fd/6 (0x0821)
Device 0x0821: BIOS drive 0x82, 255 heads, 1111 cylinders,
63 sectors. Partition offset: 1 sectors.
boot_other: drive=0x82 logical=0x82
fd 5: offset 10240 -> dev 0xb0, linear 478717
fd 5: offset 10752 -> dev 0xb0, linear 478718
fd 5: offset 11264 -> dev 0xb0, linear 478719
fd 6: offset 0 -> dev 0xb2, linear 1
Compaction removed 0 BIOS calls.
Mapped AL=0x00 CX=0x4dfb DX=0x07b0, linear=478715
fd 5: offset 11776 -> dev 0xb0, linear 478720
Mapped AL=0x00 CX=0x4dfc DX=0x07b0, linear=478716
...
Mapped AL=0x00 CX=0x0001 DX=0x00b2, linear=1
Mapped 6 (4+1+1) sectors.
Added NT