Windows 7 Forums

Welcome to Windows 7 Forums. Our forum is dedicated to helping you find support and solutions for any problems regarding your Windows 7 PC be it Dell, HP, Acer, Asus or a custom build. We also provide an extensive Windows 7 tutorial section that covers a wide range of tips and tricks.

Windows 7: Enable and/or Disable AHCI

27 May 2011   #1

Win7 Pro 64 bit
Enable and/or Disable AHCI

I hope I am not duplicating something here. . . . I did look - Honest!

I ran into an interesting problem and found an easy fix.

First: I wanted to ENABLE AHCI because (supposedly) it improves HDD performance. (It also enables a host of other interesting features.)

I discovered the trick of setting the START paramater in the registry key:
from "3" to "0" - and then making the switch in the BIOS.

I tried to switch back, and simply resetting this start value to "3" doesn't work.

The issue here is that there are actually TWO keys that control the IDE/AHCI interface choice:
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide
When the system is in IDE interface mode, the respective start values are:
  • msahci's START value is "3"
  • pciide's START value is "0"
When the system is in AHCI interface mode, the respective start values are:
  • msahci's START value is "0"
  • pciide's START value is "3"
It is entirely possible that setting the START value to zero in the key representing the interface type you wish to use, may cause the corresponding key in the other interface type to automagically switch to "3". I do not know this, nor have I tested it.

What works for me is setting both START values to the values that correspond to the interface I wish to use.

It should be trivially easy with a couple of judicious exports to make two registry files, one of which enables AHCI, the other of which enables IDE, by combining the two keys into one file, and setting the START parameters appropriately.

On a slightly different topic, one may ask WHY would someone want to flip back-and-forth between interfaces anyway? Shouldn't the interface selection be a "one-shot-deal"?

In my case I am taking some physical system hard drives and converting them to virtual disks (vhd's) to run them in virtual systems. Unfortunately the 2008-R2 hypervisor only supplies IDE type interfaces for boot devices. So - if I have a system configured for AHCI and want to virtualize it, I have to switch it back to IDE before I make the virtual image of the drive.

In the reverse scenerio, I may want to take a vhd image and write it to physical media - and if I want to ultimately set it to AHCI, I would have to make the corresponding flip in the Registry before swapping interfaces.

What say ye?


My System SpecsSystem Spec

27 May 2011   #2


Hi jharris. Welcome.

First: I wanted to ENABLE AHCI because (supposedly) it improves HDD performance. (It also enables a host of other interesting features.)
For me, the reasons to enable AHCI are Native Command Queuing and Hot Swapping, hot swapping being the most important to me.

As far as switching back and forth, I could imagine issues arising from that (including confusion as to what mode I was running in at a given time...).

But if I needed to do it as a utility to convert drives to vhd's, I would consider a dual boot, with the AHCI disabled boot just a simple OS with whatever utilities I needed to get the job done. Keeping it simple would mean a quick boot to desktop and a small partition.

My System SpecsSystem Spec
15 Aug 2013   #3

Windows 7 Professional 64-bit

Sorry to bump this thread, but I think this is related...
Anyway after having installed Windows in IDE mode, I decided to switch to AHCI, so I changed msahci's start value to 0. It rebooted fine and installed the necessary drivers, and I also noticed the hard drive WEI score increased. So it sounds like it should be enabled and working properly right?
However, I wanted to compare POST screen times for AHCI vs IDE, so I switched to IDE mode in BIOS, and I noticed that Windows was still able to boot... it supposedly isn't supposed to be able to boot right?
So I looked in the registry editor and realised the 'start' values for both pciide and msahci were both set to 0. So how can I tell if AHCI is properly enabled or not?

EDIT: Spoke too soon... I downloaded AS-SSD benchmark and in AHCI it reports that I'm in AHCI (msahci) mode. Then if I use IDE, it says it's in IDE (pciide) mode, yet Windows still boots. Is it bad to have both drivers enabled? I changed pciide's start value to 3, then tried booting in IDE and only then did it crash just as I expected. So is it better to disable pciide if I'm using AHCI? I mean since Windows didn't automatically disable it, I have no idea.
My System SpecsSystem Spec

23 Jul 2014   #4

windows 7 ultimate x64

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\msahci =0
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\iaStor =0 - for me as laptop user work it this one
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\iaStorV =0
My System SpecsSystem Spec

 Enable and/or Disable AHCI

Thread Tools

Similar help and support threads for2: Enable and/or Disable AHCI
Thread Forum
AHCI : Enable in Windows 7 / Vista Tutorials
How to Enable AHCI - No option in BIOS. Hardware & Devices
AHCI : Enable in Windows XP after OS install Tutorials
enable AHCI in Windows 7 Hardware & Devices
Windows 7...>SSD....Enable AHCI B4 Installation Installation & Setup
Coming from XP, enable AHCI for SATA drives? Hardware & Devices
AHCI to Enable or Not? Performance & Maintenance

Our Sites

Site Links

About Us

Find Us

Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

Designer Media Ltd

All times are GMT -5. The time now is 11:29 PM.
Twitter Facebook Google+

Windows 7 Forums

Seven Forums Android App Seven Forums IOS App

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33