How to enable AHCI in Windows 7 RC after installation

AHCI (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. Vista was the first Windows OS to support AHCI out of the box, whereas Windows 7 does the same. 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 because Windows disable the AHCI driver since it is not needed during the installation.

There is one way to fix this, although you need to have knowledge of registry editing. The detailed steps from Microsoft are as follows:

To resolve this issue, enable the AHCI driver in the registry before you change the SATA mode of the boot drive. To do this, 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:HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMsahci
  5. In the right pane, right-click Start in the Name column, and then click Modify.
  6. In the Value data box, type 0, and then click OK.
  7. 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. enable ahci in Windows 7

I’ve simplified the steps by Microsoft by exporting the registry key. Just download the following file and run it. You’ll still need to go through the steps of restarting your computer and enabling AHCI in the BIOS.

Hopefully, you’ll find a somewhat noticeable improvement in multitasking, especially if you’re a notebook user. Of course with the variety of PC hardware, experience many vary.

Disclaimer:

Beware, though, you’re responsible on your own for messing around with the registry. This guide comes with no warranties if your computer blows up, gets angry at you, stops working or just shows a Blue Screen of Death.
About the Author

Technology enthusiast, Internet addict, photography fan, movie buff, music aficionado.

243 comments

  1. this does not change your BIOS to show AHCI as an option. Read the post carefully. It states

    “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 because Windows disable the AHCI driver since it is not needed during the installation.”

    If you do not have AHCI as an option in your BIOS then either your hardware does not support it (most likly), your system only has AHCI and not ATA so there is no need for it to show as an option in your BIOS since you can not change it, or maybe you need to upgrade your BIOS.

    To the author thank you very much. I had Insatalled Windows 7 Ultimate x64 with AHCI enabled, but after getting everything setup and updated I wanted to ghost using a PE Disc so I had to change the SATA settings to ATA, I did my ghost image but forgot to set back to AHCI. After having issues with x64, my games would not install or run I decided to go back to x86. So I did my install and again spent days downloading updates to Windows 7 and drivers, utilities etc… Then when I went to the BIOS I realized what I had done, I went ahead and did my ghost but I could not get Win7 to boot after setting back to AHCI, I tried startup repairs, etc… I then did a search and found this article, very helpful.

  2. I went into the registry and it was already set to Zero, so I went to my bios and enables AHCI but all i get upon loading is the BSOD.

    I really don't want to re-install windows 7. That would be a huge pain in the #$%

  3. It worked except my eSATA hard drive still doesn't hot swap, although I can eject my internal hard drive now. Maybe I should have left my eSATA drive on during that restart?

  4. Unfortunately it didn’t work for me – just hangs after POST, Windows doesn’t start.
    I have Windows 7 Professional 64 bit, Intel 80GB SSDSA2M080G2C2 and Gigabyte GA-X58A-UD3R v2 motherboard FA BIOS.

    Any other suggestions would be greatly appreciated.

    1. Connect your boot drive to one of the WHITE SATA connectors (I think the white connectors are controlled by the Marvell chipset or non-Intel chipset).

      Power up, go into BIOS, check boot order, change SATA setting to AHCI, boot to Windows. Install Intel ACHI driver, power off.

      Re-connect boot drive to a blue, Intel SATA connector.

      Power up, go into BIOS, check boot order, boot into Windows. Done.

    2. I have just built Gigabyte GA P55 UD5 Intel i5 CPU, and it works just fine converting to AHCI. OS
      Also on the GA X58A-UD3R_Intel i7 950 CPU, that was in IDE converted to AHCI okay. OS
      And again for the Gigabyte GA X58A-UD5_Intel i7-930 CPU Windows 7 OS Hard Drive, and Windows Home Server 2008 OS Hard Drive.
      Check connections 0 1 2 3 4 5_are on eSATA to AHCI controller. THis the main one.
      6 7 _are on GSATA to AHCI controller.
      8 9 _ are 0n GSATA to AHCI controller
      Thanks to instructions
      Tony.
      PS.
      6 7 8 9 As I am not at home, I am writing from memory.

    3. The best and most accurate way to enable AHCI in windows at post installation is to do it this way, and it will all be configured by the operateing system properly (you must have the Windows 7 installation disc to do this). Set all AHCI modes in bios and save the settings, reboot with the Windows 7 installation disc in the CD/DVD drive as if you were going to install windows settings.
      Make sure you have the bios set, so that if it fails to boot from your hard drive it then tries to boot
      from the CD drive. After you restart it will load all the windows setup drivers. When you get to the first prompt to set up windows (asks you for the time zone) X out the box to exit, it will ask you if you wish to cancel the installation, answer yes. then you reboot. Windows will now work properly and boot from your Hard Drive and all the AHCI drivers and configuration will be configured. When windows finishes booting, it will start showing new devices found and configure them properly ( mainly if you also set your cd/dvd drives to AHCI mode too. You are now all set and properly configured. Now you can take out the windows installation disc ( do not remove it prior to this point). It has worked perfectly for me every time.

    4. I found it a lot easier to set up a floppy/usb stick… and use the AHCI drivers for Windows Server 2003… during the setup…. when prompted I browsed to the x86 2k3 folder and Win7 accepted and showed the available driver.. (the checkmark was on for “don’t show incompatable drivers” I said OK and the install got underway….

  5. Thanks a ton, worked flawlessly for W-7 (64-bit). I might add that if you do not want to accidently eject your C drive, (or have your 15 year old daughter do it for you)then disable hot swapping in the bios, when you change to AHCI after changing the Reg-entry as described above.

  6. Used this to get Windows 7 to work after installing OSX86. Worked great. thanks.

  7. Hi,

    Is there any chance that after changing the registry, your machine won’t boot up. In that case how do you recover?

    Thanks

    1. I left clicked and it tried to open the .reg file as a music file. I right-clicked and did ‘save as…’ and it saved it as an mp3 file. I downloaded it, renamed the extension, and opened in notepad, and yes, it’s a registry file.

      Really odd behavior.

        1. I had this mp3 issue to in firefox, but I just downloaded it and changed the extension from mp3 to reg.

Comments are closed.