Server Admin

AHCI or rather Advanced Host Controller Interface enables native command queuing and hot-plugging through SATA host controllers (Serial-ATA) for your hard drives. In many scenarios it enables more efficient multi-tasking.  But an issue with AHCI is that if you install the OS without enabling AHCI in the BIOS, enabling it after installation will render your OS unusable.  This is how you solve it...

Vista was the first Windows OS to support AHCI out of the box, where as Windows 7 does the same. If you install the OS without enabling AHCI in the BIOS, enabling it after installation will render your OS unusable because Windows disables the AHCI driver since it is not needed during the installation.

To resolve this issue, enable the AHCI driver in the registry before you change the SATA mode of the boot drive. So you understand the steps - Install windows with AHCI set to off in your BIOS.  Run the reg file or add the registry key needed.  Restart.  Restart again and the second time enable AHCI in the BIOS.

Follow these steps:

  1. Exit all Windows-based programs.
  2. Click Start, type regedit in the Start Search box, and then press ENTER.
  3. If you receive the User Account Control dialog box, click Continue.
  4. Locate and then click the following registry subkey:
  5. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\msahci
  6. In the right pane, right-click Start in the Name column, and then click Modify.
  7. In the Value data box, type 0, and then click OK.
  8. On the File menu, click Exit to close Registry Editor.

After this you’ll have to restart your computer, go to BIOS and enable AHCI. When you log in to Windows again, you’ll notice the installation of drivers for AHCI. Another restart will be required to finish the driver installation.  If you are having trouble editing the registry copy this code into a text file in notepad...

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\msahci]
"Start"=dword:00000000
"Type"=dword:00000001
"ErrorControl"=dword:00000003
"ImagePath"=hex(2):5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,52,\
00,49,00,56,00,45,00,52,00,53,00,5c,00,6d,00,73,00,61,00,68,00,63,00,69,00,\
2e,00,73,00,79,00,73,00,00,00
"Group"="SCSI Miniport"
"DriverPackageId"="mshdc.inf_x86_neutral_3f3676f4c0e7d884"

Make sure when you save the file call it something like "ahci.reg" - the ".reg" part being important. Now double click or run the file from its location. Answer yes to all prompts and read the messages to determine success (No point restarting with AHCI on if it didn't work!).

Hopefully, you’ll find a somewhat noticeable improvement in multitasking.  Results may vary.