Enabling AHCI on Vista

I’ve recently set up a server with Ubuntu, in the course of which I learned that Linux SATA RAID works best if you set the controller to AHCI in the BIOS. Typically this defaults to IDE.

More on Ubuntu later, but what if you dual boot with Windows Vista, or just want to enable AHCI on your Vista box?

Vista works fine with AHCI, and you will not run into problems with a new install. However, if you change this setting underneath an installed Vista, it will likely blue-screen on you. The trick is to edit the registry setting here:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci

Edit the Start key and change its value to 0. Then shut down, change the BIOS to AHCI, and reboot. All going well, Vista will detect the change, install new drivers, ask you to reboot once more, and it’s done.

Microsoft has a knowledgebase article on this, number 922976, though curiously it is not currently available in English. Perhaps that means there is some risk involved, or that Microsoft do not think you should fiddle with a working system. Consider yourself warned. However, the article is available in French, and Wikipedia suggests that English-speaking folk read it via Babelfish: