Hello:
Great post stoat:
I have no empirical evidence to what I am going to post, so please forgive me. It is solely based on my own experience.
I have 5 disks attached and 5 OS's installed.
From a pure boot perspective, if the device map is incorrect or is missing some devices [on your "master grub install" ] it does not appear to impact the boot process of a lone OS, say Fedora, if that is the "master grub". This appears to be the case, say if you are dual booting and your device.map includes the 2 relevant drives, however others are missing ?
I have only found it to be crucial when you are trying to use that "master grub" to multi-boot a number of different OS's.
Again this is just my experience.
One thing for sure, is that once you have the drives set in your BIOS you do not want to change that order. As you mentioned, I believe, it will confuse grub and any settings you have. Then you are presented with a nightmare if you have more than 2 drives [again, just my experience]
PHP Code:
# cat /boot/grub/device.map
(fd0) /dev/fd0
(hd0) /dev/hdc
(hd1) /dev/sda
(hd2) /dev/sdb
(hd3) /dev/sdc
(hd4) /dev/sdd
PHP Code:
# fdisk -l
Disk /dev/hdc: 203.9 GB, 203928109056 bytes
255 heads, 63 sectors/track, 24792 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdc1 * 1 12 96358+ 83 Linux
/dev/hdc2 2611 24792 178176915 5 Extended
/dev/hdc3 13 1228 9767520 83 Linux
/dev/hdc4 1229 2610 11100915 83 Linux
/dev/hdc5 2611 24792 178176883+ 83 Linux
Partition table entries are not in disk order
Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 12808 102775837+ 83 Linux
/dev/sda3 12809 14593 14338012+ 83 Linux
Disk /dev/sdb: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 3824 30716248+ 7 HPFS/NTFS
/dev/sdb2 3825 14592 86493960 f W95 Ext'd (LBA)
/dev/sdb5 3825 6884 24579418+ b W95 FAT32
/dev/sdb6 6885 14592 61914478+ 7 HPFS/NTFS
Disk /dev/sdc: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 * 1 13 104391 83 Linux
/dev/sdc2 14 1543 12289725 83 Linux
/dev/sdc3 1544 14338 102775837+ 83 Linux
/dev/sdc4 14339 14593 2048287+ 5 Extended
/dev/sdc5 14339 14593 2048256 82 Linux swap / Solaris
Disk /dev/sdd: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 * 1 13 104391 83 Linux
/dev/sdd2 14 1543 12289725 83 Linux
/dev/sdd3 1544 3977 19551105 5 Extended
/dev/sdd4 3978 14593 85273020 83 Linux
/dev/sdd5 1544 3977 19551073+ 83 Linux
PHP Code:
# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
#boot=/dev/sda1
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.20-1.2944.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.20-1.2944.fc6 ro root=LABEL=/1 nodmraid reiserfs i686 rhgb quiet
initrd /initrd-2.6.20-1.2944.fc6.img
title Fedora Core (2.6.20-1.2933.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.20-1.2933.fc6 ro root=LABEL=/1 nodmraid reiserfs i686 rhgb quiet
initrd /initrd-2.6.20-1.2933.fc6.img
title Fedora Core (2.6.20-1.2925.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.20-1.2925.fc6 ro root=LABEL=/1 nodmraid reiserfs pci=nommconf idle=poll i686 rhgb quiet
initrd /initrd-2.6.20-1.2925.fc6.img
title Fedora Core (2.6.19-1.2911.6.5.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.19-1.2911.6.5.fc6 ro root=LABEL=/1 nodmraid reiserfs i686 rhgb quiet
initrd /initrd-2.6.19-1.2911.6.5.fc6.img
title Fedora Core (2.6.19-1.2911.6.4.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.19-1.2911.6.4.fc6 ro root=LABEL=/1 nodmraid reiserfs i686 rhgb quiet
initrd /initrd-2.6.19-1.2911.6.4.fc6.img
title Fedora Core (2.6.19-1.2911.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.19-1.2911.fc6 ro root=LABEL=/1 nodmraid reiserfs i686 rhgb quiet
initrd /initrd-2.6.19-1.2911.fc6.img
## Test Release of F7 Installation
title Fedora Core 7 Test2
root (hd3,0)
rootnoverify (hd3,0)
chainloader +1
## Fedora Core 64 bit Installation
title Fedora Core 6 X64
root (hd2,0)
rootnoverify (hd2,0)
chainloader +1
## Windows XP Installation
title Windows XP Pro
root (hd1,0)
chainloader +1
map (hd0) (hd1)
map (hd1) (hd0)
makeactive
## Debian Etch Installation
title Debian Etch
root (hd4,0)
rootnoverify (hd4,0)
chainloader +1
In the past I have tried editing my device.map, however, it seems to be in-effective [at least in my case] as it seems difficult to map the drives correctly.
I have found it to be much more effective and reliable to let the --recheck command probe and write it the way grub sees it.
I don't know if this helps you or not 
Seve