Sunday 18 November 2012

Allow Gigabyte GA-EP45-DS4 to boot up with AHCI enabled

If your computer is failing to boot and hangs during AHCI enumeration with a possible code 23 in the top right corner, and it only happens when (1 or more) SATA HDD are connected that have a MBR (Master Boot Record), this may fix it for you, as it did for me:
  • Turn off computer.
  • Disconnect (not-really-)faulty HDD.
  • Turn on computer.
  • In BIOS, disable AHCI:
    • BIOS > Integrated Peripherals > SATA AHCI Mode = Disabled
  • Save changes and turn off computer.
  • Reconnect (not-really-)faulty HDD.
  • Turn on computer.
  • Boot in to operating system of your choice. e.g. Linux
  • Open (not-really-)faulty HDD in a hex editor. e.g. hexcurse /dev/sda
  • Set the 3 bytes starting at offset 0x1C3 to FE FF FF, save and quit.
    • You may wish to make a note of the original values you're replacing in case you need to undo.
  • If using Arch Linux, add ahci to mkinitcpio.conf modules list and rebuild kernel image
  • Reboot, in bios enable AHCI again, save and reboot
There is an error in the BIOS/AHCI controller ROM that has been reported to Gigabyte, but whether they've released BIOS updates for all affected motherboards is a mystery. For example, there's a "beta" bios update for my motherboard, but without a changelog I'm hesitant to install it.

References:
http://forum.giga-byte.co.uk/index.php?topic=8585.0
https://wiki.archlinux.org/index.php/AHCI
http://forums.tweaktown.com/gigabyte/42356-removing-ahci-option-rom.html
http://forums.tweaktown.com/gigabyte/28441-gigabyte-latest-beta-bios-2.html

No comments:

Post a Comment