Hi all - I got this problem solved, and I thought I'd write up what I did in case someone else hits it. To jump ahead, we were right about the drive order; bios ordering of the drives did not track to how grub ordered them. The bios order change got the system to run stage1 from the first sata drive (instead of the ide drive), but then grub puts the ide drive at hd0 and the sata drives at hd1 and hd2. There are _different_ drive schemes: the bios boot ordering, grub's unified naming (e.g. hd0, hd1, hd2), and the linux kernel naming where the ide drive is at /dev/hdc (the DVD is at /dev/hda on the first controller) and the sata drives are treated as SCSI(!) and are at /dev/sda and /dev/sdb. To figure this out and fix it, I created an ext2 fs on a floppy, copied stage1 and stage2 to /boot/grub on that floppy, and then configured the floppy to be a valid bootable disk. There is an excellent tutorial on doing these things at http://www.troubleshooters.com/linux/grub/grub.htm With this floppy I could boot into grub, use grub's find command to figure out the drive numbering discussed above, and manually run the kernel and initrd commands (from menu.lst but with the correct hd numbering), and finally boot to kick it all off. Next I copied the old menu.lst from the sata drive to the floppy, edited it to reflect the drive numbering, and rebooted just to verify that the menu.lst file was correct. Finally, I modified the device.map and real menu.lst files and reinstalled grub on the hard disk so that stage1 could find stage2.