Jump to content

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


ludacrisvp
 Share

423 posts in this topic

Recommended Posts

Hi johnsock,

 

Unsuccessfully install AHCI - 3 Times. MacBook4,1 - 10.5.7, (White early 2008) 4gb ram on Boot Camp XP Home Edition (SP3).

 

Current driver :

Intel® ICH8M 3 port Serial ATA Storage Controller - 2828.

Intel® ICH8M Ultra ATA Storage Controllers - 2850

 

Single HDD : disk0s3 - XP

Single ODD : disk1 - Mat{censored}a CD-RW CW8221

 

Kindly advise as unable to install AHCI for 13 months already.

 

Thanks , mike

Link to comment
Share on other sites

I went to try this on a iMAC witht he same chipset... for some reason it would not pick up the OS and replied with an Unknown OS. I dd it anyways just for kicks since there is a backup and it just boots to black :rolleyes:

 

I dont know if this is due to the setup I have or not though...

Did you get the "Unknown OS" response from my script or when rebooting?

 

 

Hi johnsock,

 

Unsuccessfully install AHCI - 3 Times. MacBook4,1 - 10.5.7, (White early 2008) 4gb ram on Boot Camp XP Home Edition (SP3).

 

Current driver :

Intel® ICH8M 3 port Serial ATA Storage Controller - 2828.

Intel® ICH8M Ultra ATA Storage Controllers - 2850

 

Single HDD : disk0s3 - XP

Single ODD : disk1 - Mat{censored}a CD-RW CW8221

 

Kindly advise as unable to install AHCI for 13 months already.

 

Thanks , mike

Mike,

 

Were you using my script for enabling AHCI in the MBR? If so, did you get any errors when running it? Please provide some more details regarding what you have tried during the install and I'll try to help.

Link to comment
Share on other sites

Did you get the "Unknown OS" response from my script or when rebooting?

 

It was from the actual script. When I went ahead and tried it anyways it would allow me to still choose boot drive as per normal but then went to a black screen and nothing from that point.

 

Also, the chipsets Mike and I have are the same ones, not sure if that plays into anything.

 

EDIT*

 

I also have the backup MBR file, although I dont know if that will help but can provide it if it helps?

Link to comment
Share on other sites

Hi johnsock,

 

Thank you for replying. My hope for installing AHCI have risen.

 

Yes, I was using your script. No errors except reading was erratic,

disk0 or disk1. Manually type /dev/disk0.

 

ODD drive - no need to install AHCI as Leopard indicated as ATA.

Tried installing on XP - no BSOD but ODD could not shown up.

Roll back driver - OK now.

 

Need to install on HDD - disk0s3 on disk utility. BSOD everytime

with ahci.sh. F8 , Last Known Good Configuration , Restore XP

from backup , Reinstall XP from OSX & then restore XP from backup

3 Times already. Forget to fixmbr, fdisk. MacBook now up & will try

again with your guidance. Need to upgrade to SSD so my programs

could run.

 

Install disk XP slipstream AHCI already.

 

[strings]

DiskName = "Intel Matrix Storage Manager Driver"

 

PCI\VEN_8086&DEV_2821&CC_0106.DeviceDesc = "Intel® ICH8R/DH/DO SATA AHCI Controller"

PCI\VEN_8086&DEV_2829&CC_0106.DeviceDesc = "Intel® ICH8M-E/M SATA AHCI Controller"

 

My current driver is Intel® ICH8M 3 port Serial ATA Storage Controller - 2828.

 

Intel latest f6flpy3288 is - 2829 . Need any reedit for f6flpy3288 ?

 

Current HDD - Fujitsu MHY2120BH - 120GB - 5400rpm.

 

Any chance of installing AHCI first before swapping to SSD ?

 

johnsock please help me , you are my only hope . Thanks , mike

f6flpy3288.zip

Link to comment
Share on other sites

It was from the actual script. When I went ahead and tried it anyways it would allow me to still choose boot drive as per normal but then went to a black screen and nothing from that point.

 

Also, the chipsets Mike and I have are the same ones, not sure if that plays into anything.

 

EDIT*

 

I also have the backup MBR file, although I dont know if that will help but can provide it if it helps?

 

Please send me the backup of your original MBR so I can take a look at it. Do you now or have you ever had any other bootloaders installed on that drive?

 

 

Hi johnsock,

 

Thank you for replying. My hope for installing AHCI have risen.

 

Yes, I was using your script. No errors except reading was erratic,

disk0 or disk1. Manually type /dev/disk0.

 

ODD drive - no need to install AHCI as Leopard indicated as ATA.

Tried installing on XP - no BSOD but ODD could not shown up.

Roll back driver - OK now.

 

Need to install on HDD - disk0s3 on disk utility. BSOD everytime

with ahci.sh. F8 , Last Known Good Configuration , Restore XP

from backup , Reinstall XP from OSX & then restore XP from backup

3 Times already. Forget to fixmbr, fdisk. MacBook now up & will try

again with your guidance. Need to upgrade to SSD so my programs

could run.

 

Install disk XP slipstream AHCI already.

 

[strings]

DiskName = "Intel Matrix Storage Manager Driver"

 

PCI\VEN_8086&DEV_2821&CC_0106.DeviceDesc = "Intel® ICH8R/DH/DO SATA AHCI Controller"

PCI\VEN_8086&DEV_2829&CC_0106.DeviceDesc = "Intel® ICH8M-E/M SATA AHCI Controller"

 

My current driver is Intel® ICH8M 3 port Serial ATA Storage Controller - 2828.

 

Intel latest f6flpy3288 is - 2829 . Need any reedit for f6flpy3288 ?

 

Current HDD - Fujitsu MHY2120BH - 120GB - 5400rpm.

 

Any chance of installing AHCI first before swapping to SSD ?

 

johnsock please help me , you are my only hope . Thanks , mike

 

Mike,

 

If the driver being detected is the 2828 variety, the controller in still in legacy mode, not AHCI. When slipstreaming, the Intel driver appears to be installed, but it has already configured itself for legacy mode. In order to get AHCI working you have to force the driver to re-detect the controller and drives and then reboot. Before allowing Windows to load, you must then run the AHCI script. After that, Windows will re-detect the SATA devices correctly in AHCI mode.

Forcing this re-detection is outlined in the original post for this thread by ludacrisvp. The registry change that does this is for the Microsoft AHCI driver, not the Intel one, though. You may have to forgo slipstreaming your driver and do it manually in accordance with ludacrisvp's instructions. You can then install the Intel driver for full support.

There may be a way to toggle a re-detection with the Intel driver, but I'm not sure how you would go about it. I'll look into it further to see if I can come up with something.

Also, the disk0/disk1 detection problem is known and I haven't had time to fix it yet. It only happens when there are multiple drives in the system. Typing in your actual Windows drive will always work, though, assuming it has a recognizable MBR on it.

Link to comment
Share on other sites

Hi johnsock,

 

Attached detail system report.

 

Disk0 have 4 partitions.

0s1 - EFI (GPT Protective Partition) - 200MB

0s2 - Leopard - 54.88GB

0s3 - XP - 56.59GB

0s4 - Unallocated - 126MB

 

Boot Camp (Kbd.mgr.exe) created one safe haven - Disk0s4 to hide

from frequent viruses coming only from M$ OS. He proclaimed it

Wastage Of Disk Space and allocated it for himself only. Joke , lah

mike

 

Hi johnsock,

 

Thank you for your quick reply.

 

I forced installed ahci.sh 3 times already following ludascrisvp

instructions - sudo -s .

 

Detached all USB external HDD, flash drive during installation.

Consider mine a Single HDD - Disk0 & ODD - Disk1.

 

Funny ahci.sh detected Disk1 ?

 

Maybe kbd.mgr.exe.app/?!+-% do not allow such change.

 

Waiting for your generous instructions.

 

Thanks, mike (KGB.mgr.app.exe)

 

 

.

Link to comment
Share on other sites

backup.zip

Please send me the backup of your original MBR so I can take a look at it. Do you now or have you ever had any other bootloaders installed on that drive?

 

The only thing I had installed is refit but later removed. This did work on the MAC Pro that we have here and worked wonderfully and it was done with the same process as the iMAC.

 

