Some case, the PC with some kernel has both sd? and hd?.
Ihave such today running a self configured kernel with everything of IDE , P/SATA , SCSI inside :
rdev
/dev/hdb3 /
grep -i 'mounted root' /tmp/bootkernel.log
[ 8.666738] VFS: Mounted root (ext4 filesystem) readonly on device 259:786432
ls /sys/block
loop0 loop3 loop6 ram0 ram11 ram14 ram3 ram6 ram9 sr0
loop1 loop4 loop7 ram1 ram12 ram15 ram4 ram7 sda sr1
loop2 loop5 md0 ram10 ram13 ram2 ram5 ram8 sdb
The HDD is SATA but i have a /proc/ide directory ....
Grub sees it's DISK it sits in the mbr of
always as hd0 as the few times i could observe it
in opposite to the BIOS or Kernel who would see the disk hdc as Master on controller 1 OR /dev/hdc on IDE boards with IDE kernel and i think it is the same with SATA boards .
An array of
CDROM MASTER CON 0,
HDD SLAVE CON 0 ,
HDD MASTER CON 1 ,
HDD SLAVE CON 1
and grub to mbr of HDD MASTER CON 1
would read hd0=/dev/hdc hd1=/dev/hdb hd2=/dev/hdd
Conclusion: The legacy grub is not for beginners. Use the legacy for experts who love to manage it manually.
I started with lilo and when grub 1 came out i was not able to handle it .. i think iirc it started run some kind of debug fstest displaymem or whatever automatically by debian sarge installer which polluted the screen with many output but no menu.lst
.
Now i can handle grub 1 and it is OK for me . I actually have compiled it some days ago in racy which turns out to be a quite good compile environment , at least for non gui source ( hdparm,sdparm ) .
One tiny thing though , shinobar : cp /boot/vmlinuz to /boot/vmlinuz-1 , -2 , -3 and run grub4dosconfig ... Not too bad menu.lst , but ...
Nevertheless ...
I actually like the possibility of your grub4dosconfig to write a large menu.lst to include frugals .