Problem gelöst: Windows 7 startet nach Mainboard-Tausch nicht mehr

Ein Tipp vorweg: Wer vor hat, sein Motherboard zu tauschen und dabei sein altes Windows 7 behalten will, sollte bereits vor dem Tausch dafür sorgen, dass der AHCI-Treiber msahci.sys geladen wird. Dazu startet man regedit, geht zu   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci  und setzt den Wert Start auf 0 (statt 3: Manueller Start, 0: Start beim Booten). Damit wäre das geschilderte Problem erst gar nicht aufgetreten.

Dabei kann man auch gleich  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl\AutoReboot  auf 0 setzen, damit man beim einem Absturz einen Blue Screen mit Fehlermeldung oder Fehlercode zu sehen bekommt.
Alternative: Rechtsklick auf Computer, Eigenschaften, Erweiterte Systemeinstellungen, Erweitert, Starten und Wiederherstellen, Einstellungen..., Automatisch Neustart durchführen: Häkchen wegklicken.
In dem Fall unten  wäre dann ein Blue Screen mit der Meldung "*** Stop: 0x0000007B" (Inaccessible_Boot_Device) erschienen.

Ein Fall aus der Praxis: Ich haben jemanden aus der Verwandtschaft beim Austausch eines Mainboards geholfen. Danach erschien beim Einschalten nach dem Boot-Menü kurz das kleine bunte Windows 7-Symbol in der Bildschirmmitte, danach brach der Bootvorgang ab und man landete wieder  bei den BIOS-Meldungen und dem Boot-Menü.
Auch ein Start im abgesicherten Modus (Taste F8) führte zum Absturz, eine Systemstartreparatur brachte auch nichts. Zum Glück konnte man im Bootmenü auch ein Windows 10 starten. Um die zeitlich begrenzte Gelegenheit auf ein kostenloses Windows 10-Update nicht zu verpassen, hatte ich dieses vor einiger Zeit in eine VHD-Datei (virtuelle Festplatte) installiert und aktiviert. Mit Windows 10 funktionierte alles problemlos, wenn auch etwas langsam, weil es im Gegensatz zu Windows 7 nicht auf SSD installiert war, und natürlich ohne die ganzen installierten Programme.
Zum Abschied hatte ich zunächst nur den Rat, sich entweder mit Windows 10 anzufreunden oder Windows 7 komplett neu zu installieren.

Am nächsten Tag bin ich dem Verdacht nachgegangen, dass es etwas mit AHCI zu tun hat und im BIOS die SATA-Einstellungen angeschaut, wo man zwischen IDE, AHCI und RAID wählen kann.
Diese habe ich dann von IDE auf AHCI geändert. Weil das Booten immer noch funktionierte, habe ich den Registry-Eintrag HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Start
von 0 auf 3 geändert. Damals, als ich meine SSD eingebaut hatte, habe ich hier mal was geändert, dann aber vergessen, auch im BIOS AHCI zu aktivieren. Mit dem Wert 3 brach der Bootvorgang dann an genau der selben Stelle ab wie bei meinem Verwandten. Also war ein neuer Besuch fällig.

Der Ansatz, im BIOS einfach die SATA Einstellungen auf IDE zu setzen, schlug Fehl, weil hier nur die noch Optionen AHCI und RAID zur Auswahl standen, und mit RAID funktionierte es auch nicht.
Also habe ich die Einstellungen wieder auf AHCI gesetzt und Windows 10 gestartet und dort per Window+R regedit die Registry geöffnet, und dort die Windows 7-Registry eingehängt.
Dazu markieren man HKEY_LOCAL_MACHINE, wählt im Menü "Datei" dem Punkt "Struktur laden...", muss dann das Laufwerk mit Windows 7 finden (hier J:) und dann die Datei
J:\Windows\System32\config\SYSTEM Öffnen. Als Schlüsselname habe ich einfach xxx eingegeben.
Als nächstes muss man nach HKEY_LOCAL_MACHINE\xxx\ControlSet001\services\msahci navigieren, und dort den Wert Start von 3 auf 0 ändern.
Dasselbe macht man auch mit ControlSet002, oder schaut vorher bei HKEY_LOCAL_MACHINE\xxx\Select\Current nach, welches ControlSet gerade aktiv ist (1 oder 2).
Danach xxx markieren und im Menü "Datei" "Struktur entfernen" wählen und mit Ja bestätigen.

Danach ließ sich Windows 7 wieder starten. Nach Installieren der auf CD beiliegenden Mainboard-Treiber funktionierte dann alles wieder wie vor dem Mainboard-Tausch, nur eben deutlich schneller.
Windows 7 ließ sich auch problemlos neu aktivieren, anscheinend hat man nach einem Motherboardtausch 3 Tage Zeit, Windows neu zu aktiveren, danach geht es möglicherweise nur noch telefonisch. Auch Windows 10 konnte nach dieser Aktion wieder aktiviert werden, man musste dazu allerdings den Windows 7-Key nochmals eingeben.
Anscheinend wird der Key unter Windows 10 nicht gespeichert, aber die Registrierungsserver erkennen, dass ein Windows 7 mit dieser Kombination aus Key und Hardware bereits erfolgreich aktiviert wurde
und aktivieren daher auch Windows 10.

Es wäre aber auch ohne Windows 10 gegangen. Dazu muss man beim Booten die F8-Taste drücken (ev. oft und schnell hintereinander) und dann "Computer reparieren" wählen.
Wenn das Reparatursystem gestartet ist, wählt man in der Liste die Zeile "Eingabeaufforderung" und gibt hier regedit ein.
Dies ist aber nicht die Registry von Windows 7, sondern des Reparatursystems, eine Art Mini-Windows (Windows PE). Daher muss man genau so vorgehen, wie oben beschrieben, also "Struktur laden" und das Laufwerk des "richtigen" Windows 7 suchen und dort die Datei SYSTEM öffnen.

Je nach Konfiguration können unterschiedliche SATA-Treiber für den Windows-Start nötig sein, die je nach Windowsversion auch verschieden heißen, für Windows 7 sind mir folgende Treiber bekannt: msahci, pciide, intelide, iaStorV (Intel RAID-Controller Windows 7). Im Zweifel aktiviert man einfach alle mit Start=0, im Reparatursystem sind diese jedenfalls alle aktiviert.

Hilft auch das nicht, kann es sein, dass das Motherboard Hardware enthält, die von Windows 7 nicht erkannt wird. In dem Fall kann man den Befehl DISM benutzen, um die nötigen Treiber zu installieren. Dazu legt man die mit dem Motherboard gelieferte Treiber-CD ein und gibt in der Eingabeaufforderung des  Reparatursystems z. B. Folgendes ein:
  DISM /Image:C:\ /Add-Driver /driver:D:\ /recurse
Hier läge Windows 7 auf C:\ und die Treiber-CD auf D:\ - welche Laufwerksbuchstaben es im jeweiligen Fall sind, muss natürlich vorher ermittelt werden. /recurse bewirkt, dass die gesamte CD nach Treibern durchsucht wird. Mehr über DISM erfährt man mit
  DISM /?  und  DISM /Image:C:\ /?

Im Reparatursystem Windows PE bekommt man den Explorer allerdings nicht ohne weiteres gestartet. Ein Trick hilft aber weiter: man gibt einfach notepad ein und wählt im Menü Datei Öffnen... und dort unten Alle Dateien (*.*) statt Textdateien (*.txt), und schon kann man durch die Verzeichnisse navigieren und mit der rechten Maustaste sogar versuchen, Programme zu starten. Allerdings lassen sich bei einem 64-Bit-System nur einfache 64-Bit-Programme starten, die alle nötigen DLLs im gleichen Verzeichnis mitbringen. Das 32-Bit-Subsystem ist im 64-Bit-Windows PE leider nicht enthalten, so dass 32-Bit-Programme nicht laufen.


1 Kommentar: