Clearly this one doesn’t belong on Mac OS X Hints, but I wanted to have it documented somewhere. There’s usually a Windows box of some sort in my home, for testing and game playing. The testing role for my physical Windows box has pretty much been replaced by VMware Fusion, so it’s really now a game playing machine.
As such, I upgraded it recently (well, rebuilt it from scratch is a better summary) with a new CPU and video card. I also wanted to put Vista on it, for one reason only: to run Crysis under DirectX 10, which only works in Vista. My Vista DVD is an upgrade installation, which must be installed from within Windows XP. Windows XP, when it came out, didn’t support SATA drives, so for a fresh install of XP (it was a new install on my newly-built machine), you must set the SATA mode in the machine’s BIOS to IDE. I did that, installed XP, and upgraded to Vista.
Vista includes AHCI support, so my SATA drives can be used in native SATA mode. However, if you just switch your BIOS to ACHI mode, and you were using XP in IDE mode, then your box will fail to boot — that’s because the AHCI drivers are not installed by default in Vista if you start with XP in IDE mode. So how do you switch Vista from IDE to ACHI mode?
The answer is in this Microsoft support document. You need to run the good old registry editor, regedit, and make one simple change. In regedit, navigate to HKEY_LOCAL_MACHINE » System » CurrentControlSet » Services » Msahci. Right-click on Start in the right-hand pane, and choose Modify from the pop-up menu. Change the Value box to 0, click OK, and exit regedit.
Shut down your machine, power it back up and launch BIOS setup, switch SATA mode to AHCI, and then save and boot into Windows. Problem solved. (Apparently I could have run a number of updates for XP to get AHCI support there, then upgraded to Vista. My method, though, was much faster–no need to run a slew of XP updates after install. Instead, I just launched the Vista installer as soon as XP booted for the first time.)