Install SATA AHCI Driver to Windows 7 After Install

by on March 27, 2014

setting-ahciWith the upcoming End of Support for Windows XP, I expect that many of us will be upgrading some older machines that run Windows XP to Windows 7. My suggestion is to only upgrade machines that are relatively newer, for example PCs that were bought in the Vista or early Windows 7 years but had XP pre-installed. I wouldn’t recommend upgrading older XP machines that will struggle with Windows 7. But if you have an XP machine that can handle Windows 7, then it might be a good idea to upgrade it.

I ran into a situation with a Dell Precision T3400 workstation where the installation of Windows 7 Professional 64-bit wouldn’t install properly. I had installed a brand new Seagate Hybrid Solid State/Hard Drive in the machine and was doing a clean install. It kept rebooting after the initial install sequence. It appeared to me that it was blue screening in a manner that was indicative of a SATA AHCI driver problem. Sure enough, when I went into the BIOS and set the SATA operation to ATA, the installation completed without further issue. However, now I had a Windows 7 installation with ATA drivers instead of the higher performing AHCI drivers (it was puzzling to me why the installation was able to get that far in AHCI mode if it wasn’t going to install a suitable AHCI driver and simply crash later, but I chalk that up to Windows being Windows).

Usually, this isn’t such a hard problem to fix: simply download the proper AHCI drivers, install them, change SATA operation back to AHCI in the BIOS and you’re golden. However, in this case, the AHCI drivers (Intel ICH9R/DO/DH) would not install. The installer kept claiming the computer did not meet minimum requirements or something similar. I couldn’t even force the drivers to manually install after extracting them. It appeared to me that since SATA operation was set to ATA mode, the installer/drivers didn’t recognize the controller as AHCI capable. Brilliant. I couldn’t set SATA operation back to AHCI because that caused a blue screen crash during boot, so I was almost of the mind that I would need to reinstall Windows 7 making sure to specifically add the AHCI drivers during the installation process. But I had already installed Windows 7 SP1 and a bunch of other updates that took a long time, so I didn’t want to use this nuclear option unless it was absolutely necessary.

Luckily, after much research, I found a procedure that allowed me to install the SATA AHCI drivers without reinstalling Windows 7. Thanks to Windows7Themes.net for having the answer:

  • Basically, change the following registry key to 0:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\msahci\Start
  • Restart the computer once (without changing any BIOS settings) and Windows will load default AHCI drivers. You may not notice anything happening, so let Windows sit for a minute or two after reboot to give it enough time to make sure this process happened.
  • Restart the computer again and change the SATA operation to AHCI in BIOS. Save the BIOS settings and when Windows boots again, it should not crash with a blue screen. This time you should notice that Windows is installing new hardware, which includes several SATA AHCI components (similar to what the picture above shows). Windows will probably ask to restart once more.

At this point  you should have a functioning Windows 7 install with default SATA AHCI drivers operating. I then was able to install the vendor specific drivers from Intel because they now recognized the controller properly. Yay! A few hours of my life gone, but at least I learned something!

This whole problem could have been avoided if Windows 7 would have installed the AHCI drivers properly in the first place, and/or if the Intel drivers were smart enough to recognize that the controller in ATA mode is in fact the correct controller and simply installed the drivers anyway. But issues like this are why we do what we do, so hopefully my experience will save some of you some grief!

