How To Change Disk Controller Mode From IDE to AHCI Without Reinstalling Windows

Disk controller for SATA HDDs and SSDs can operate in both AHCI and IDE compatible mode, and usually can be reconfigured in the BIOS setup. AHCI mode is faster, has more features, and totally makes sense for modern operating systems. Unfortunately, if you forgot to switch from IDE to AHCI before installing Windows Vista/7/8/8.1/10, then you will get a BSOD (blue screen of death) during the next boot, whenever you switch.

This article explains how to switch disk controller from IDE to AHCI mode after installation of Windows, change from IDE to AHCI without reinstalling Windows.

Contents

1. Intended audience

This article is for users who want to switch SATA controller from IDE-compatible mode (aka ATA-compatible mode) to AHCI mode without reinstalling Windows.

Primary motivation for such a switch is to gain additional performance from disk I/O (SATA NCQ), especially for SSD hardware. Also recommendations from this article are useful in dual-boot configurations, where other OS must use SATA controller in AHCI mode, and Windows as a first OS is using SATA controller in IDE mode.

2. Check prerequisites

  1. Make sure your operating system is not Windows XP. If you are using Windows XP, then read this article.
  2. Reboot your PC, enter BIOS setup (press DEL or F1) and make sure that currently SATA controller is configured in IDE mode; and support of AHCI mode exists in BIOS.
Change from IDE to AHCI in Windows - Check BIOS Support For AHCI
Change from IDE to AHCI in Windows - Check BIOS Support For AHCI

3. Switch from IDE mode to AHCI by editing registry

1) Download Emergency Boot Kit and deploy it to USB thumbdrive. Set up your BIOS to boot from USB thumbdrive.

2) Run Emergency Boot Kit Registry Editor.

Change from IDE to AHCI in Windows - Starting Emergency Boot Kit Registry Editor
Change from IDE to AHCI in Windows - Starting Emergency Boot Kit Registry Editor

3) Open HKEY_LOCAL_MACHINE\SYSTEM registry hive

Change from IDE to AHCI in Windows - Opening Registry Hive
Change from IDE to AHCI in Windows - Opening Registry Hive
Change from IDE to AHCI in Windows - Registry Hive Is Ready
Change from IDE to AHCI in Windows - Registry Hive Is Ready

4) Note the value of Select\Current (NNN).

Change from IDE to AHCI in Windows - Note Current Hardware Configuration
Change from IDE to AHCI in Windows - Note Current Hardware Configuration

5) Go to registry key ControlSetNNN\Services\msahci:

Change from IDE to AHCI in Windows - Open HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001 registry key
Change from IDE to AHCI in Windows - Open HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001 registry key
Change from IDE to AHCI in Windows - Open HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services registry key
Change from IDE to AHCI in Windows - Open HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services registry key
Change from IDE to AHCI in Windows - Open HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\msachi registry key
Change from IDE to AHCI in Windows - Open HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\msachi registry key

6) Set value Start=0 (it means "loaded by kernel loader").

Change from IDE to AHCI in Windows - Enable Automatic Startup of AHCI Driver
Change from IDE to AHCI in Windows - Enable Automatic Startup of AHCI Driver

7) Go to registry key ControlSetNNN\Services\pciide:

Change from IDE to AHCI in Windows - Open HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services registry key
Change from IDE to AHCI in Windows - Open HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services registry key
Change from IDE to AHCI in Windows - Open HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\pciide registry key
Change from IDE to AHCI in Windows - Open HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\pciide registry key

8) Set value Start=3 (it means "started manually"):

Change from IDE to AHCI in Windows - Disable Automatic Startup of IDE Driver
Change from IDE to AHCI in Windows - Disable Automatic Startup of IDE Driver

9) Save changed registry hive HKEY_LOCAL_MACHINE\SYSTEM to disk (F2) and exit Emergency Boot Kit Registry Editor.

Change from IDE to AHCI in Windows - Saving Registry Hive
Change from IDE to AHCI in Windows - Saving Registry Hive

10) Choose to reboot in the main menu of Emergency Boot Kit, go to BIOS setup and switch SATA controller to AHCI mode before Windows is loaded, otherwise you get BSoD with stop code 0x0000007B: INACCESSIBLE_BOOT_DEVICE.

Change from IDE to AHCI in Windows - Rebooting Emergency Boot Kit
Change from IDE to AHCI in Windows - Rebooting Emergency Boot Kit
Change from IDE to AHCI in Windows - Switching From IDE to AHCI in BIOS Setup
Change from IDE to AHCI in Windows - Switching From IDE to AHCI in BIOS Setup

4. How to undo (switch back from AHCI to IDE mode)

1) Run Emergency Boot Kit Registry Editor.

2) Open HKEY_LOCAL_MACHINE\SYSTEM registry hive

3) Note the value of Select\Current (NNN).

4) Go to registry key ControlSetNNN\Services\pciide and set value Start=0 (it means "loaded by kernel loader").

5) Go to registry key ControlSetNNN\Services\msahci and set value Start=3 (it means "started manually").

6) Save changed registry hive HKEY_LOCAL_MACHINE\SYSTEM to disk (F2) and exit Emergency Boot Kit Registry Editor.

7) Choose to reboot in the main menu of Emergency Boot Kit, go to BIOS setup and switch SATA controller to IDE mode before Windows is loaded, otherwise you get BSoD with stop code 0x0000007B: INACCESSIBLE_BOOT_DEVICE.

5. Versions of Windows this article applies to

This article applies to all versions of Windows after Windows XP: Windows Vista, Windows 7, Windows 8 and 8.1 and Windows 10 (both 32-bit and 64-bit editions), as well as equivalent Windows Server operating systems.