This issue occurs if the AHCI driver (Msahci.sys) in Windows Vista is disabled. This driver must be enabled before you change the SATA mode of the boot drive.
(1) Go to your BIOS: Advanced=>IDE Configuration: set Configure SATA#1 as to IDE.
(2) In your Vista, go to HKLM\SYSTEM\CurrentControlSet\Services\msahci\.
(3) Edit the "Start" key and change its value to 0.
(4) Then reboot the system, go to your BIOS: Advanced=>IDE Configuration: set Configure SATA#1 as back to AHCI, and reboot. Vista will detect the change, install new drivers, ask you to reboot once more.