edit*

 

backup.zip

 

I was bad and didnt select the file to upload! haha

Link to comment
Share on other sites

I did on my MacBook Pro as johnsock writed. However, I can not boot into WinXP. MBP showed me a blanking document icon with a question mark on it. What happened?

I think the script may not work fine on MBP because of the code inserted into MBR.

How to open AHCI on my MBP? My new SSD is suffering from limitation of old mode.

Link to comment
Share on other sites

I did on my MacBook Pro as johnsock writed. However, I can not boot into WinXP. MBP showed me a blanking document icon with a question mark on it. What happened?

I think the script may not work fine on MBP because of the code inserted into MBR.

How to open AHCI on my MBP? My new SSD is suffering from limitation of old mode.

 

If im not mistaken (which i may be!) but it might have something to do with the chipset we all have? What chipset does your MBP have?

Link to comment
Share on other sites

Hi

 

I have followed the instructions and installed the intel matrix storage console in windows 7 (build 7022) and used johnsocks script in osx. however now in windows 7 i cant see any other operating system through bootcamp. but when i am in osx i can switch to windows. i have my osx installed on 2 ocz summit drives raid 0. Im pretty sure everything wnet smoothly so im not sure what is wrong.

 

can anyone help?

Link to comment
Share on other sites

  • 2 weeks later...

Hi johnsock,

 

I tried install the intel AHCI drivers (IATA88ENU.exe) on the windows xp drive of my MacPro (1st gen 3GHz dual quad core) and then used your script, but got a brief BSOD flash and then nothing. So I restored the old MBR, and went for the "last known safe" option and all was fine again. No problems (other than the initial gut-wrenching panic) but no AHCI. :wallbash:

 

However, I suspect my MBR is different, as I think during defragmentation by PerfectDisk, the MBR gets changed. Or perhaps it's down to my using NTFS-3G on the mac. Anyhow, I wondered if your MBR skills might be able to help me out if I sent you my backup.mbr -- or at least confirm that my MBR is odd and that the only way to work it is to redo the MBR. If that's the case, what do you recommend? Does Apple's boot camp have it's own MBR or does it just use WinXP's stock MBR? ie can I use FIXMBR, or do I need to wipe the disk and redo the whole boot camp thing?

 

Another thought is that I have two physical drives for Windows, although only one has a bootable system, so the D Drive doesn't have an MBR, as it's not a bootable disk (or at least that's what I reckoned - but I've got used to being very wrong about stuff over the years). So do I in fact have a perfectly normal MBR and just need to give them both MBRs for this to work?

 

Thanks in advance for any light you can shed on this.

backup.mbr.zip

Link to comment
Share on other sites

  • 4 weeks later...

I have a 2006 Mac Pro which was successfully converted to AHCI mode with Johnsock's script. Thanks a lot for the good work.

 

I also own a MacBookPro from late 2008 with unibody case. Apple unfortunately switched from Intel to the nVidia MCP97 controller which is supporting AHCI version 1.2 according to my profiler under OS X 10.5.7. I say unfortunately because I do not find any separate AHCI driver as we do from Intel. I was wondering if that problem has been discussed here before. Search has not helped me. I'm mostly using 64-Bit Windows and have Vista Business and Win7 RC1-64 which I have tried. I can install both version thanks to the excellent Winclone program. Is anybody aware of a way to set the two internal SATA ports to AHCI mode in that laptop?

 

Thank you for your attention.

Link to comment
Share on other sites

  • 3 weeks later...

I have a MacBook Air 2.16Ghz (With the MCP79) and it seems that Johnsock's script do not work with theses, I will assume that the address to enable the AHCI is different that the one for the Intel chipset.

 

Anyone with this information ?

Link to comment
Share on other sites

I have a MacBook Air 2.16Ghz (With the MCP79) and it seems that Johnsock's script do not work with theses, I will assume that the address to enable the AHCI is different that the one for the Intel chipset.

 

Anyone with this information ?

 

 

Hello all,

 

I apologize for not responding to many of your posts here. I've been out of the country with limited internet access and very busy with work for a while. I will try to answer all questions that I can once I get a chance to go through all the posts I've missed. I want to address this and some other questions specifically since I've had some PM's about them while I was away.

 

