The steps for Windows XP driver installation could use a little more explanation. There's a lot of buttons to click to perform the steps:
- 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
It's not clear what buttons to push (we're talking about Windows here) and the link for the Intel Matrix Storage Manager is out of date. I think we need an unmodified Windows XP to write down the exact steps.
Anyway, the reason you get a blue screen when you restart windows without having johnsock's AHCI MBR patch properly applied is because the device is still running as _2680 (IDE) but the_2681 (AHCI) driver is assigned to it. It's also possible that some utilities like bootsect.exe or bootrec.exe or EasyBCD may overwrite the MBR fix causing you to boot in _2680 mode again.
So what you need to do after booting with _2681 is restore the driver for _2680 back to the _2680 driver. Do the following:
1) Create a .bat file on your deskop with the following commands:
2) Double click the .bat file to run it. The Device Manager will appear. The "Show hidden devices" menu option can now be used to show all hidden devices and not just network controllers.
3) Find the disconnected _2680 device under "IDE ATA/ATAPI controller". It might have the name given by the _2681 driver "Intel ® ESB2 SATA AHCI Controller" so double check the Device Instance Id in the properties.
4) Update the driver. It should find the _2680 driver and assign it to the _2680 device and the device will now be named "Intel® 631xESB/6321ESB Chipset Serial ATA Storage Controller - 2680".
5) The currently connected _2681 device and driver should remain intact.
Now you can boot with the AHCI MBR or a normal MBR as long as your drive is not connected to the 2 extra SATA ports.
What we need is a method of installing the drivers without having to mess with the current device driver.http://www.insanelym...showtopic=38998
talks about a utility called DPInst.exe. The latest version (supports all Windows up to Windows 7) is available in the WDK
a 650MB download... Just install the Tools part.
1) Download the Intel Matrix Storage Manager, run the setup in a cmd window with the -a option to extract the drivers. The driver files iaAHCI.cat, iaAHCI.inf, iaStor.cat, iaStor.inf, and IaStor.sys will end up in a folder in \Program Files\Intel
2) Copy DPInst.exe to that folder.
3) Run DPInst.exe. It will install the 2 driver inf files, iaAHCI for device _2681 and iaStor for device _2682 (RAID).
4) Boot into Mac OS X and apply johnsock's AHCI MBR patch.
5) Boot back into Windows. You should be running with AHCI mode. I haven't tested this step myself because I've already modified my Windows XP partitions and Vista partitions with the older steps.
These steps should work with XP or Vista or Windows 7 (not verified). Just make sure to use the correct version of the drivers and DPInst.exe.
I wrote a script (attached - just change the extension to .sh) to keep track of MBR's, VBR's, active partitions, Windows partitions etc. on all my disks and partitions because getting stuff to boot in Windows is a pain. The MBR type needs to match the VBR type which needs to match the boot loader. rEFIt is nice that it sets the active flag of the selected partition. The problem though is that it doesn't clear the active flag on the other disks so that the Mac's legacy boot loader may still use an MBR on a different disk than the one you selected so I have to use the reinit command in fdisk to clear the active flags of disks I don't want to boot. EasyBCD is a nice utility but it will reinit all MBR's on all disks (even Apple Partition Map disks!) and it may write on HFS+ partitions if they're in the MBR so I just use it for editing BCD stores for the Vista/Windows 7 boot loader and use bootsect.exe for other tasks.
I've added some hashes for some custom MBR's. Basically, I have a different MBR for each disk with a different "Missing operating system" message for each to identify which disk the legacy boot loader is starting from if it fails. If you have a hash not in the list, then add it yourself to more easily detect if something overwrites the MBR or VBRs of your disks.