InfiniteMac OSx86  


Reply
 
Thread tools Display modes
  #1  
Old 06-17-2009, 09:02 AM
ludacrisvp's Avatar
ludacrisvp ludacrisvp is offline
Cheetah
 
Join Date: Apr 2008
Location: Monticello, MN, USA
Posts: 14
HOW TO: Boot Mac Pro in AHCI mode under Vista and XP to use all 6 SATA ports

I have originally made this post on the InsanelyMac forums but I feel that it may be better suited on this site where everyone seems to be more welcoming and just more helpful in general.

I have made some updates to this post to include some extra information compared to the IM post.

The following will enable you to use all 6 SATA ports on the Mac Pro (original and Early 2008 for sure)
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.

There are currently two methods to enable this support.

The newer method created by johnsock where he created a script to run under OSX to modify the MBR of the disks that have Vista, XP or Windows 7 installed on them.

-----------------------------------------------------------------------------------------

Here is a quick how to for his script.
He does still consider his script to be a beta and that while it does have an auto-detect feature for the OS you are attempting to install it on, there is no guarantee that it will function and that you assume all risk if it doesn't work properly.

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.

Code:
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.



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

-------------------------------------------------------------------------------------------------------------
Here is the second approach and this is known to work well.

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
Code:
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.
Code:
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.
Code:
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
Code:
root (hd0,2)
- This tells grub where to obtain the stage1, stage2, menu.lst files from
Code:
setup (hd0)
- installs grub bootloader to MBR of first hard drive in system
- it will echo if the installation has succeeded or had errors
Code:
quit
- to quit grub
Code:
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.

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.



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

The attachment "ahci.zip" contains the script by johnsock to modify the MBR.
Attached Images
File Type: jpg Disk_4.jpg (357.1 KB, 559 views)
File Type: jpg AHCI_in_vista.JPG (135.7 KB, 547 views)
Attached Files
File Type: zip boot.zip (55.8 KB, 202 views)
File Type: zip ahci.zip (1.9 KB, 463 views)

REAL Mac Pro - OC 3.1Ghz -2x 2.8GHz -XFX 5770 1GB / 8800GT- 10GB RAM -1.55TB - 2 SATA Optical - Lion / Snow Leo / Windows 7 x64 / in AHCI Mode
Toshiba X205-SLI6 17" Dual 8600M GT 256MB SLI, 400GB -
Win7 x64 / Lion vanilla / Snow Leo Vanilla - Full QE/CI - WiFi Dell 1390 (pin 20 removed) - ALC268 VoodooHDA - working fingerprint reader, Bluetooth well everything but display brightness changing.
Dell poweredge T110 2.8ghz 8 core xeon server 8gb ram
Reply With Quote
  #2  
Old 11-01-2009, 04:45 AM
Nadav35 Nadav35 is offline
Cheetah
 
Join Date: Oct 2009
Posts: 1
Now that I got this working, whats next?

Hello fellow Mac brother!

I followed your directions as given and now my Windows 7 is fully AHCI functional. So, does this now mean I can hook up to my two hidden sata ports, SATA opticals and they will now boot into windows bootcamp and be recognized under bootcamp? So, far I only have 4 sata ii hard drives set up. However, I would like to know what else I need in order to make my sata opticals work in windows as boot drives?

Many thanks!! too bad Apple didn't enable this with bootcamp drivers.
Reply With Quote
  #3  
Old 11-08-2009, 09:26 AM
moskitos moskitos is offline
Cheetah
 
Join Date: Nov 2009
Posts: 1
I have problems with 1st option (johnsock's script).
What I'm doing:
1. Install fresh Windows 7 x64 (without BootCamp Drivers)
2. changing Start Value in registry
3. Reboting to Windows
4. Reboting do Mac OS X
5. Run johnsock's script on disk0 (1st partition with macosX, 4th with windows 7)
6. Rebooting to Windows (windows is finding same drivers, but drive is still working in ATA)
7. Rebooting Windows and installing Intel Matrix Storage Manager 8.9
8. Rebooting windows and now I've got a problem!

My system is restarting while is loading - all the time!

Can somebody help me?

If I have MacOSX and Windows on the same disk - I still should patch "disk0" or maybe disk0s3?

I've got MacBook Pro 3.1 (2007) with C2D 2.4GHz, 4GB RAM DDR2 667, 320GB Seagate 7200, ICH8M sata controller, MAC OS X 10.6.1

windows7mbr.zip is actual patched MBR
achimbr.zip - mbr which I patched
backup.mbr.zip - backup which was made while patching
Attached Files
File Type: zip windows7mbr.zip (570 Bytes, 24 views)
File Type: zip ahcimbr.zip (562 Bytes, 12 views)
File Type: zip backup.mbr.zip (575 Bytes, 7 views)
Reply With Quote
  #4  
Old 02-23-2010, 09:33 AM
Adrenaline1965 Adrenaline1965 is offline
Cheetah
 
Join Date: Feb 2010
Posts: 7
Infinitely great post!

I've been searching through various forums and posts to look for a solution to enable AHCI / ODD SATA ports under Boot Camp which was both elegant and explained in detailed and understandable step by step instructions, and this post is the first (and only?) post that fully meets these requirements! This is a true schoolbook example of how to post solutions for the Mac community!

Thanks to your detailed instructions and attached files I was finally able to get my two new SATA DVD / Blu Ray drives, connected to the ODD SATA ports of my Mac Pro, recognised and operational in less than 30 minutes! I can now watch Blu Ray Disks on my Mac.

Thanks a lot!

Greetz,

Bruno
Reply With Quote
  #5  
Old 04-30-2010, 08:15 PM
darkfader darkfader is offline
Cheetah
 
Join Date: Apr 2010
Posts: 1
grub2 has the setpci command nowadays which makes patching of grub unnecessary.
I wrote my own little guide on my blog.
Reply With Quote
  #6  
Old 01-24-2011, 12:15 AM
armadacd55 armadacd55 is offline
Cheetah
 
Join Date: Jan 2011
Posts: 1
Problems

Heya, first of all thanks for the tutorial, but I am having a few issues...
Under device manager I don't have: Intel® 631xESB/6321ESB Ultra ATA Storage Controller - 2680

only: Intel® 631xESB/6321ESB Serial ATA Storage Controller - 2680

When I go to try and install over this after unchecking the box to see all drivers I don't see a driver with 2681 or ESB2. I am running bootcamp 3.0 could this be why? All the drivers I have tried haven't worked and require a reinstall of windows...

Thanks for any help you can give me.

Tom



💡 Deploy cloud instances seamlessly on DigitalOcean. Free credits ($100) for InfMac readers.

Reply With Quote
Reply