How do I force the SATA drive to be /dev/sda when IDE drive is present?

reikred at gmail.com reikred at gmail.com
Wed Jun 18 23:02:44 UTC 2008


g wrote:
> reikred at gmail.com wrote:
>> I have an F7 system that has both a SATA drive and occasionally an IDE
>> drive  connected to it. The problem is that when the IDE drive is
>> connected, the system will make IDE=/dev/sda and SATA=/dev/sdb, and 
>> screw up my boot process.
> 
> if you boot a rescue disk, select to mount drives, most likely it will 
> try to
> set up sda for mount. let it. after mount, go to command line cd to /mnt
> and rename 'boot' and 'etc' to 'dir1' and 'dir2'. reboot.
> 
> select mount again and sdb will be seen as 'active' drive. allow it to 
> mount,
> go to command line, cd to /mnt/etc and make changes to fstab so that boot
> will be to sdb instead of sda. add sda to mount where ever you want.
> 
> cd to /mnt, then 'chroot .', run 'grub-install /dev/sda' to write a new 
> boot
> loader to sda.
> 
> after new boot is written, 'exit', 'rescue-gui', then select reboot and you
> can then boot into sdb.
> 
> this is not a cure for your problem, but is a 'work around' that will at 
> least
> get you back up on sdb.
> 
> hth.
> 

Thanks for the suggestion. I ended up doing something similar 
involving rescue disks, fstab hacking, partition labels and
(!) nuking the the whole boot track and partition table on /dev/sdb,
parted, mkfs, rsync, some supergrub bootable cdrom and what have you.

Not fun, but it worked. Now that I have done it, someone
will probably come up with a one-liner hack that would have
saved me all the work :-).

But seriously: This business could all be avoided if initrd picked 
matching partition labels from the booted drive first instead of the
"last match" algorithm it uses now. Then I could have just used 
supergrub to forcably boot /dev/sdb and mount matching labels from 
/dev/sdb, no fstab hacking involved.




More information about the users mailing list