Grub error 15 when adding new hard disk

I have a Asus M2N-MX motherboard, with an single SATA disk, and grub correctly configured:

/boot/grub/device.map
(hd0) /dev/sda

When I tried adding an IDE disk, grub refused to boot with « error 15 », which means « file not found ».

Obviously, grub was detecting disks in a wrong order, and was trying to load stage 1.5 from the IDE disk. To be clear, since the boot disk defined in the BIOS was the SATA, it had to be presented to grub as the first disk. So it’s a buggy BIOS.

This seems to be a common behavior when mixing IDE and SATA disks.
I googled about this error, but founded nothing really helpful. Changing boot order or activating onboard RAID didn’t solve this error.

Then I upgraded from bios 0701 to 0903, and the problem was gone.

TIP: To upgrade Asus motherboard bios on a linux-only computer, you don’t need to create a DOS bootable floppy. Recent Asus motherboard include a feature called « EZ-Flash », which is an BIOS upgrade utility included … in the BIOS.

  • Download BIOS update from Asus Website
  • Unzip it and extract the .ROM file (for me M2NX0907.ROM)
  • Rename this file with the motherboard model name (for me M2N-MX.ROM)
  • Install mtools on your distro
  • Insert a blank floppy
  • Format the floppy mformat a:
  • Copy the rom on the floppy mcopy M2N-MX.ROM a:
  • Reboot
  • During POST, press Alt-F2 to launch EZ-Update
  • The BIOS upgrade procedure will start