Force 11.0 to obey bios harddisk order

My mainboard allows me to set my harddisk order, shown in linux as:
[0:0:0:0] disk ATA WDC WD1200JB-00E 15.0 /dev/sda
[0:0:1:0] disk ATA WDC WD1200JB-75C 16.0 /dev/sdb
[1:0:0:0] cd/dvd LITE-ON DVDRW SHW-16H5S LS0W /dev/sr0
[1:0:1:0] cd/dvd _NEC DVD+RW ND-1100A 1.A3 /dev/sr1
[2:0:0:0] disk ATA WDC WD2500KS-00M 02.0 /dev/sdc
[3:0:0:0] disk ATA MTRON MSD-SATA30 0.18 /dev/sdd
[4:0:0:0] cd/dvd TSSTcorp CDDVDW SH-S203P SB00 /dev/sr2
[5:0:0:0] disk Generic USB SD Reader 1.00 /dev/sde
[5:0:0:1] disk Generic USB CF Reader 1.01 /dev/sdf
[5:0:0:2] disk Generic USB xD/SM Reader 1.02 /dev/sdg
[5:0:0:3] disk Generic USB MS Reader 1.03 /dev/sdh

In OpenSuSe 10.3 this order is what I am seeing and I am pleased with that as windows 98SE is on the fist IDE harddisk.
Windows 98SE is still much in use in the family.
When trying to install 11.0 or even live booting I can see that the order has changed and the WDC WD2500KS-00M and MTRON MSD-SATA30 become sda and sdb. The two IDE disks become sdc and sdd.
Currently 10.3 is on the WDC WD2500KS-00M while 11.0 should go on the MTRON MSD-SATA30.
I want both 10.3 and 11.0 to obey the harddisk order I am setting in the BIOS (which 10.3 does and 11.0 does not) as for now I want to keep both versions. Having two disk orders means having two different grub configurations/device mappings and menu chaining and swapping disks for windows at the 11.0 configuration.
It may be possible but it is complicated and error prone.

Is this disc ordering problem kernel related? (10.3 =>, 11.0 => 2.6.25)
Can I force 11.0 to obey the hard disc order I set?

Advice is greatly appreciated, Tonio

The later kernels do seem to enumerate SATA drives before IDE drives. I don’t think that can be changed. Why do you need them in BIOS order?

Three reasons:

  1. Because windows 98SE is on the first IDE harddisk, keeping this disk as the first prevents having to swap disks in grub (which I think is awkard , grmbl, stupid windows 98).
  2. My 10.3 is setup like I want it, and 11.0 is not yet, next to the fact that KDE4 is new to me. So while I familiarize myself with 11.0 with KDE4, I will most certainly fall back to 10.3 occasionally. But these have different disk orders, so I’ll have to be really really careful if I tinker with my system.
  3. Why would linux have to know better when I tell it what I want. That was the major annoyance with windows.

I have the same problem except that sd[bcde] are part of my raid 5 configuration and sda is still the primary IDE drive. It’s NOT a feature of later kernels, since I use SuSE10.3 with native kernel. So, it must be in the loading (order) of the modules. One solution is to uncouple the raid drives and when all is installed, recouple them again in the hope that by then I have a working system which do obey the rules we - humans - want.

Any better suggestion? Does grub has a switch for this?


I am surprised to hear it is not a kernel problem (as suggested by other people). I can not think of any other component.

Just for reference if other people encounter these problems also:
I solved my problem with having both 10.3 AND 11.0 while they show different harddisk order (10.3 as instructed by the BIOS and 11.0 in it’s own new way). Steps:

  1. I installed the latest grub with support for inodesize 256 from the opensuse 11.0 installation dvd over my existing 10.3 installation.
  2. I installed 11.0 on my shiny new sdd and partitioned the disk to my liking.
  3. I told the installer NOT to bother installing a bootloader as this would divert it from the existing 10.3 to the new boot partition in 11.0.
  4. After the install I booted normally into my existing 10.3.
  5. I changed the menu.lst in /boot/grub to add an entry for 11.0 by referencing the new sdd by /dev/disk/by-id identification. You can simply look it up in 10.3 in /dev directory. I didn’t change the /boot in the partition on the 11.0 sdd, it exists but is not in use.
  6. I manually mounted the 11.0 root partition - while still in 10.3 - and adapted the /etc/fstab to also use the /dev/disk/by-id notation.
  7. Done, both 10.3 and 11.0 work and even my windows.

“sdd” should have been ssd (solid state disk).
And yes, in my 10.3 it is /dev/sdd but I did not mean to write that.