My script WILL NOT work with the nVidia MCP79 chipset since it does not use the same PCI configuration registers as the Intel ESB/ICH models. I don't know all of the systems that use this chipset, but I know the new Unibody MB/MBP models are affected, as well as the MBA apparently. Pre-unibody models have Intel chipsets and work fine, as do all Mac Pro models. I can't speak for the iMac and Mac Mini models, but I suspect that the newer ones use the MCP79 as well. Someone please confirm this for everyone here.

 

I have a new unibody MBP and I'm working on a solution for enabling AHCI, but I'm not having much luck so far. The main problem is that nVidia does not publish the needed documentation for their chipsets, so I have no reference material to work with. I'm sure this information is available to their licensees, but I'm not one. If anyone here has access to low level programming specifications for the MCP79 and is allowed and/or willing to share it, please PM me with the details. Any nVidia engineers here, your help would be greatly appreciated.

 

Also, there have been a few questions about the script not working for some people who have used the rEFIt bootloader. I have not had a chance to see if rEFIt installs it's own MBR, but it appears that this MAY be the case. I'm working this out currently and I'll update the script accordingly if this turns out to be true. If anyone can confirm or deny that rEFIt modifies the MBR, please let me know.

 

I've also been thinking of making a native OSX application for patching the MBR that would take the place of the script. What do you guys think? It would require a little work on the front end but would be easier for me to modify if needed down the road. Bash scripts are great, but they hurt my head.

 

I'm glad to see this is getting some use and I hope we can figure out how to get AHCI working on the newer systems. I'll post updates if they become available.

Link to comment
Share on other sites

Hello all,

 

I apologize for not responding to many of your posts here. I've been out of the country with limited internet access and very busy with work for a while. I will try to answer all questions that I can once I get a chance to go through all the posts I've missed. I want to address this and some other questions specifically since I've had some PM's about them while I was away.

 

My script WILL NOT work with the nVidia MCP79 chipset since it does not use the same PCI configuration registers as the Intel ESB/ICH models. I don't know all of the systems that use this chipset, but I know the new Unibody MB/MBP models are affected, as well as the MBA apparently. Pre-unibody models have Intel chipsets and work fine, as do all Mac Pro models. I can't speak for the iMac and Mac Mini models, but I suspect that the newer ones use the MCP79 as well. Someone please confirm this for everyone here.

 

I have a new unibody MBP and I'm working on a solution for enabling AHCI, but I'm not having much luck so far. The main problem is that nVidia does not publish the needed documentation for their chipsets, so I have no reference material to work with. I'm sure this information is available to their licensees, but I'm not one. If anyone here has access to low level programming specifications for the MCP79 and is allowed and/or willing to share it, please PM me with the details. Any nVidia engineers here, your help would be greatly appreciated.

 

Also, there have been a few questions about the script not working for some people who have used the rEFIt bootloader. I have not had a chance to see if rEFIt installs it's own MBR, but it appears that this MAY be the case. I'm working this out currently and I'll update the script accordingly if this turns out to be true. If anyone can confirm or deny that rEFIt modifies the MBR, please let me know.

 

I've also been thinking of making a native OSX application for patching the MBR that would take the place of the script. What do you guys think? It would require a little work on the front end but would be easier for me to modify if needed down the road. Bash scripts are great, but they hurt my head.

 

I'm glad to see this is getting some use and I hope we can figure out how to get AHCI working on the newer systems. I'll post updates if they become available.

 

hey johnsock i'm a noob and i don't really know what i'm doing but maybe this can help :unsure: i have a 730i chipset mobo which uses the desktop version of the MCP79. i set my bios to IDE AHCI and RAID and booted a knoppix cd and use lspci to dump the PCI configuration space in each mode. does this help? can i do something else?

Dumps.zip

Link to comment
Share on other sites

I tried the script method today and it apparently failed.

 

I own a MacPro 1.1, purchased in 2007. I installed Windows XP with Boot Camp on the same disk as OS X. When trying to update the driver it wasn't listed, so I downloaded one from Intel (S5000 something) and installation seemed to go fine.

 

