Hi, As I tried many unseccessful combinations of LILO and NTLDR+BOOTPART to multiboot various versions of Linux/WindowsNT, I discovered GRUB which appeared to be the _solution_. My disks configuration (output of fdisk -l /dev/xxx): Disk /dev/hda: 255 heads, 63 sectors, 2482 cylinders Units = cylindres of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 1 8001 1 FAT12 /dev/hda2 2 2482 19928632+ 5 Extended /dev/hda5 2 262 2096451 7 HPFS/NTFS /dev/hda6 263 523 2096451 7 HPFS/NTFS /dev/hda7 524 1160 5116671 83 Linux /dev/hda8 1161 1176 128488+ 82 Linux swap /dev/hda9 1177 1698 4192933+ 83 Linux /dev/hda10 1699 2220 4192933+ 83 Linux /dev/hda11 2221 2481 2096451 7 HPFS/NTFS /dev/hda12 2482 2482 8001 83 Linux Disk /dev/hdc: 255 heads, 63 sectors, 523 cylinders Units = cylindres of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hdc1 * 1 65 522081 83 Linux /dev/hdc2 66 196 1052257+ 5 Extended /dev/hdc3 197 327 1052257+ 83 Linux /dev/hdc4 328 523 1574370 83 Linux /dev/hdc5 66 196 1052226 83 Linux Disk /dev/hdd: 16 heads, 63 sectors, 39693 cylinders Units = cylindres of 1008 * 512 bytes Device Boot Start End Blocks Id System /dev/hdd1 * 1 255 128488+ 83 Linux /dev/hdd2 256 39685 19872405 5 Extended Partition 2 does not end on cylinder boundary: phys=(1023, 5, 63) should be (1023, 15, 63) /dev/hdd5 256 510 128488+ 82 Linux swap /dev/hdd6 511 2598 1052226 83 Linux /dev/hdd7 2598 4686 1052226 7 HPFS/NTFS /dev/hdd8 4686 13005 4192933+ 83 Linux /dev/hdd9 13006 21325 4192933+ 83 Linux /dev/hdd10 21325 29644 4192933+ 7 HPFS/NTFS /dev/hdd11 29644 39685 5060443+ 83 Linux Disk /dev/sda: 255 heads, 63 sectors, 555 cylinders Units = cylindres of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 17 136521 83 Linux /dev/sda2 18 555 4321485 5 Extended /dev/sda5 18 34 136521 82 Linux swap /dev/sda6 * 35 100 530113+ 83 Linux /dev/sda7 101 362 2104483+ 83 Linux /dev/sda8 363 493 1052226 83 Linux /dev/sda9 494 555 497983+ 83 Linux Screen output, using GRUB shell: # grub Probing devices to guess BIOS drives. This may take a long time. GRUB version 0.5.96 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub> root (hd Possible disks are: hd0 hd1 hd2 hd3 grub> root (hd0, Possible partitions are: Partition num: 0, Filesystem type is fat, partition type 0x1 Partition num: 4, Filesystem type unknown, partition type 0x7 Partition num: 5, Filesystem type unknown, partition type 0x7 Partition num: 6, Filesystem type is ext2fs, partition type 0x83 Partition num: 7, Filesystem type unknown, partition type 0x82 Partition num: 8, Filesystem type is ext2fs, partition type 0x83 Partition num: 9, Filesystem type is ext2fs, partition type 0x83 Partition num: 10, Filesystem type unknown, partition type 0x7 Partition num: 11, Filesystem type is ext2fs, partition type 0x83 grub> root (hd1, Possible partitions are: Partition num: 0, Filesystem type is ext2fs, partition type 0x83 Partition num: 2, Filesystem type is ext2fs, partition type 0x83 Partition num: 3, Filesystem type is ext2fs, partition type 0x83 Partition num: 4, Filesystem type is ext2fs, partition type 0x83 grub> root (hd2, Possible partitions are: Partition num: 0, Filesystem type is ext2fs, partition type 0x83 Partition num: 4, Filesystem type unknown, partition type 0x82 Partition num: 5, Filesystem type is ext2fs, partition type 0x83 Partition num: 6, Filesystem type unknown, partition type 0x7 Partition num: 7, Filesystem type is ext2fs, partition type 0x83 Partition num: 8, Filesystem type is ext2fs, partition type 0x83 Partition num: 9, Filesystem type unknown, partition type 0x7 Partition num: 10, Filesystem type is ext2fs, partition type 0x83 grub> root (hd3, Possible partitions are: Partition num: 0, Filesystem type is ext2fs, partition type 0x83 Partition num: 4, Filesystem type unknown, partition type 0x82 Partition num: 5, Filesystem type is ext2fs, partition type 0x83 Partition num: 6, Filesystem type is ext2fs, partition type 0x83 Partition num: 7, Filesystem type is ext2fs, partition type 0x83 Partition num: 8, Filesystem type is ext2fs, partition type 0x83 grub> As it can be seen, my SCSI disk is perfectly detected under GRUB shell. Hardware: (hd0) # cat /proc/ide/ide0/hda/{capacity,driver,geometry,model,settings} 39876480 ide-disk version 1.08 physical 16383/16/63 logical 2482/255/63 QUANTUM FIREBALL CX20.4A name value min max mode ---- ----- --- --- ---- bios_cyl 2482 0 65535 rw bios_head 255 0 255 rw bios_sect 63 0 63 rw breada_readahead 4 0 127 rw bswap 0 0 1 r file_readahead 124 0 2097151 rw io_32bit 0 0 3 rw keepsettings 0 0 1 rw max_kb_per_request 64 1 127 rw multcount 0 0 8 rw nice1 1 0 1 rw nowerr 0 0 1 rw pio_mode write-only 0 255 w slow 0 0 1 rw unmaskirq 0 0 1 rw using_dma 0 0 1 rw (hd1) # cat /proc/ide/ide1/hdc/{capacity,driver,geometry,model,settings} 8404830 ide-disk version 1.08 physical 8894/15/63 logical 523/255/63 ST34321A name value min max mode ---- ----- --- --- ---- bios_cyl 523 0 65535 rw bios_head 255 0 255 rw bios_sect 63 0 63 rw breada_readahead 4 0 127 rw bswap 0 0 1 r file_readahead 124 0 2097151 rw io_32bit 0 0 3 rw keepsettings 0 0 1 rw max_kb_per_request 64 1 127 rw multcount 0 0 16 rw nice1 1 0 1 rw nowerr 0 0 1 rw pio_mode write-only 0 255 w slow 0 0 1 rw unmaskirq 0 0 1 rw using_dma 0 0 1 rw (hd2) # cat /proc/ide/ide1/hdd/{capacity,driver,geometry,model,settings} 40011300 ide-disk version 1.08 physical 16383/16/63 logical 39693/16/63 ST320423A name value min max mode ---- ----- --- --- ---- bios_cyl 39693 0 65535 rw bios_head 16 0 255 rw bios_sect 63 0 63 rw breada_readahead 4 0 127 rw bswap 0 0 1 r file_readahead 124 0 2097151 rw io_32bit 0 0 3 rw keepsettings 0 0 1 rw max_kb_per_request 64 1 127 rw multcount 0 0 16 rw nice1 1 0 1 rw nowerr 0 0 1 rw pio_mode write-only 0 255 w slow 0 0 1 rw unmaskirq 0 0 1 rw using_dma 0 0 1 rw (hd3) # dmesg .../... (scsi0) <Adaptec AHA-294X Ultra2 SCSI host adapter> found at PCI 0/10/0 (scsi0) Wide Channel, SCSI ID=15, 32/255 SCBs (scsi0) Downloading sequencer code... 396 instructions downloaded scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.28/3.2.4 <Adaptec AHA-294X Ultra2 SCSI host adapter> scsi : 1 host. (scsi0:0:0:0) Synchronous at 40.0 Mbyte/sec, offset 15. Vendor: IBM Model: DDRS-34560D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 (scsi0:0:1:0) Using asynchronous transfers. Vendor: DEC Model: RRD43 (C) DEC Rev: 0064 Type: CD-ROM ANSI SCSI revision: 02 Detected scsi CD-ROM sr0 at scsi0, channel 0, id 1, lun 0 scsi : detected 1 SCSI cdrom 1 SCSI disk total. Uniform CDROM driver Revision: 2.56 SCSI device sda: hdwr sector= 512 bytes. Sectors= 8925000 [4357 MB] [4.4 GB] .../... As a step toward total migration to GRUB, I decided to firstly install GRUB on floppy disk. After many newbie errors, I ended up using the attached script found on an Mandrake distribution (slightly modified), with attached output and using attached configuration file. Results are as expected for booting WindowsNT from (hd0) and Linux from (hd1,0), (hd2,0) but (hd3,5) fails saying like "the disk doesnt exist". By entering the shell and entering "root (hd<TAB>", it displays only (hd0) (hd1) (hd2). Entering "root (hd3,<TAB>" also fails of course. Sorry for the verbosity - I hope I'm in accordance with the "Reporting bugs" section of docs I just read. I compiled GRUB checkout from cvs. Regards -- Gilles-Claude Rajaobelina \\\/// | [EMAIL PROTECTED] | GNU'ries (o o) | http://perso.wanadoo.fr/gcr \\\///| 78340 oOO--(_)-OOo| Tel:(33)01.xx.xx.xx.xx (o o)| Les Clayes sous Bois, FRANCE | Fax:(33)01.xx.xx.xx.xx oOO-(_)-OOo|
#!/bin/bash ## creates a boot.img file in the current directory ## this file contains a generic grub boot floppy ## just create the floppy with dd if=./boot.img of=/dev/fd0 ## B. Bodin january 2000 [[ "$UID" == "0" ]] || { echo "You should be root" exit 1; } GRUB=$(type -p grub) [[ -z "$GRUB" ]] && { echo "grub not found in your path" exir 1; } echo "Making grub on floppy, using $($GRUB --version)" grubdir=${grubdir:-/usr/local/share/grub/i386-pc} mount_point=/tmp/floppy image=boot.img rm -rf $image $mount_point dd if=/dev/zero of=$image bs=1k count=1440 /sbin/mke2fs -F $image >> /dev/null mkdir -p $mount_point mount -o loop -t ext2 $image $mount_point mkdir -p $mount_point/boot/grub cp $grubdir/stage1 $mount_point/boot/grub cp $grubdir/stage2 $mount_point/boot/grub cp $grubdir/menu.lst.sample $mount_point/boot/grub/menu.lst echo "View / Edit the configuration file" #cp /usr/doc/grub-0.5.93.1/menu.lst $mount_point/boot/grub ${EDITOR:-xemacs} $mount_point/boot/grub/menu.lst umount $mount_point #$GRUB --batch << EOF >> /dev/null $GRUB --batch << EOF >> LOG.$(basename $0) device (fd0) ./$image install (fd0)/boot/grub/stage1 (fd0) (fd0)/boot/grub/stage2 p quit EOF dd if=./boot.img of=/dev/fd0
GRUB version 0.5.96 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub> device (fd0) ./boot.img grub> install (fd0)/boot/grub/stage1 (fd0) (fd0)/boot/grub/stage2 p grub> quit GRUB version 0.5.96 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub> device (fd0) ./boot.img grub> install (fd0)/boot/grub/stage1 (fd0) (fd0)/boot/grub/stage2 p grub> quit GRUB version 0.5.96 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub> device (fd0) ./boot.img grub> install (fd0)/boot/grub/stage1 (fd0) (fd0)/boot/grub/stage2 p grub> quit
# # Sample boot menu configuration file # # Boot automatically after 30 secs. timeout 30 # By default, boot the first entry. default 0 # For booting Linux title GNU/Linux-Mandrake (vmlinuz-2.2.15 on /dev/hdc1) kernel (hd1,0)/boot/vmlinuz-2.2.15 root=/dev/hdc1 read-only # For booting Linux title GNU/Linux-Mandrake (vmlinuz-2.2.15-4mdk on /dev/hdd1) kernel (hd2,0)/boot/vmlinuz-2.2.15-4mdk root=/dev/hdd1 read-only # For booting Linux title GNU/Linux-Mandrake (vmlinuz-2.2.13-4mdk on /dev/sda6) kernel (hd3,5)/boot/vmlinuz-2.2.13-4mdk root=/dev/sda6 read-only # For booting the GNU Hurd # title GNU/Hurd # root (hd0,0) # kernel /boot/gnumach.gz root=hd0s1 # module /boot/serverboot.gz # For booting Mach (getting kernel from floppy) # title Utah Mach4 multiboot # root (hd0,2) # pause Insert the diskette now!! # kernel (fd0)/boot/kernel root=hd0s3 # module (fd0)/boot/bootstrap # For booting FreeBSD (getting kernel from floppy) # title FreeBSD # root (hd0,2,a) # kernel (fd0)/kernel # For booting OS/2 # title OS/2 # root (hd0,1) # makeactive # chainload OS/2 bootloader from the first sector # chainloader +1 # This is similar to "chainload", but loads a specific file #chainloader /boot/chain.os2 # For booting Windows NT or Windows95 title Windows NT / Windows 95 boot menu root (hd0,0) makeactive chainloader +1 # For loading DOS if Windows NT is installed # chainload /bootsect.dos # For installing GRUB into the hard disk title Install GRUB into the hard disk (/dev/hdc) root (hd1,0) install /boot/grub/stage1 d (hd1) /boot/grub/stage2 p # For installing GRUB into the hard disk title Install GRUB into the hard disk (/dev/hdc) root (hd2,0) install /boot/grub/stage1 d (hd2) /boot/grub/stage2 p # For installing GRUB into the hard disk title Install GRUB into the hard disk (/dev/sda) root (hd3,5) install /boot/grub/stage1 d (hd3) /boot/grub/stage2 p