Jump to content

[HOWTO] Boot Macs with Intel Chipset in AHCI Win7 Vista XP Linux


ludacrisvp
 Share

423 posts in this topic

Recommended Posts

NVIDIA MCP79 SATA access mode:

 

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.

 

edit: note that the "setpci" command is only available in grub2, so you can add this command to your grub configuration after installing grub-1.99 or newer.

Link to comment
Share on other sites

  • 4 weeks later...
NVIDIA MCP79 SATA access mode:

 

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.

 

edit: note that the "setpci" command is only available in grub2, so you can add this command to your grub configuration after installing grub-1.99 or newer.

 

 

I have lion on mbp 6,1 and bootcamped with w7. I have a version of setpci that seems to work on os x. What are the next steps to enable ahci on w7 partition ? Thanks in advance for sharing information.

Link to comment
Share on other sites

  • 2 weeks later...
I have a version of setpci that seems to work on os x. What are the next steps to enable ahci on w7 partition?

This will not do anything for you. You will need to install the latest version of GRUB to your hard drive then add the setpci command to the boot options in grub for the windows os.

Link to comment
Share on other sites

Hello all, new around these forums but hopefully someone may be able to help me. So I looked though the entirety of these 17 pages, and please do forgive me if I may have missed it but I cannot find any information if a fix for the 5,2 MBP series has been found. I am very much hoping to see if not only AHCI can be enabled but also possibly get the Expresscard slot working as well. From the looks of the first post the only thing I can remotely see being possible to do such would be to use GRUB and SETPCI commands, however since I am not familiar with doing that, can someone please point me in the right direction. I will be running Windows 7 x64 SP1

 

As far as the eSATA Expresscard, here is some info I found that may work. http://www.insanelymac.com/forum/index.php?showtopic=186558

 

Thank You

Link to comment
Share on other sites

  • 3 weeks later...

any news with the Nvidia MCP79 chipset? I just installed my ssd today and after my clean install of Win7 on bootcamp i see that my drive is in IDE mode only. Never thought of that. I bought my ssd so i can run my windows faster, and i see i payed some cash for nothing :))

Link to comment
Share on other sites

Ok, after reading this topic i thought i try only to change the registry from 3 to 0 and force install standard 1.0 ahci controlloer. restarted the system, and everything worked allright. I benchmarked my ssd before and after and here are the pics. The ssd is a 320 intel of 120gb sata 2 and my chipset is nvidia MCP79. In the first picture is before changing the registry and force install and in the second and third is after. Is not what i was expecting, but it is an improvement, and is better then my 5400rpm hdd i had.

 

 

beforek.jpg

 

afterx.png

 

afterasssd.png

Link to comment
Share on other sites

Did you happen to do any testing on the speed of the old drive to compare to?

if you look a few posts up there are some instructions about how to make it work on your chipset you will need to download grub 2 and add the setpci command into the boot options for your windows drive to get proper ahci speeds. In my opinion the differences you posted are simply expected variances based on current usage of your machine during the time of the tests.

If it still has the IDE driver active then you will not see any improvement beyond random differences based on usage during test.

It should be rather simple to finish the setup into ahci mode.

Download grub 2 and install it to your hard drive .... Chances are there are instructions posted somewhere that detail grub 2 install on a Mac laptop. You may need to burn a live Linux DVD or cd to boot from and install grub while booted from that disc.

Link to comment
Share on other sites

Hi,

 

There is another/best method in order to activate AHCI mode ... but it's not complete.

 

Boot windows in EFI mode and without any tweaks AHCI mode is activated.

 

UNFORTUNATELY the only system i was able to boot in EFI mode is Windows 8 and is very unstable. Moreover there is some problems: video card doesn't work well (i think acceleration doesn't work), the bootcamp app doesn't launch (as for the trick here).

 

