AHCI nachträglich bei Windows 7 oder Vista aktivieren

Als ich Vorgestern ein Image eines Windows 7 Computers auf neue Hardware übertrug stellte ich überrascht fest, dass der Bootvorgang mit einem Bluescreen durch einen stop 0x0000007B error beendet wurde. Dieser Fehler kommt, wenn Windows auf seine Bootfestplatte nicht zugreifen kann. Wenn er nach einem Hardwarewechsel auftaucht, hat man meistens einen falschen oder nicht vorhandenen Treiber für den neuen Festplattencontroller. In meinem Fall hatte das Windows 7 aber den normalen IDE Treiber von Microsoft, der mit den meisten Controllern zurecht kommt.

Nach längeren Tests fand ich dann heraus, dass Windows ohne Probleme bootete, wenn man im BIOS den Controller von AHCI auf IDE umstellte. Windows kann also nicht mit AHCI umgehen, wenn man es mit IDE installiert hat.

Nach dem lesen von diversen KB-Artikeln von Microsoft habe ich aber eine Lösung gefunden. Man kann nämlich in der Registry einstellen, dass die AHCI-Treiber von Windows beim Booten geladen werden. Danach bootet Windows auch mit einem AHCI-Controller. Im folgenden nun eine kleine Anleitung dafür (sie funktioniert zumindest bei Intel-Controllern):

  1. Den Controller im BIOS auf IDE stellen, damit Windows startet
  2. regedit starten
  3. In den beiden Schlüsseln HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\iastorv und HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\msahci den Wert Start auf 0 setzen (das heißt er soll den Treiber gleich beim booten laden)
  4. Neustart von Windows und umstellen des Controllers im BIOS auf AHCI