Upon restart I booted into OS X and executed the script in Terminal. I ended up with a modified MBR, a backup.mbr (attached) and ahci.mbr (also attached). However, I can now no longer boot into Windows, even in safe mode, as it automatically reboots during the start up routine.

 

I then took a quick look at the two create MBR files and to my surprise the backup file actually says "Invalid partition tableError loading operating systemMissing operating system". The other file says "Bad partition tableBad OSNo OSCK" instead.

 

In case it help: During the procedure I was first inclined to use the actual BOOTCAMP disc number, but entering /dev/disk1s3 resulted in "Unable to read MBR". Using /dev/disk1 then created the attached files.

 

Confused,

 

Achim

backup.mbr.zip

ahci.mbr.zip

Link to comment
Share on other sites

I tried the script method today and it apparently failed.

 

I own a MacPro 1.1, purchased in 2007. I installed Windows XP with Boot Camp on the same disk as OS X. When trying to update the driver it wasn't listed, so I downloaded one from Intel (S5000 something) and installation seemed to go fine.

 

Upon restart I booted into OS X and executed the script in Terminal. I ended up with a modified MBR, a backup.mbr (attached) and ahci.mbr (also attached). However, I can now no longer boot into Windows, even in safe mode, as it automatically reboots during the start up routine.

 

I then took a quick look at the two create MBR files and to my surprise the backup file actually says "Invalid partition tableError loading operating systemMissing operating system". The other file says "Bad partition tableBad OSNo OSCK" instead.

 

In case it help: During the procedure I was first inclined to use the actual BOOTCAMP disc number, but entering /dev/disk1s3 resulted in "Unable to read MBR". Using /dev/disk1 then created the attached files.

 

Confused,

 

Achim

 

Achim,

 

You need to restore from the backup MBR and install the correct driver using the instructions posted here by ludacrisvp. Your computer is rebooting because the AHCI mode MBR is installed properly, but without the correct driver, Windows will BSOD and then automatically reboot. Making Windows work after switching from legacy to AHCI mode is tricky and involves more than just installing a driver. This is true on any Windows computer, not just Macs using this script.

 

The messages you see regarding partition table errors are supposed to be in the MBR. Those messages are displayed at boot time when the MBR encounters an error. The messages you see are correct.

 

The correct use would be /dev/disk1 rather than /dev/disk1s3 because the MBR is stored on the first sector of the disk and not associated with any particular partition.

 

Hope this helps

 

 

hey johnsock i'm a noob and i don't really know what i'm doing but maybe this can help ;) i have a 730i chipset mobo which uses the desktop version of the MCP79. i set my bios to IDE AHCI and RAID and booted a knoppix cd and use lspci to dump the PCI configuration space in each mode. does this help? can i do something else?

 

I looked at the dumps you sent and I can see that the MCP79 reports different ID's based on which mode it's in, just like the Intel chipsets. I still can't figure out how to write configuration data to the chipset, though. It's good to have someone here with an easily switchable nVidia chipset to obtain data from. I'll see what else I can think of for you to try out on your system and let you know. Thanks for the help!

Link to comment
Share on other sites

Achim,

 

You need to restore from the backup MBR and install the correct driver using the instructions posted here by ludacrisvp. Your computer is rebooting because the AHCI mode MBR is installed properly, but without the correct driver, Windows will BSOD and then automatically reboot. Making Windows work after switching from legacy to AHCI mode is tricky and involves more than just installing a driver. This is true on any Windows computer, not just Macs using this script.

Thanks for the response, John. I will try again... (how o I restore the backup...? :P)

 

So apparently the installation of the intel driver went wrong somewhere? Maybe I used the wrong one? It didn't seem to available in the driver database within windows and on the intel website there was several choices, how to make sure I use the right one?

 

I understood thing sare tricky, but thought that according the instructions it was straight forward:

- install AHCI driver (correct one...; are there wrong ones?)

- run the script modifying the MBR

- install Matrix Storage program from intel

[That's also just about as far as my knowledge/courage ratio will get me. Your and ludacrisvp's description is the best (and almost only) one I could find and which appeared easy enough for my level. Willing to go beyond with guidance :hysterical:]

 

