Based on the post quoted below it should be able to use the information below to enable AHCI for Linux machines. As I don't have this laptop to test anything nor the spare time to attempt to make the changes blindly I will not be able to provide assistance for this.
It should enable AHCI for the nVidia controller based MacBooks that have MCP79 SATA controllers.
mrlinux, on Oct 3 2011, 05:22 AM, said:
setpci -d 10de:0ab5 9c.b=06
tested on 17" MBP 5,2 (mid 2009), works with linux
before:
00:0b.0 IDE interface: nVidia Corporation MCP79 SATA Controller (rev b1)
after:
00:0b.0 SATA controller: nVidia Corporation MCP79 SATA Controller (rev b1)
After comparing PCI registers from OSX and linux, there were only ~20 noteworthy differences. binary search took 10 mins. We don't need Nvidia documentation to discover these registers.
If windoze requires some driver magic to make this work, that part is up to you.
Update May 1, 2011
support for newest 2011 MacBook pro models with SandyBridge chipset has been added
This is currently a manually installed patch using the 'dd' command be sure to follow the instructions!
Windows Vista/7 MBR to enable AHCI. Tested on MBP 2011 17". If you do not have the exact same hardware configuration as the MBP 2011 17" it probably won't work.
See Euclid1's post for download of patched mbr.
To patch the MBR:
Copy the patchedcode.bin to a USB stick
Boot with MacOSX Setup CD (or Ubuntu Live CD or anything else where you can write the MBR to the disk)
In the first screen select your language, in the 2nd screen, open a Terminal through the menu at the top.
Go to your USB stick: cd /Volumes/USBSTICKNAME
IMPORTANT: Make a backup of your mbr first: dd if=/dev/disk0 of=backup.bin bs=512 count=1
Unmount all mapped drives from your disk0: umount /dev/disk0s1, umount /dev/disk0s2, etc.
Write the new mbr: dd if=patchedcode.bin of=/dev/disk0 bs=440 count=1
Type: reboot now
If for some reason it should not work for you, you can restore the MBR as following:
dd if=backup.bin of=/dev/disk0 bs=440 count=1
It is assumed that you already have set the msahci service start type to 0 in the Windows operating system.
Update 03-29-11
Johnsock with the help of others made a GUI application to run in OSX that modifies the MBR for you in a much simpler and less frightening way several months ago... I spaced out on updating the first post for a long while... direct link to his application is here ... Link to his post is here.
This is still considered to be BETA and most likely always will be. We are not responsible for any of your data if you or the application destroys it...so BACKUP!
It works on the INTEL CHIPSETS ONLY (having nvidia or ati graphics cards is ok) Running Leopard, Snow Leopard, or Lion (Tiger unknown) to make the modifications to the MBR
Currently NTFS only Partitions are supported (can share boot drive with OSX)
Mac Pro - All Models as of this writing
MacBook (Pro) - ICH8 (Core /2/ Duo/Solo) thru Mid 2010 Core i5 / i7
iMac - With Core i5 / i7
Will not work on ANY Nvidia chipset MCP**
Includes but not limited to Mac Mini
MacBooks (Pro) with nvidia chipsets
Currently working on support for:
Latest generation MacBook (Pro) with HM65 "sandybridge" Core i5 / i7 Chipset - Not sure of the issue at this time since the datasheets show the same configuration entry is needed for both i5/i7 chipsets to be enabled, it is entirely possible that something may have changed on apple's end with their EFI implementation that is causing this more research is needed.
Not working on support and NOT planning on support for:
Nvidia chipsets (NO documentation of PCI configuration registers are available)
Update 06-30-10
Support has been added for the latest generation Mac Book Pro 6,2 that are running the Intel i5/i7 processor chipset.
WILL NOT WORK ON 13" CORE 2 DUO MBP WITH NVIDIA CHIPSET, OR THE MAC MINI ALUMINUM
This script version 1.1 is only for the i5/i7 chipsets that are used in the Mac Book Pros
It may also work on the new Quad Core 27" iMacs - unable to find a tester -
It may also work on the newest Mac Pros - also no tester available -
Version 1.1 will not work on Mac Pro prior to 2009
Version 1.0 confirmed to work on all Mac Pros prior to 2009 should also work on Mac Book Pros prior to mid 2010
See post 137 for all details
The latest version of the Intel Rapid Storage Technology and some i5 chipset drivers are available on post 137
Instructions have also been added to the beginning of the script for registry editing in Win7 and Vista
------------------------------------------------------------------------------------------------------
UPDATE: 4-29-09
Here is a newer, easier method to perform the modifications to your existing setup with a script made by johnsock,
he is one of our newer members on the scene and it looks like he is off to a great start in helping those of us with
real Macs to enjoy Mac hardware in Windows to its fullest.
See post 44 for the detailed explanation of how he was able to do this.
To just download his AHCI modification file click here
It is still a work in progress but it does save a lot of work.
Here is a quick how to for his script.
Vista 32/64 Windows 7 32/64
- Run Regedit
- Navigate to "HKLM\System\CurrentControlSet\Services\msahci"
- edit the "Start" key and change the value from what it is to "0"
- this will tell Vista to check for AHCI on next boot and install the AHCI driver if it is in AHCI mode
- this installs the generic AHCI Microsoft driver and it is really a poor driver for your hardware and you will need the Intel ones to get full performance.
For Windows XP
You need to Force the installation of the AHCI mode driver over the Legacy driver
--Here is how--
- Open device manager
- Under IDE / ATA section open properties for the "Intel� 631xESB/6321ESB Ultra ATA Storage Controller - 2680"
- Update the driver for 2680 with one labeled 2681 (ESB2 SATA AHCI Controller)
- You will need to uncheck the box that limits you to only known supported drivers for your hardware
- Once installed it will require a restart
- Attempting to restart into XP without doing the next steps will leave you with a BSOD and instant reboot
Load up Mac OS X or Linux Live CD
OSX
Run johnsock's script in "Terminal" under 'sudo' mode.
ludacrisvps-mac-pro:~ ludacrisvp$ sudo -s Password: bash-3.2# /Users/ludacrisvp/Downloads/ahci.sh AHCI Master Boot Record Patch 1.0 Type /Users/ludacrisvp/Downloads/ahci.sh -h for command line options. Scanning drives... Windows partition found on /dev/disk4 Do you want to use this drive? (Y/N)y The MBR on /dev/disk4 appears to already be modified. bash-3.2# /Users/ludacrisvp/Downloads/ahci.sh AHCI Master Boot Record Patch 1.0 Type /Users/ludacrisvp/Downloads/ahci.sh -h for command line options. Scanning drives... Windows partition found on /dev/disk4 Do you want to use this drive? (Y/N)n Enter drive to use: /dev/disk1 Backing up MBR from /dev/disk1 to ./backup.mbr MBR backup complete. Detected Windows Vista Master Boot Record. Are you ABSOLUTELY sure you want to write the modified MBR to /dev/disk1? (Y/N)y Modified MBR written to /dev/disk1
If it fails to autodetect you can follow this below to manually choose your drive.
Open "Disk Utility"
Find the drive that has the OS you have installed the AHCI device drivers too.
Right click or Command click on the part of the drive that says how large it is and choose "Information"
This will tell you what drive to use when running the script.
Disk order can and does change randomly with each boot.
The drive below is my Windows 7 drive and in this case it is Disk4 as you can see in the red box.
Disk_4.jpg 357.09K
1191 downloadsNow you will want to run the full installation of the Intel Matrix Storage Drivers on any of the OSs that you have converted to AHCI mode.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
----------- OLD METHOD USING GRUB FOR LINUX INSTALLS NOT UPDATED FOR MAC BOOK PRO MID 2010 UNLESS REQUESTED ---------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Well I finally got around to figuring this out and here is how to do it.
The following will enable you to use all 6 SATA ports on the Mac Pro Early 2008
It might enable AHCI on other Mac platforms, however I have none to test with.
There was mention of a MacBook Pro user enabling AHCI for faster drive access in Windows on the OnMac forum.
This will let you add your Blu Ray or DVD SATA drives to your Windows install without losing one of your hard drive bay Sata ports.
This will increase your data transfer speeds in Windows from the 100mb speed of the legacy mode to the native 1.5gbps or 3.0gbps of your SATA drive.
I give credit to pipomolo42 for figuring out that it can be done.
And for the Modified Stage1 file for the GRUB boot loader.
It was done on the OnMac Forums in the middle of 2007 in an attempt to enable RAID 5 in Windows.
However it wasn't easy for the casual user or power user to get done with out having major headaches.
Here are the links to the required files that will be needed.
Download and install rEFIt from inside OS X
Windows XP/Vista x86/x64 Intel Matrix Storage Manager Drivers - Direct from Intel Website
Ubuntu Live 8.04.1 AMD64/EM64T Desktop Version - Download from your nearest location, make sure to choose the desktop version for the 64 bit based systems, this is a CD based version and will therefore fit on a CD-R.
boot.zip 55.84K
445 downloadsThe attachment "boot.zip" contains the Modified Stage1, Stage2 and Menu.lst that are needed for the GRUB installation to work properly on the Mac Pro.
----------------------------------------------------------------------
There are several methods that you can use to setup your system.
I will go through Vista and XP for those that are already installed.
It is possible to install fresh versions of the OS by loading the install disc
through grub and providing the drivers for the AHCI controller via USB
for Vista or slipstreamed in XP or Vista.
1. Load Live CD
- Run Partition Editor
- Create a small FAT32 Partition at the beginning of the drive
- I chose to make a 100mb partition and formatted it to FAT32
- This re-sized and moved my XP partition down the drive by 100mb - this took about 45 mins
2a. Reboot into XP (if using Vista skip this step and use step 2b)
- Force the installation of the AHCI mode driver over the Legacy driver
- Open device manager
- Under IDE / ATA section open properties for the "Intel� 631xESB/6321ESB Ultra ATA Storage Controller - 2680"
- Update the driver for 2680 with one labeled 2681 (ESB2 SATA AHCI Controller)
- You will need to uncheck the box that limits you to only known supported drivers for your hardware
- Once installed it will require a restart
- Attempting to restart into XP after this will leave you with a BSOD and instant reboot, this is caused because XP is loading the AHCI driver and it is failing to load because the hardware is still in legacy mode.
2b. Vista only
- Run Regedit
- Navigate to "HKLM\System\CurrentControlSet\Services\msahci"
- edit the "Start" key and change the value from what it is to "0"
- this will tell Vista to check for AHCI on next boot and install the AHCI driver if it is in AHCI mode
3. Load the Live CD again
- Copy the provided stage1, stage2, menu.lst to the following location on the 100mb partition
/boot/grub/
- Time to install GRUB bootloader
4. Open Terminal - enter following commands
sudo grub --device-map=/dev/null- This will tell GRUB to ignore the built in device map of grub and that you will define a new one.
device (hd0) /dev/sda- This maps your first hard drive as the device "hd0" in grub - keep in mind that GRUB counts up from 0
- grub will echo the command to confirm it was accepted.
find /boot/grub/stage1- This will echo the location of the stage1 file - ex: (hd0,2)
-This would translate to hard disk 1 partition 3 for normal people
- You will use the (hdX,Y) for the next step
root (hd0,2)- This tells grub where to obtain the stage1, stage2, menu.lst files from
setup (hd0)- installs grub bootloader to MBR of first hard drive in system
- it will echo if the installation has succeeded or had errors
quit- to quit grub
exit- to close terminal
5. Restart and remove Live CD
6. From rEFIt Menu choose boot Linux from HD (the Penguin icon)
7. It will load Grub then show a boot menu for
- Windows XP in AHCI Mode
and
- Windows Vista in AHCI Mode
8. Fully install the Intel drivers from the link provided above in each OS that is booting in AHCI mode for proper performance.
9. Take it from there and enjoy having 6 Sata ports that have the proper performance with NCQ enabled
--------------------------------------------------------
You may need to edit the "menu.lst" file for the appropriate locations of the operating systems on your machine.
On my system I am using an IDE drive for my XP install and that is also where grub is installed to.
I have 4 hard drives installed 1 IDE, 3 SATA.
I have 1 OS installed on each of their own physical drive.
On your system you might not be using /dev/sda because that is most likely going to be your Mac OSX drive
Chances are you will use /dev/sdb for the second sata bay in your case.
AHCI_working_in_vista.JPG 130.25K
817 downloads
AHCI_working_in_XP.JPG 110.17K
452 downloadsEdit reason:
Swapped this post to beginning with the 4th post to have the HOWTO be the beginning for the topic.
For some reason this topic will not notify me via email about replies so if I don't respond to questions right away that is most likely the reason.
I do however check back often.
Edited by ludacrisvp, 05 October 2011 - 07:09 AM.



Sign In
Create Account









