A lot of users have been messing around with AHCI after installing Windows 8. Some users have reported that they can’t get Windows 8 to install without disabling AHCI. Here at iTD, we haven’t faced any such issue though we have a quick fix for such a situation. It’s very easy to enable AHCI after installing Windows, although it isn’t visible to users as a simple switch on/off option.
What is AHCI and why should you care?
AHCI ( Advanced Host Controller Interface ) offers native command queuing and hot-plugging through SATA host controllers (Serial-ATA) for hard drives. In simpler terms, there’s no reason you shouldn’t use it.
Updated method
A lot of feedback has been given with our visitors sharing different levels of success in the below method. The method had worked for me and some users but an easier version for Windows 8 is below which seems to work for everyone. (Thanks Marcel!)
- In search, write cmd, right click it and run it in administrator mode.
- Type the following command to enable SafeMode boot:
bcdedit /set {current} safeboot minimal - Restart the computer and boot to the system BIOS. This is normally done by pressing the delete key during system boot.
- Update the ATA Drive setting in the BIOS from ATA Mode to AHCI Mode. Save the setting and restart your computer to boot into Windows.
- Windows will boot in SafeMode as per step 2.
- Open the command prompt again by following step 1 and run the following command to remove the SafeMode boot option:
bcdedit /deletevalue {current} safeboot - Restart the computer and boot normally.
While the below instructions don’t work for everyone, I’ll leave them here for those who found it useful.
So, how do you enable it? Do you have to reinstall Windows 8 again?
No. You can enable it without losing any data.
Enabling AHCI in Windows 8 requires going through the registry ( yes, it’s still there! ) but it’s slightly different than how it was done in Windows Vista and Windows 7. You still have to modify a registry key but the key is different now. Follow the guide below to enable AHCI in but make sure that you’ve backed up your data as well as registry, just in case.
- Exit all applications
- Go to the start screen and type in Regedit.
- If you see the UAC (User Account Control) dialogue box, just click continue.
- Locate the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\
- Locate the Error Control entry which should have a value of 3. Right-click on the entry name, select Modify, change the value from 3 to 0 and click OK.
- Open the StartOverride folder and locate an entry named 0 with a value of 3. Change the value to 0 by following the procedure in step 5.
- Restart and enable AHCI in your system BIOS
Quick Alternate Method
If you don’t feel safe playing with your registry like I don’t with a neighbor’s dog ( except that I can handle a messed up registry but not a messed up dog ), I suggest you download the registry file I’ve uploaded here. Just extract the .reg extension file from the compressed folder and run it and restart your computer. Do the obligatory AHCI switch on from your system BIOS and you’re good to go.
Disclaimer
As usual, the author and owner of this website aren’t liable for any loss caused by the above guide. If your neighbor’s dog bites you, your computer blows up or hard drive refuses to work, I hereby take no liability. Of course, if you say please, I’ll be more than happy to help. :)
Update: updated with some input from Lyrad Kcirhor, thanks!
Update for Windows 10 users: As commented below by gapooter, this method also works if you want to enable AHCI in Windows 10. Just follow the 2nd method of editing the registry and ensure you make a backup before proceeding.
Hello ;
although my Bios is set to “ATA” ; the “Start” value at HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesstorahc is “0” ,so ; how do I switch to AHCI ?I tried to just change the bios but I got the same expected error >
What error do you get? Does Windows not boot?
The “start” value at
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesstorahc is “0”. But if I set “AHCI” in my BIOS, Windows “says” to me that it has a error with this smile “:(” and it doesn’t boot and reboot in Recovery mode… It smth recovery then reboot and same. I dont know what can I do… Sorry for my english.
Same problem here :(
What to do??
Have you tried editing this key? HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesstorahcistartoverride
The key location has been updated in the post. Let me know if this helps.
do this sroahci have two folders 1 parameters 2 start override you have to go in start override there you can see a file valued with number 3 you have to change the 3 to 0 number that’s it
I’ve confirmed this; You must do this for it work; if you don’t Windows 8 will still shun you with a Blue Screen of Death for Attempting AHCI.
Have no idea why the start override folder exists…
confirmed too, it’s working
I have Windows 8 RP 64 bit instaled. Is your method fits to 64-bit OS version?
yes
I had that value default 0 so that’s not enought. There is StartOverride tree in Storahci. That value need to change to 0. After restart it works! (remember to change ACHI in bios tho).
Thanks! It helped
Helped me too but currently trying to activate marvell ahci drivers rather than microsoft’s
goto –
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesstorahcstartoverride
change the value to 0
The above instructions helped me, but still didn’t work. I eventually figured it out and wrote up some detailed instructions that may help somebody else:
1: Exit all Windows-based programs.
2: Search for regedit and open it.
3: Click Yes on the User Account Control dialog box, hit Enter.
4: Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci.
5: Locate the ErrorControl entry. (It should currently have a value of 3). Right-click on the entry name, select Modify, change the value from 3 to 0, click OK.
6: Open the StartOverride folder and locate an entry named 0 with a value of 3. Change the value to 0 by following the procedure in step 5.
7: Reboot and enable AHCI in BIOS or UEFI.
If you’re running an Asus M5A78 – M LX V2 Motherboard or similar none of this will work “trust me I’ve tried it all”! The Asus tech guys have confirmed if you want to run your drives in AHCI mode set it in the Bios before you Install the OS. (not stated in the manual I might add)
Asus email reply below :-
Dear Valued Customer,
Thank you for contacting ASUS Customer Service.
My name is Andrew and it’s my pleasure to help you with your problem.
Have you installed the OS under IDE mode?
If so, I am afraid to say you will have to reinstall the OS in AHCI mode.
Welcome to refer Troubleshooting & FAQ for ASUS products in ASUS website:
http://support.asus.com/servicehome.aspx?SLanguage=en
If you continue to experience issues in the future, please do not hesitate to contact us.
Best Regards,
Andrew
Oh well not what I wanted to here, OS re-install here we come
lyrad!!!!!thanks.it work great!!i caled microsoft but don.t know how to fix,after your detail i make spep by step your instruction and it work.THANK!!!!
I’ve just had a look at mine (I’m running an old G31m-E2sl with a Crucial SSD) and I don’t have the ‘start’ entry. The only things I have in ‘StartOverride’ are ‘(Default)’ (Value not set) and ‘0’ (value ‘3’). Any thoughts?
You can create the key yourself. Right click to create it.
it does not work for me ,, can not log in windows and restart
what to do ?
Thanks heaps. I’ve been trawling the net for days to find the solution to activating AHCI in Win 8 32 on my new OCZ Vertex 256 SSD. I cloned my HDD over to the SSD using True Image 2013 and this worked fine using IDE mode but I wanted the features of AHCI. I followed your instructions and everything is working fine now. Thanks again.
Doesn’t work on my Gigabyte GA-H67M-D2-B3 motherboard. Gives me BSOD every time I try it.
Confirmed, works perfectly with Gigabyte z77-ds3h board. My StartOverride folder entry was named 1, not 0, but still changed the value from 3 to 0. Quick and easy fix- THANKS!!!
Upgraded my Gigabyte GA-MA69VM-S2 with a Crucial V4 128GB
SSD installed Windows 8 then discovered about AHCI. Followed the
above instructions which enabled AHCI. Thanks for the
guide.
worked for me. Thanks!
It isn’t working with Gigabyte G31M-S2L. I tried several times but it always goes to BSOD.
This thread got me close to the solution but not all the way so I wanted to post to help others. The registry edit solution doesn’t always work because the ahci driver can go by many different names and you may have duplicates in your registry if you’ve for example installed updated ahci drivers that enter into the registry under a slightly different name. There is a much easier way than editing the registry, it’s quite silly actually, all you need to do is set your Win8 to temporarily boot in safe mode on next boot, then restart and edit your bios to turn on ahci mode before booting into windows safe mode. Then Windows will boot into safe mode and automagically adapt to the ahci mode. Then set windows to boot normally next time, restart, and viola! Full instructions on this MS tech note: http://support.microsoft.com/kb/2751461.
I was in a similar boat as you – none of the registry edit solutions seemed to quite work. The link you provided did the trick. Thanks!
I was in a similar boat – none of the registry edit solutions seemed to work, but the link you provided did the trick.
Thanks!
Thanks!!! This worked for me :)
1,000 thx Marcel.
I already alomst freaked out. Non of the registry solutions worked for me.
Intel Rapid storage technologie drivers (including the intel AHCI drivers) where not installing because I could not boot in AHCI mode and booting in AHCI mode did not get farer than the boot loader beacuse it did not find AHCI drivers…
With your work around Win8 installed the generic Microsoft AHCI driver in safe mode and after booting normally I was able to run the Intel rapid storage drivers that installed the Intel AHCI drivers. So finally, after more than a half day of trying, my PC is running with the right Intel AHCI drivers.
@Mick Fensome: Asus is funny. In my case I could not install with AHCI driver because the Win8 installer could not make partitions when AHCI was activated. It is like Asus telling you to make a choice that you can not make.
@Imran
In your article you write:
Locate the Error Control entry which should have a value of 3. Right-click on the entry name, select Modify, change the value from 3 to 0 and click OK.
In the registry file you have
“ErrorControl”=dword:00000003
I was anyway surprised to read this, because all other guides asked to set the registry value “Start” to 0. And this is correct in your registry file (this might do the magic).
Furthermore “DriverPackageId”=”mshdc.inf_x86_neutral_3f3676f4c0e7d884” seems to refer to a specific driver for your motherboard. You should delete it from your registry file example.
Hi Chilli,
Thanks for your response! :)
I’ll test this on another computer and update the guide.
did not work for me with asrock 770 everytime i switched to ahci win 8 would not load >_< anyone have another option other than reinstalling everything
Omg I love you. Thank you so much!
Great! Although mileages may vary as it seems from the posts above, this worked for me in a snap!
I’m very happy now. Thank you for sharing!
Gigabyte z77p-d3. Samsung 840 120 gb. Seagate barracuda 2TB. Window 8 Pro.
Thanks! Was lost till I found this!
No luck. I am suck with IDE and windows 8.
Thanks man! I was 5 minutes away from a full re-install.
Many many thanks! You saved my day in less than 3 minutes!
Looks good !
Noticed the storahci key is deeper modified later (and cannot be manually reverted; who cares ??…)
Hi, I tried this solution, but 1) AHCI was already selected in my BIOS and 2) when I checked the registry entries after rebooting, “0” in the StartOverride folder had reverted to a value of 3.
My computer also boots quite strangely. When I go to Desktop, it takes a few seconds for all of the icons to load. The programs also take some time loading in the tray (I don’t recall this problem with Win7. My computer is quite fast). Could it be due to the fact that I upgraded instead of doing a clean install?
Worked perfectly – mega thanks as the thought of having to do a fresh install having only just reinstalled os and fully updated everything plus downloading all my games was one i was not looking forward to ! This took all of five mins and job done ….wooo hooo :)
Your registry key file ruined my Windows 8. It made my computer ran in Automatic Repair loop. When I disabled automatic repair mode. I found out that your key cause Windows to load msahci.sys which is not available in windows 8. Please remove the registry key file you provided.
I had to load registry hive from recovery console and restore original storahci key.
Apologies for the inconvenience. I had written this based on what worked fine for me but I’ll modify it.
Same thing too. It was too easy to download. Couldn’t do it myself. Now, I have to reinstall windows. Maybe, hopefully I can fix it. Any idea how through windows recovery?
Dude can you please post the steps to disable the auto repair and stuff
Same problem here. I have no idea what to do now. I forgot to make a backup and now I may have to reinstall Windows from scratch. This sucks.
Same thing happened to me.. trying to fix it now
Ugh. Stuck in RAID mode. Nothing I try works. Do you think repairing windows while in AHCI mode would work?
Hello, Where can I find “StartOverride folder” ??
inside the “Services\storahci\” folder!
Oh my gawd thank you man! :D
Did not work for me. Got exactly the same error when starting up as I got when I tried enabling AHCI before modifying the registry key: boot device not available. Had to go back to “compatibility mode” in BIOS to start Windows successfully.
Also saved my day. Just wanted to do a refresh installation. Thanks.
Thank you,
Thank you very much for the information you provided. It completely resolved the same issue, I too have been having.
hi
thanks for guidance
i added this registry and then restarted and enabled ahci
but windows 8 couldn’t start
so i disabled ahci and restart pc again
but windows couldn’t start again
and then system restore opened and i restored my windows 8 finally windows started
what should i do ?
Hey I just wanted to confirm that the manual editing of key registries worked for me! Thanks man
I could not get this to work by default and I had done it previously in Windows 7. The answer and I think I should share for people who still have problems is outlined in MS KB article.
YOU SHOULD DO IT IN SAFE MODE
http://support.microsoft.com/kb/2751461
I try with manual form and with automatic form and Didn`t worked, when its loading SO give an error (Blue screen with :( smile) and restart. I have Samsung 840 ssd.
Thanks – I’m glad it’s working for some of you guys. I tried it, and was unsuccessful. I did a System Restore to earlier today (unfortunately, undoing a few hours of installations).
I have an HP HPE-510t with a Pegatron Cleveland-GL6 motherboard (Intel H67/Core i7-2600), with a RAID 0 (stripe) HDD array for data, and a Samsung 840 PRO 128 GB SSD with a clean install of Windows 8 Pro. RAID was the setup when I installed Windows 8. I installed the latest Intel RST driver package (1030).
I blame HP and their lack of support for PCs over 2 yrs old. For my Nov. 2010 machine: No BIOS update for Windows 8, no guide for Windows 8 OS upgrade or clean install methods, and no help enabling AHCI mode, or documenting UEFI in any shape or form. No GPT support, though my hardware’s capable. Same thing happened with my dv2000t laptop and Windows 7. Bye, HP.
This tip worked perfectly for me last time.
Today, my AHCI has been switched off (i don’t know why) and i’ve tried this tip again but this time, that don’t work. There is a BSOD on each boot when the AHCI is on in the BIOS.
DO NOT use the reg file posted! The instructions above are mostly correct but the file is not – if you did see the instructions to boot from CD/DVD and repair by setting all of the values below plus in storahci set the ImagePatch value to:
System32\drivers\storahci.sys
You only need to change these values to activate AHCI in Win 8:-
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci:
Start = 0 (default = 3)
Error Control = 0 (default = 3)
Then in the StartOverride sub-key set:
0 = 0 (default = 3)
The StartOverride doesn’t show in my loaded registry when Win 8 is normally booted so I couldn’t do this in advance. If you find the same then you might need to do the following – which is also the same way for any of you above to fix without a reinstall:-
Boot from a Win 8 CD/DVD of the same architecture (32 or 64-bit), select Repair then in the advanced tools open the command prompt.
Type regedt32 and press Enter.
Highlight HKEY_LOCAL_MACHINE, then File>Load Hive>[choose volume with Windows installed]:\Windows\System32\Config\SYSTEM>Open>Key Name = Restored_HKLM>OK.
Expand Restored_HKLM\ControlSet001\services\storahci.
Update the key values as required from above.
Close (updated values are saved as soon as you hit OK), type Exit and press Enter at the command line, shut down, boot up and enjoy Windows 8 with AHCI.
Post back if this doesn’t work for anyone.
Also see here if you’re trying with an earlier version of Windows – I fully understand how incredibly frustrating a non-booting Windows is!
http://social.technet.microsoft.com/Forums/windowsserver/en-US/b4d45d9d-4c90-4ab0-ae38-f1257ce9c608/windows-7-server-2008-r2-bare-metal-restore-0x0000007b-stop-error
Chris
Just got a sweet Samsung 840pro 512GB SSD and the Samsung Magician Software says it isn’t running optimally because of AHCI.
I’m on a Dell Latitude e6520 – and I tried everything above and then went into Bios and changed to AHCI but it doesn’t find my drive anymore and won’t boot.
It was previously on RAID (something to do with Intel rapid store tech?) if that makes any difference
IrishChris,
Me again – Also I had run the file previously and I just noticed your comment about “ImagePatch”. Presuming you mean “ImagePath”… mine says
\SystemRoot\system32\DRIVERS\msahci.sys
should I alter as per your recommendations?
Hi Steve,
Oops, sorry yes ImagePath!
2 Qs:
Assuming your laptop has Windows 8 installed (sorry, just checking)? If Win 7 or less leave it as you’ve quoted, otherwise yes change it to the path mentioned as msahci.sys doesn’t exist anymore in Win 8. (besides, it’s a safe change as easy to change back)
I take it you mean it said RAID in the BIOS and which has been changed to AHCI –
how many drives are installed or were installed when it was on RAID?
Cheers,
Chris
I’d only use this as a last resort but it doesn’t do any harm other than a few milliseconds at boot to enable (set Start = 0) all of these drivers in ControlSet001\services:
aliide, amdide, amdsata, atapi, cmdide, iastorv, intelide, msahci/storahci, nvstor, nvraid, pciide, viaide, LSI_SAS, LSI_SAS2
I used the second part and modified my registry regedit changed the 2 values from 3 to 0, then rebooted in bios, switched to ahci, but now my PC is bricked. It will only boot in a special mode called efi shell version 2.31 (my motherboard is a MSI 970a-g43). If I switch SATA mode back to IDE it boots to the same screen. I’m stuck don’t know what to write in this efi boot to make it work. Seems to be trying to map something but stops and wants me to enter something. Help??
PS : OP, I’m certain it would be greatly appreciated by many if you updated the reg file with the correct ImagePath value and removing the DriverPackageId value (not required).
Cheers.
Excellent solution. Worked perfectly for me and stoped those boot error or hal.dll problems. My performance score for my new SSD jumped from 7.4 to 8.0 with AHCI.
Many thanks !
Great instruction, just upgraded my E4300 with an SSD, reinstalled W8Pro and obviously failed to set AHCI. Had to search quite a bit until I found this, the instructions for the three register setttings worked like a charm. Start regedit, Set registry, reboot, set AHCI, done!
Thank you so much!
Thanks for this write-up! All this time I’ve been running a newer SATA III Intel SSDSC2MH120A2 drive on and holder EVGA X58 SLI motherboard in SATA II / IDE mode. I only found out I should update my AHCI settings in the BIOS after reading about the setting in another blog, but their write-up wasn’t intended for folks making the update after Windows is installed (modifying the BIOS without the registry updates above only results in pre-load crashing). A few hours later I stumbled across your post about making registry entries and voilà! My Windows 8 Performance Index score was “6.9” before, now it’s “7.6”.
Can someone help me here. I have Windows 8 pro 32-bit. My Bios only has – SATA Emulation IDE or Raid to choose from – I’m in IDE Mode.. No mention of ATA anywhere in the BIOS. In Regedit I don’t have “StartOverride sub-key set” <should this be added by hand? but I do have the storahci key with the "ErrorControl" REG_DWord set at 3 and a "start" REG_DWord set at 0.
Tried to update BIOS but to no avail.
Thanks for any info
James
worked fine, thank you
Just to potentially help out any others:
Previously had Blu-Ray + HDD on Win 8.1 in IDE mode. Anytime I went to AHCI, I had issues. Recently got an 840 SSD and wanted to activate AHCI. If I did, then I had massive slowdowns, Samsung Magician was saying I wasn’t on AHCI, etc. I took a look at my Motherboard+Manual, and saw that there was a second set of SATA ports across the board. I have 6 SATA III connectors, and another 2 SATA III connectors in a different area controlled by a different controller. I moved my Blu Ray to the other controller section, set in the bios to have AHCI on main, and IDE on secondary. Blazing fast now, additionally by following tweaks in this guide + comments. Turns out my Blu Ray was SATA I speeds and were really causing some issues XD
Hello, does this work for 8.1? It was recommended to solve freezing problems with mouse still moveable etc (a common problem I guess with 8.1 that at first everyone was saying could only be fixed if updated all drivers- but I dont know how to do that and I got this computer yesterday so Id think it was all updated…)I dont know how to do any of this stuff- no idea what it means ; ) anyway if anyone knows let me know…thanks!
Worked fine ;) Thanks a lot :)
I recently installed a Samsung SSD on a Windows 8.1 PC but I need to enable AHCI mode. I have followed the threads above but with all the registry edits recommended and the ‘it didn’t work….try this’ what is the final correct registry edits that I need? Can someone provide a more or less complete working solution?
Thanks for the article!
One question: what does the name “0” of the StartOverride sub-key means?
I see on my setup that I have few keys “2, 3, 4 and 5” each equal to 3 in storahci.
Thanks,
Wojtek
Just kind of an FYI that might help. I am using windows 8.1 that was an upgrade from WIndows Vista. When I tried to do the quick method above the bcdedit worked and windows was booting in safe mode, however bcdedit did not work in safe mode, possibly due to being an upgrade version of windows? regardless if this happens to you just go to start > Run > MSCONFIG. Click the boot tab up top and take the check out of safe boot. Restart and problem solved.
You could probably do the same to put windows 8 into safeboot minimal skipping the bcdedit all together as it is an option. however I got everything working and am now in AHCI. Thanks for the great post!
the first solution didn’t work (the minimal boot solution). However, the second solution (the registry tweak) worked like a charm. Perfect. thanks.
To my amazement, the safe mode method worked without a hitch. MSI 760gma p34(fx) mobo with an older seagate 250gb hdd (lol I know it’s tiny haha). Somebody should give this Marcel a medal.
First method worked for me. Thank you
I just did this for Windows 10! Used the 2nd method of editing the registry. Had to search for the StartOverride folder under storahci to edit that one.
I was able to do this in Windows 10 using the safeboot method. Worked without issue!
Windows 8 64 bit:
– step 6 fails however I managed to change the safeboot option in msconfig while Win was in safemode.
Safeboot method worked for me, used msconfig.exe to change to the safe boot option minimal, same again in safe mode, msconfig.exe uncheck it…Used in both Win10 and Win8.1
I am new to this site but can’t decided if this applies to MacBook pros? There is no BIOS menu that I know of.
This is not needed on a Mac
Do the obligatory AHCI switch on from your system BIOS. How I change this if its a mac?