Achim

Link to comment
Share on other sites

Achim,

 

You need to restore from the backup MBR and install the correct driver using the instructions posted here by ludacrisvp. Your computer is rebooting because the AHCI mode MBR is installed properly, but without the correct driver, Windows will BSOD and then automatically reboot. Making Windows work after switching from legacy to AHCI mode is tricky and involves more than just installing a driver. This is true on any Windows computer, not just Macs using this script.

 

The messages you see regarding partition table errors are supposed to be in the MBR. Those messages are displayed at boot time when the MBR encounters an error. The messages you see are correct.

 

The correct use would be /dev/disk1 rather than /dev/disk1s3 because the MBR is stored on the first sector of the disk and not associated with any particular partition.

 

Hope this helps

 

 

 

 

I looked at the dumps you sent and I can see that the MCP79 reports different ID's based on which mode it's in, just like the Intel chipsets. I still can't figure out how to write configuration data to the chipset, though. It's good to have someone here with an easily switchable nVidia chipset to obtain data from. I'll see what else I can think of for you to try out on your system and let you know. Thanks for the help!

 

setpci in linux or WPCREDIT in windows can modify the PCI configuration data. maybe you can boot from USB w/o loading a IDE driver to play around with the registers.

Link to comment
Share on other sites

Thanks for the response, John. I will try again... (how o I restore the backup...? :()

 

So apparently the installation of the intel driver went wrong somewhere? Maybe I used the wrong one? It didn't seem to available in the driver database within windows and on the intel website there was several choices, how to make sure I use the right one?

 

I understood thing sare tricky, but thought that according the instructions it was straight forward:

- install AHCI driver (correct one...; are there wrong ones?)

- run the script modifying the MBR

- install Matrix Storage program from intel

[That's also just about as far as my knowledge/courage ratio will get me. Your and ludacrisvp's description is the best (and almost only) one I could find and which appeared easy enough for my level. Willing to go beyond with guidance :)]

 

Achim

 

You must install the needed driver and then modify the registry setting so that Windows will re-detect your devices upon reboot. Without this step, windows will start booting with the driver in legacy mode and crash because the controller is in AHCI mode. The driver you use is included with Windows, but you have to select it manually since Windows will think that it is not an appropriate driver for your hardware. It sounds like you may have missed the registry editing step. Just restore your MBR from backup and try again.

 

Here's how to restore the backup:

 

sudo fdisk -y -u -f ./path/to/backup.mbr /dev/rdisk0

 

Make sure you put the proper path to the backup MBR file and use the proper disk number. Also, that command uses rdisk instead of disk for a reason.

 

setpci in linux or WPCREDIT in windows can modify the PCI configuration data. maybe you can boot from USB w/o loading a IDE driver to play around with the registers.

 

I will take a look at WPCREDIT. Thanks!

Link to comment
Share on other sites

I was following the description for XP in the first post of the thread. The procedure jumps directly from driver installation to rebooting and script usage. I may be missing the forest for the trees but could you please mention what to change in the registry again?

 

I will then use your MBE restore description and try again.

 

 

 

As for the driver, I couldn't find an AHCI or "2681" in Windows' original database, which is why I downloaded one from intel. I had found a vague reference for the MacPro1.1 motherboard being a modified version of the S5000, that's why I used that. After unchecking that security check box I looked in the IDE/ATA section under intel, maybe

that's the wrong section?

Link to comment
Share on other sites

  • 4 weeks later...

Hi everyone!

 

I found this topic through a google search many months ago. At the time, I tried the original method with basically no sucess - I'm not to hot with Linux... So I gave up on the idea and stuck with OS X.

 

Looked at this thread again this month and I was really going to try it again, however after seeing johnsock's script I was delighted with the ease of use. My Win 7 RC1 worked perfect with it on my drive and I have now pre-ordered my copy of Win 7 Ultimate.

 

Just like to say a massive thank you to ludacrisvp for kicking this off and johnsock for making it possible for someone like me to do it with my eyes closed! :D

Link to comment
Share on other sites

 Share

×
×
  • Create New...