BUT one user (d3vi1) here (http://forums.macrumors.com/showthread.php?t=696523) is working on app which do the trick.

 

Maybe some users here could help and share

 

Thanks a lot for your attention and keep up the good work

Win7 x64 booting natively via EFI (no bios emulation)

Link to comment
Share on other sites

  • 5 weeks later...
  • 2 weeks later...

First of all, thanks to all involved for this guide (and please forgive my ignorance, I'm still learning here).

I just bought an OWC SSD for my 2008 Mac Pro 3,1, with the intention of installing Win7 in the empty optical bay. Ideally I'd like to have OSX and Win7 on 2 separate SSDs in the optical bay and use the 4 HDD bays for storage.

 

I have a few questions:

 

1. I've edited the registry and I'm about to update the driver. Under 'IDE ATA/ATAPI controllers' I see 2 entries for 'Standard Dual Channel PCI IDE controller'. Should I be updating both of these before running the MBR script?

Curently installed: 1TB HDD (Old Win7 drive), 240 GB SSD (new Windows 7), 350GB HDD (OS X Lion 10.7.2), DVD-RW

 

2. I'm having some trouble figuring out the correct Intel driver I should be installing. I've tried several links but all lead me to either a list of drivers or a page that no longer exists.

 

3. Lastly, to be clear, am I correct in thinking this will allow me to install the SSDs in the empty Optical Bay under my DVD drive or should I be putting one of the HDDs there?

 

Thanks very much in advance, any help is much appreciated.

Link to comment
Share on other sites

  • 1 month later...

NVIDIA MCP79 SATA access mode:

 

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.

 

Could this same "brute force" method be used to figure out the register changes needed for MCP89 AHCI windows 7 support?

 

I'm on a mid-2010 mac mini with a crucial m4 128GB drive.

Link to comment
Share on other sites

Hi,

I just enabled AHCI in Windows 7 on my Mac Pro 3.1 with a non EFI Graphics card and now the bootcamp panel is gone (I missed that one in this thread).

Long and short of it I need to boot back into OSX . I will probably have to install an EFI card to do this in the short term.I am hoping to try and do it from command line in Windows but not sure if that will work.

 

 

 

Had initial blinking cursor problems on startup after installing Intel Matrix Storage Manager V8.9. MBR may have been stuffed up by Parallels or PRAM reset, not sure which. Anyhow after much stuffing around trying to fix this I had to swap my Windows 7 install HDD to Bay 1 on my Mac Pro to be able to boot windows again.

 

Anyhow Intel Storage manager reports drives as Generation 2, however I am only getting around 3 mbps in Passmark benchmarks on my drives.

 

I thought I should be getting closer to 300mbps. I was actually getting better benchmarks before enabling AHCI.

 

Does this tweak only apply to SSD or SATA2 drives as well

 

My bad - I need to test an SSD Drive........................

Edited by avkdm
Link to comment
Share on other sites

  • 2 months later...

Hello all, new around these forums but hopefully someone may be able to help me. So I looked though the entirety of these 17 pages, and please do forgive me if I may have missed it but I cannot find any information if a fix for the 5,2 MBP series has been found. I am very much hoping to see if not only AHCI can be enabled but also possibly get the Expresscard slot working as well. From the looks of the first post the only thing I can remotely see being possible to do such would be to use GRUB and SETPCI commands, however since I am not familiar with doing that, can someone please point me in the right direction. I will be running Windows 7 x64 SP1

 

As far as the eSATA Expresscard, here is some info I found that may work. http://www.insanelym...howtopic=186558

 

Thank You

 

I patched my DSDT to enable the expresscard slot in linux. If there's a way to use a patched dsdt in windows, the one I posted here: https://bugzilla.kernel.org/show_bug.cgi?id=18722 will do the trick (you still have to compile it). Otherwise, you'll have to figure out how to make the same changes from the dsdt via setpci (look for the second "BUG" in the patched dsdt file).

 

sidenote: my mbp 5,2 expresscard port worked just fine in windows XP the (1) time I tried it.

 

Could this same "brute force" method be used to figure out the register changes needed for MCP89 AHCI windows 7 support?

 

I'm on a mid-2010 mac mini with a crucial m4 128GB drive.

 

Assuming the configuration is similar, I don't see why not... It's brute force but if you use the binary search method it goes pretty quick.

 

Hello,

 

in one of your posts, you stated that the NVIDIA MCP79 SATA access mode can be changed with the correct PCI values, which can be found out comparing the registers in OSX and Linux:

 

"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."

 

I need to change my MCP89 SATA controller to AHCI mode..

How did you find out the PCI values on OSX exactly? Which tools did you use on OSX and which tools did you use on Linux?

 

Regards,

Max

 

It's been a while but I believe I used lspci on both linux and OSX. I think getting lspci to work on OSX was a bit of a pain.

 

First, find the vendor:product number of the controller via lspci. Mine (mbp 5,2) was "10de:0ab5" for example, but modify the commands to use your own.

 

lspci -d 10de:0ab5 -xxx > config.dump

 

Run the above to dump the pci configuration, on linux and OSX. Compare the two dump files, find the differences (try wdiff). Add the correct setpci commands in grub to fix all the differences, but comment out the second half of them. When you reboot, test to see if the controller is in the right mode via lspci. If it is, then the specific register you need is in the first half. If it isn't in the might mode, the register you're looking for must be in the second half. You can continue the process until you find the exact register(s) required for the mode you want.

Link to comment
Share on other sites

Thanks for pointing out how to find the correct PCI register settings.

 

I tried it on my macbook with MCP89 SATA controller. I extracted the register values with

 

lspci -nn | grep SATA

lspci -xxxx -d 10de:0d88 > out.txt

 

on OS X (I googled for an OSX version of lspci, it is contained in MyHack 3.1) and used

 

setpci -d 10de:0d85 ADDR.b=VAL

 

to set the values on linux.

 

I did not succeed, however. It seems, that it is not possible to change the MCP89 SATA controller to AHCI mode without using EFI (?), as mentioned in another forum (forget where, sry).

I attached my value list to this post.

mcp89_ahci.txt

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Hello,

 

I have a Macbook Pro 8,2 15" with Mac OS X 10.7 I use boot camp to install Windows 8 Consumer Preview.

 

I have recently install a Intel 520 SSD of 180go and move my original hard drive in superdrive bay and everything works fine.

Windows is install on the SSD, MacOs is on Secondary hard drive.

 

But in reading your forum I realize the AHCI is not actived under windows, I have follow your instruction with the Euclid1's patched mbr because I have a mackbookpro Early 2011 but when I reboot my laptop after to have patched my mbr Windows put a error message who say "inacessible boot device"

 

Could you help me on this?

 

Regards,

 

sysdef

 

PS: just to be clear please fin bellow my complete configuration

 

Macbook Pro 8,2 15" Early 2011

2Ghz Intel i7

8 Go 1067 Mhz DDR3

INTEL SSDSC2CW 180A

secondary harddrive of 500 Go in superbay drive

Mac OS X 10.7 (11A511)

Windows 8 Consumer Preview build 8250 with boot camp

Link to comment
Share on other sites

I successfully enabled AHCI for my Mac Pro (2008) using the AHCI Enabler, thanks for the hard work! The performance is slightly higher (the WEI is 6.9 in IDE and 7.2 in AHCI). It also sleeps and wakes up well.

 

I do encounter a strange problem. I tried to install Intel RST, but the installer says my system "does not meet the minimum requirement". I got this message before when I tried to install Intel RST on the Mac Pro running in IDE mode.

 

Has anyone seen somothing similar before?

Link to comment
Share on other sites

  • 1 month later...

hi everybody ,

 

i have macbook pro 2011 i7/8g ram/256 ssd vertex 4 , my ssd rating under windows 7 was 6.9 after applying the mbr patch it become 7.9 , very good .

but the problem is bootcamp control panel didnt work , and sleep also didnt work , if there is any solution or other patched mbr or other method to enable ahci in windows 7 and make sleep working ?

 

thanks .

Link to comment
Share on other sites

...I tried to install Intel RST, but the installer says my system "does not meet the minimum requirement". I got this message before when I tried to install Intel RST on the Mac Pro running in IDE mode.

 

Has anyone seen somothing similar before?

 

There should be two versions of the RST driver - a RAID, and a non-RAID one... have you got the right one?

 

Can someone please post links and MacBook Pro RST drivers that worked for you?

 

Also a dumb question - if you force install the AHCI driver in windows, reboot, patch the MBR, and it DOESN'T work, you restore the MBR - Windows doesn't boot because it's now using the AHCI driver. What steps are people taking to reverse the AHCI driver install?

 

I'm using Windows 8 RP so there is no Last Known Good Configuration :worried_anim:

 

P.S. Thank you to everyone who's worked hard on this thread!

Link to comment
Share on other sites

Answered my own question - Windows 8 use SHIFT + F8 to go into safe mode if need be and roll back the AHCI driver in Device Manager. I thought this would be useful to post as I haven't read it anywhere in case anyone gets stuck.

---

 

The patchedcode.bin for MBP8,3 (or 2011 onwards notebooks) just tested and working fine (!!) on Windows 8 Release Preview x64 in case anyone wants confirmation before they go ahead.

 

I did a binary compare of my original Windows 8 MBR and the patchedcode.bin and the only differences in the first 440 bytes were the injected code.

 

Process I used:

1. Checked the registry that

HKLM/System/Current Control Set/Services/storahci -> Start = 0 (it already was on mine... this is the new regkey that replaces "msahci" from Windows 7 and below); and

HKLM/System/Current Control Set/Services/iaStorV -> Start = 0 (already was)

2. Force the SATA controller driver update to the Microsoft Standard SATA AHCI Controller in Device Manager

3. Reboot into the OS X setup disk, open the Terminal utility

4. unmount all volumes on my SSD (using e.g. "umount /dev/disk0s01" ... etc.)

5. overwrite the MBR with "dd if=patchedcode.bin of=/dev/disk0 bs=440 count=1"

 

Reboot and verified in Device Manager the Sata AHCI Controller is installed and working! Now benchmarks 475MB/s (vs. 285MB/s) on an Intel 520 240GB SSD.

 

Thank you Euclid1 for working this out for the i5/i7 MacBook Pros, you're a gem! and thank you everyone else for your background work.

  • Like 1
Link to comment
Share on other sites

Sleep works intermittently and seems to be dependent on what Mac you have, with Win7 x64 and my 2008 Mac Pro sleep does work when I have used it, I typically don't allow it to sleep though.

Bootcamp control panel does not work.

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

Has anyone investigated using rEFInd (fork of rEFIt that is still being maintained) to drive the process? It has a mode where you can add various parameters to grub entries and it can access PCI data before it boots windows. The rEFInd configuration web page shows an example that someone used to set their video to the right mode before launching windows (search for "PCI" on this page). The main stumbling block that I see is if the MBR boot code might reset the PCI state after the rEFInd script runs and before Windows is launched. Are the mods to the MBR to "add" PCI commands that weren't there, or does the standard MBR contain code to set the SATA ports into IDE mode and they are being modified to change it into AHCI instead?

Link to comment
Share on other sites

 Share

×
×
  • Create New...