Update: With the variety of hardware and drivers out there, it seems that my procedure above does not always work. Based on comments and other research I have done, changing the values of the following Start registry keys (to either 0 or 3) might also be necessary.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStorV

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStor

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\atapi
  • Dennis

    When I changed it to AHCI and it goes past the boot screen it just goes to a black screen and my computer wont stop beeping. Changing back to IDE lets my computer boot normally. ANY HELP?? ):

    • Dennis

      Also, when i boot with IDE after making the regedit changes the drivers don’t install

      • What are the particulars of this computer (drive controller, OS version, etc.)? A black screen and beeping doesn’t quite sound like the same problem I was describing, but it is similar.

  • Blain

    An elegant and simple solution. Worked for me flawlessly (much to my surprise).

    • Yeah, after hours of testing and research, I was pleasantly surprised it worked for me too! Which is why I wrote the blog post! Thanks for reading!

  • Glasguy

    Big thank you ! You saved me hours…

    • You’re welcome! I figured if I had to spend hours fixing this myself, I should at least be able to help others save their time!

  • amin

    This worked perfectly. The reason it worked that way and and all the other sites failed was that you needed One more step. That step was to reboot, after the reg hack, one more time, in IDE mode, to load the drivers. Then you reboot and change the BIOS to AHCI and save the settings and exit the Bios. The system reboots and it’s done. Great Job in specifing the exact steps.

    • Thank you very much! I’m glad it helped you out.

  • Marius

    Thanks man, you’re the best

  • raiseyavoice

    This guy, right here …. !!!
    Unbelievably simple and easy, and it works like a charm.
    Just another reboot after editing the registry, and no more bluescreens.
    If i could just award medals online =)
    Thanks very much, mate.

  • Andrea Garbarini

    Thanks! worked for me.

  • Soua

    My problem is similar to this but instead i can’t boot into windows after accidently pressing yes. Any tips to this?

    • Can you provide some more detail on what you were doing when you pressed “yes”? For starters, what was the question that you said yes to?

  • chuck_2012

    it did not work for me…i changed the registry value as indicated, booted to allow drivers to install, exited and in the bios changed to AHCI but it would not detect the SSD during the bootup. I think i am stuck.

    • Are you installing Windows 7 or Windows 7 with SP 1?

      • chuck_2012

        its a windows 7 installation with all the updates including sp1. But sp1 was not originally in the win 7 install, it came later wit the updates,

        • So you installed Windows 7, then later ran updates including SP1?

          • chuck_2012

            Exactly.

      • chuck_2012

        and I think I know why…when i look at the partitions made for the original install the OS, Windows 7, somehow made a very small partition before the C partition of 30MB in size. i found this when i looked at the partitions in Partition master. Not sure why this happened as in my other computer it is not the same, there is no little partition before the C partition.

        • I’m not sure this would have any effect on the particular issue. SATA drivers should load regardless of any partition setup.

          • chuck_2012

            nevertheless i formatted the ssd, made sure that it was set as primary drive, reinstalled windows 7 and updates. So to be sure there is only 1 partition called C: now on my SSD. What i think happened the last time was windows decided to make a little 30mb partition in addition to the c partition all by itself.

          • After doing that, did you load the SATA drivers with F6 during the install?

          • chuck_2012

            no i did not do that.

          • If you had taken the time to reload Windows, that would have been the best way to load the drivers. My trick here was intended to prevent needing to reinstall Windows if one had installed without using the F6 additional driver mode.

            Were you able to load the drivers using my method after you formatted and reinstalled?

          • chuck_2012

            after formatting and reloading windows to take care of a partitioning problem I then tried the use the MS patch to set the appropriate things in the registry. I then rebooted and went to the BIOS and set the sata to ahci. Save and reboot and the bios hung up on detecting the c drive. Had to go back into the bios and change back to ide before it will boot. I did not try to press F6 but it is the next thing I will try.

          • Well, I’m not sure about the MS patch you are referring to, but at this point you could try using the method as I describe in my article. The F6 mode can only be done during initial install, as described by this article:

            http://www.intel.com/support/chipsets/imsm/sb/CS-021701.htm#3

          • chuck_2012

            well I tried everything suggested but the problem remains…when i set sata to AHCI in the BIOS the computer hangs during POST on the SSD drive. At this point I must shut down the computer, unplug the SSD, reboot into the BIOS and go back to IDE, save and exit BIOS, shut down, reconnect the SSD and then I can boot into windows. The registry changes were done so I have no idea now. What can you suggest?

      • chuck_2012

        I have even used the patch available from MS with no luck.

  • Alexey

    Perfect, it works and help me.

  • ZeroDay

    It failed for me. windows 7 update amd sata update storage controller. The computer will simply not run unless the south bridge is in IDE mode in the boot. So far haven’t found a fix. Even microsoft’s uninstall method failed as the updates only 3 will not delete nor has a uninstall option.

  • IntrepidBongos

    I performed all the steps, reg change to 0, reboot into bios, reboot again into bios and select AHCI, but in the selection area, only Enable and Disable were available as sotions.
    am I doing something wrong?
    Thanks.

    • Israel Leite

      Dude.
      come on.
      Change to zero
      reboot WITH OUT changing in the bios
      wait windows to load the drivers and than you change the bios.

      • Yes, I think that may be the misstep. Give that a try and let us know if that fixed it for you.

  • Russet

    Sadly, I have tried this approach and the pc refuses to install AHCI drivers. PC is Asus F2A85-V- Pro. Downloaded from Asus a driver update. During Windows install at prompt for “drivers” it found this and loaded. Eureka! It worked. However during installation of other pgms the connection to the internet was lost as it said I was not connected to a network. I wasn’t connected to a network in the first place. Ok. Had to resort to nuclear option and re-install Windows. This time it said drivers were not compatible with the hardware on this system. Huh? no hardware was changed, added, etc. Any other ideas?

  • Russet

    I found a solution, or at least a work around that solved the problem with this AMD chipset. Going into the Device Manager and then clicking on the IDE/Atapi I manually replaced one IDE driver with a downloaded AMD AHCI driver (had to go around the barn some to manage it). After it was installed all the other entries were disabled then rebooted. As it booted up I saw the drive with Windows being acknowledged which the prompted another reboot. When the boot was done I rebooted again after switching the BIOS to AHCI. Everything worked just fine. I had done the regedit routine before doing the manual driver replacement so I don’t know if that was needed or not. Certainly won’t hurt to do it. A word of caution…the most recent ACHI driver on the Asus website might have a problem. I used the driver update previous to it.

    • This is roughly the ideal solution, as I mentioned in my article (install the AHCI driver, reboot, switch to AHCI, boot again, done). The problem with the particular chipset in the article is that you can’t install the AHCI drivers while in IDE mode at all. Hence the workaround to edit the registry to load a basic AHCI driver which then allows you to switch to AHCI mode and install the OEM AHCI driver. However, in your case you were able to install the AHCI driver while in IDE mode, and few reboots later you are running AHCI drivers in AHCI mode. There were possibly some other issues involved with your setup, and perhaps the registry change did help out some.

      Bottom line is that in normal situations, installing the OEM AHCI driver and flipping the setting in BIOS should be all that one needs to do. That should be the first course of action. If that fails, then move on to the trick in my article. Worst case is none of this works at all and the only option is to reinstall Windows and install the OEM driver during install with the F6 option.

  • Chris

    Pardon the slightly belated response – it results from my primary computer temporarily dying last week. (Easy fix involved, but I’m lazy.) My 2nd computer’s SSDs had been installed incorrectly and the speed difference was noticeable. Your method, contrary to a lot of misinformation on the internet, much of which required a full reinstall of Windows 7, worked perfectly the 1st try. My “old” crappy computer is now a screaming machine. Thanks for making my life a little easier and less frustrating today!

  • Malikbhai

    Thanks a lot dear. this helped me a lot.

  • Malikbhai

    Just excellent, Mil Gracias.

  • raiseyavoice

    Hey mate, it’s me again =)

    since it worked awesomly last time on Windows 7, i thought i might revisit this page again (because the solution was so easy and the explanation was understandable even for me, I bookmarked this article, just in case )
    Simple question since I upgraded to Windows 10, and I have the same problem again, before I try messing with my System, does it still work the same way ?

    Let me know if you have already tested (or heard) if this works =)

    • So you’re asking if this same trick works with Windows 10? I have not had a chance to test it yet. I will be upgrading the machine that gave me this issue once the release version of Windows 10 comes out, so I can see if I get the same issue at that time.

      However, if you are having this problem, I guess it can’t hurt to try the solution to see if it works the same way in Windows 10. Let us know what you find!

      • devnullius

        I just checked my x64 Windows 8 -> 8.1 -> 10 (upgraded) machine…

        The registry key is not there. I tried adding it as REG_SZ value, but your trick did not work.

        I also tried injecting the correct drivers with Paragon P2P Adjust (which does NOT recognize AHCI as a driver to add on 2 systems I tried).

        So how to fix this classic problem?? You could download the correct drivers, extract them and see if right clicking the *.inf files will give a successful install. For me, the installation was successful, but STILL I’d get ‘inaccessible_boot_device’ BSOD 🙁

        No worries… For Windows 10 the solution seems to be extremely simple… So simple, it’s embarrassing. Really. All that’s needed is booting into safe mode with AHCI enabled.

        I found these detailed instructions, assuming your BIOS is in IDE mode.

        (copy paste)

        http://www.tenforums.com/performance-maintenance/15006-attn-ssd-owners-enabling-ahci-mode-after-windows-10-installation.html

        Attn. SSD owners – Enabling AHCI mode AFTER Windows 10 installation.

        Hello everybody. What started out as a request for guidance ended up with me solving my own problem. Thought I may as well pass on my findings anyway just in case it helps somebody else in the same situation.

        So over the weekend, through a series of upgrades, I successfully hopped from Vista to Windows 10 Professional 64-bit. But, as is not unusual, I again managed to snatch defeat from the jaws of victory. With my new SSD loaded with Win 10 goodness, I realised I was still operating it in IDE mode. A confident dip into the BIOS to enable AHCI mode resulted in Windows then failing to start because it no longer recognised the boot drive! I’m guessing the AHCI driver wasn’t loaded during installation since the mode wasn’t in use. So back to IDE mode and a surf around for solutions. Plenty around pertaining to Vista, Win 7 and Win 8 involving changing registry values but nothing tangible for Win 10. However I found this alternative Win 8 workaround which I can confirm works equally well in Windows 10. I realise I’m probably teaching my Grandmother to suck eggs with this post here but perhaps somebody as equally technophobic as me, may find it useful. This is what I did:

        1. Run Command Prompt as Admin
        2. Invoke a Safe Mode boot with the command: bcdedit /set {current} safeboot minimal
        3. Restart the PC and enter your BIOS during bootup.
        4. Change from IDE to AHCI mode then Save & Exit.
        5. Windows 10 will launch in Safe Mode.
        6. Right click the Window icon and select to run the Command Prompt in Admin mode from among the various options.
        7. Cancel Safe Mode booting with the command: bcdedit /deletevalue {current} safeboot
        8. Restart your PC once more and this time it will boot up normally but with AHCI mode activated.
        9. Bask in the reflected glory of being a total Windows 10 God

  • Adrian

    Thank you. After installing a new SSD on my W7 OS my computer started to hang, i could move the mouse, but anything else was dead. I read in a lot of places that i need to disable AHCI and switch to IDE, but i was already on IDE :). So, I decided to switched to AHCI. But it did not work as the OS did not wanted to boot up. So i ended up on your website. And now the problems are gone (at least for the moment). Thanks a lot.

  • Angel Ftd

    Thank you,
    It works for me. First I faced wih this problem while installing xp in the “Compatible mode” it was treated by manual updating of controller driver and rebooting in the AHCI mode.

    Found that my home laptop with windows seven also works in ATA mode instead of AHCI, tried to fixed, but just your post was helpful.

    Thank you!

  • thanks

  • Chris Peivanis

    Hello, I did what you suggest in regedit and then enabled AHCI in bios but I still get blue screen when windows load… any ideas how to fix it? thanks in advance.

    • I’ve found that in some situations this procedure doesn’t work. Unfortunately, it is hard to say for sure what is happening with so many different combinations of controllers and drivers.

      After you set the value of Start to 0, you may not notice that anything loads. This is normal. However, in your case obviously something isn’t quite working. I’ve done some reading that possibly changing the values of the following Start registry keys (either 0 or 3) might also be necessary.

      HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicespciide

      HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesiaStorV

      HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesiaStor

      Give it a try and let me know if that helps.

      • Chris Peivanis

        Before changing those keys I tried setting the HKEY_LOCAL_MACHINESystemCurrentControlSetServicesatapi to 0 and it worked! drivers for sata controllers and AHCI were installed after a restart. Thanks for replying anyway.

        • Great to know! I’ll get this added to the article. Thanks for the help!

  • Dave

    Dude you rock! Such a simple fix and it worked 🙂

    win + r type ‘regedit’ without the without the ‘ ‘

    The registry editor windows will open.

    HKEY_LOCAL_MACHINESystemCurrentControlSetservicesmsahci
    ^^^^Follow the path above and find “Start”^^^^
    Change the start value to 0 and restart your machine.

    As the it says if it is successful you will see windows installing the ATA drivers for your SATA ports
    after the restart.

    Thanks again a 30 second fix saved days of headaches 🙂

    • Dave

      Sorry I forgot to add the bit about entering the BIOS and changing to AHCI settings. All in all a 30 second fix that kills it 😀

  • Barath

    Thank you so much Marcel for the Resolution provided. Saved a lot of time and effort for me.

    • Great! I’m glad I could help! Did you need to edit any of the registry keys in the update section?

  • Liggy

    If you have made the change listed in this article but Windows keeps restarting you may wish to read on…

    This worked eventually but I had to make a further amendment on my Win 7 x64 PC to get it to do so. I noticed that my system was loading the IDE drives using a standard ATAPI controller driver in device manager and after making the change in the bios and in the registry I was still getting the BSOD (blue screen of death) followed by an instant restart.

    Upon reading other forums I noted some people had got this working by forcing windows to change the existing driver for the IDE/SATA controller using the Update driver option in Device Manager. I did exactly this and unchecked the box to only show drivers windows thought were compatible and scrolled down the list to the ‘Standard AHCI 1.0 SATA controller’ and installed that.

    After a quick reboot to make sure the new driver was in use in device manager I then applied the edit in my 990FXA-GD65 BIOS and it worked perfectly! Thought I would post this info here in case anyone else has the same issue – have not found this specific solution online anywhere so far. Once working you may also want to install the AMD / Intel controller drivers to replace the standard Win ones as these also improved my SSD speeds further.

    If this has helped you as much as it helped me, feel free to tip me some BTC 🙂

    1JYpgnCEHGmjzc2uHNgEH2DSmEHBSS3Q5G

    Thanks

Previous post:

Next post: