Admins eHow SysAdmin Tips & Tricks

October 14, 2012

How to enable AHCI support for Windows on an iMac, MacBook or etc

Filed under: Apple — Tags: , , , , , , — admin @ 9:18 am

Apple does all the dirty tricks to show the iSheeps that Apple is a superior brand and provides superior performance compared to competition, the last one I found is that it disables AHCI support for Windows on its hardware. By disabling AHCI (which you have already paid for it and Apple hardware has this feature) it forces Windows to use ATA controller disk drivers which is considerably slower than AHCI and has less features. for example you wont have TRIM support on your SSD disk on your Windows.
By doing so, Apple gives you this feeling that Windows is slower than Mac OSX on the same hardware.
Hopefully there is a workaround for this fraud of Apple. You will need to modify the Master Boot Record of your Windows drive.
This workaround only works for Macs with Intel disk controllers. If you have Nvidia chipset, it will not work for you. You may confirm it in device manager of Windows.
First step is to make sure windows tries to load AHCI drivers after AHCI is enabled in boot loader. if you miss this step you will get a BSOD on booting windows and you will need to restore old MBR for windows too boot up.
Open your Windows registry editor and make sure “Start” Value in the following keys are set to 0.


Also we need the modified MBR which you can download from here : patchedcode.bin
Put the patchedcode.bin on a USB stick which we can use later.
OK, We are done in Windows. Now we need to boot using a Linux Live CD or MacOSX Install Disk. both will work.
Put the bootable CD or USB stick into your computer and reboot.
When you hear the boot sound (the white screen appears) hold down the option (alt) key. you should get the option to boot from CD or USB stick.
Boot from CD or USB stick and Open a Terminal Window.
First lets get a backup from current MBR so in case of any problems we can roll back to it.
Also please note I am assuming your windows disk is /dev/disk0. if yours is different you may need to change it.
Put in your USB stick, change directory to it and run the following command :

dd if=/dev/disk0 of=backup.bin bs=512 count=1

it will make a backup from your MBR to backup.bin
now it is time to write the new MBR to disk :

diskutil umountdisk /dev/disk0
dd if=patchedcode.bin of=/dev/disk0 bs=440 count=1

All done ! now reboot into windows :

shutdown -r now

In Windows you should see windows installs the new AHCI drivers. also you may check that by looking into device manager.
Also I recommend you to download and install “Intel Matrix Storage Manager” to update your AHCI drivers to intel’s ones.
If anything goes wrong, you can revert back to old MBR by following commands in Terminal :

diskutil umountdisk /dev/disk0
dd if=backup.bin of=/dev/disk0 bs=440 count=1
  • i did everything and started from a cloned macos, i got the message “resource busy” in terminal. What can i do?

  • Joe

    you have to unmount all the disks in disk0
    I would reccomend using mac internet recovery and use terminal through that way.

  • Joe

    diskutil unmountdisk disk0 will unmount all the disks in disk0 including disk0s1, disk0s2, disk0s3, and etc.

  • gekalegoret

    Hi every one. I have followed the instructions above by the letter and I’m please to write that I successuffly activated AHCI on a MacBook Pro (Oct 2006) Core 2 Duo running OS X 10.6.8, Bootcamp 3.3 and Win 7 x64. This tutorial works fine and was a life saver for me. Thank you very much to its author !

  • disqus_bAytQH2vmh

    I did everything as described here and it works, BUT there is a problem:

    WINDOWS 8.1 x64: crashes from time to time after sleep-mode. It wakes up, a
    bluescreen appears, it reboots and resumes from the point after falling
    asleep. (The wifi-driver doesn’t work from time to time, but enabling
    and disabling in device manager fixes it). My SATA-Driver is “Intel (R) 6
    Series/C200 Series Chipset Family 6 Port SATA AHCI Controller – 1C02”
    and dated to 25.07.2013, version, filename
    C:windowssystem32DRIVERSstorahci.sys. I guess it came from
    windowsupdate as I was not able to install the original intel driver
    from the website.

    WINDOWS 7 x64: Much more annoying: I’m not sure
    whether it happens after sleep or after a normal shutdown, but Windows
    boots into start-repair instead of the normal system. It tries to repair
    itself but is not successfull. A hard reboot fixes this problem. I
    wasn’t able to install the driver from the intel website but windows
    used the integrated intel ahci-driver.

    What’s wrong here? How can one fix the problem with sleep mode / suspend mode?

  • Adam Panagiotis

    Hi I followed your instructions but Windows takes for ever to load now and still no ahci support. When I restore from my Mbr backup I loved the option to boot to Windows when holding option on Mac startup. Maybe I backed wrong. Does anyone have the backup of the Mbr before they did the upload of the patch code file? It would help me out a bunch

  • Trung

    I was able to enable AHCI successfully following these steps accordingly; some were expected of you to know beforehand: “changing directory to patchedcode.bin location” means you’d have to do command: cd /Volumes/LOCATIONofPatchedcode.bin. I am running windows 10 with boot camp on a MacBook Pro Late 2011. Standard SATA AHCI Controller was installed after rebooting to windows from a black screen after following these steps. I couldn’t install drivers like the Intel 6 Series family port SATA AHCI controller, but was able to navigate to a working and compatible one called Intel(R) Mobile Express AHCI SATA Controller. I’ve ran into no problems yet; boot camp control panel still works, everything else works fine. I guess I’ll test out sleep mode to see if problems arise. If you have similar models and need help send me a reply

  • Trung

    Your MBR backup didn’t work as if you didn’t change anything?

  • Christian

    Hi, thank you for this very helpful post!! Is this working for Mac Book Pro Mid 2010 as well? Because most threads say it is just confirmed for mid 2011 and I would like to do it for my Mid 2010.

  • Trung

    Yes, it should work. Just follow step by step and enjoy maximum SSD performance 😀
    Here’s the performance test run of my 850 EVO SSD:


    Hallo Trung, I have the same MacBook als you. Mine is a Late 2011 MacBook Pro , too.
    Unfortunately I didn’t get this command to change Directory to USB managed. Terminal always sais. ‘ No such file or directory’. May you Can provide me a more detailed guidance Sinne I realy want my MB using AHCI with Windows 10. Every other Website refers to this missing instructions from the ich-forum. I would be very grathefull for any further help. Thanks in advance and best regards


  • Trung

    As mentioned, the command to change to your USB directory is “cd /Volumes/LocationOfYourUSB”

  • Carlos Ramirez

    I have a Macbook pro Late 2011 and installed a 1tb Samsung 850 ssd. I got WIndows 8 installed and I changed the registry of the two from the direction to 0. I had to go to Internet recovery terminal since the terminal from using the Mac set up usb kept saying resource was busy. I made the backup and got the patch installed. Now when I boot into the WIndows partition, it goes to a black screen with a flashing _ on it. Can someone help me on this?

  • Osman Bor

    Hi Trung, do you have also the sleep mode problem? I have managed to swap to AHCI but windows still has problems with sleep mode. BSOD every time when it wakes up from sleep mode

  • Rajeev Kumar Prasad

    Hi Trung, I have the same late 2011 MacBook Pro upgraded to Samsung 850 pro and I had windows 10 running. I followed the instructions here to update the registry and patched the MBR using patchedcode.bin. I am however not able to boot into Windows anymore. Did you run into similar issues? If so, how did you over come it. Did you install the Intel(R) Mobile Express AHCI SATA Controller driver prior to changing the registry and MBR patch?

  • Kristopher

    I followed the instructions and it was able to successfully convert the controller to AHCI, but I lost functionality with drives 3 and 4. I have the hard drives plugged in but will not detect in disk management or disk part. Anyone else running into this problem? I’m running mac pro 2009 with server 2012 R2.

  • Kristopher

    Oh and one more thing, if I go to the repair console and run bootrec /fixmbr and reboot, the drives do show up.

  • MacArthur

    I tried to follow this instruction but I don’t have the registry line HKEY_LOCAL_MACHINESystemCurrentControlSetServicesIastor. Only the other two and they are set to the value 3. What does it mean? I have MacBook Pro from Late 2011 and a Crucial MX200 512 GB SSD and the Mac is on El Capitan. Anyone knows how to go on?

  • Maurizio

    can anyone give a instruction how to do this in the recovery teminal?

    when i run diskutil list i dont see my usbdrive…

  • qwertzui

    same issue here with win 8.1 pro macpro4,1 2009 – did you find a solution?

  • Trung

    You only need to change IastorV and Iastor “Start” values to 0. I just redid my macbook pro again, but this time I was able to get the intel 6 series SATA AHCI controller driver

  • Trung

    simply use disk utility to mount the drives again, I assume.

  • Nick

    Help, please! After that a have “unmount device” in terminal. Winows does’nt boot.
    I have 2 partitions on my SSD, one for OS X, one for Windows
    Very thanks for any help

  • Peter

    Hi, I have a MBP 17″ late 2007, run on El Capitan and have windows 10 installed on BOOTCAMP.
    Does the instruction work on this combination as well.
    I already did changes in win10 registry
    which I set to 0

Powered by WordPress