Kategorien
Allgemein Windows Wissen

Windows Update Fehler 0x800f0988 bzw. 0xC1900101 – 0x30018 (inkl. Lösung)

Heute widmen wir uns einem Patienten, bei dem das Windows Update plagt. Aktuell ist auf dem eher selten genutzten Gerät ein zur damaligen Zeit sicher aktuelles Windows 10 20H2 aktualisiert.

Ziel ist, das Gerät komplett durchzuaktualisieren.

Unsere schlimmste Befürchtung trifft ein, das Update endet in einer Fehlermeldung:

Offenbar tritt der Fehler 0x800f0988 gehäuft bei Feature Updates auf. In unserem Beispiel scheitern wir am Update von der Version 20H2 auf 21H2.

Nun, lange Rede, kurzer Sinn: Es gibt eine Lösung. Vorab möchte ich aber tatsächlich noch etwas weiter aufholen und aufführen, wie man derartigen Problemen zu Leibe rückt.

Erster Versuch – System File Check

Früher war es tatsächlich üblich und möglich, dass Programme nahezu beliebig in der Windows-Installation herumschreiben durften. Wenn z.B. ein Programm Version 1.01 einer Systembibliothek benötigt, hat es diese „stumpf“ im systemweiten Windows-Ordner installiert und das sogar dann, wenn dort bereits die aktuellere Version 1.02 residierte.

Das hat zu vielfältigen Problemen geführt was Microsoft veranlasst hat, Windows irgendwann mit einem Systemdateischutz auszustatten.

Wenn ein Programm eine Systembibliothek überschreiben möchte, dann leitet Windows diesen Schreibbefehl in einen separaten, für dieses eine Programm exklusiven Ordner um. Lesezugriffe werden ebenfalls in diesen Ordner geleitet. Sprich: Das Programm nutzt seine eigene Systembibliothek, der Speicherort dieser Bibliothek ist jedoch exklusiv und stört keine weiteren Programme.

Dennoch kommt es gelegentlich vor, dass Systemdateien oder Systembibliotheken beschädigt oder gar gelöscht werden. Kein Problem, für derartige Fälle gibt es einen „Klassiker“. Wir starten eine administrative Eingabeaufforderung / Powershell und geben folgenden Befehl ein:

sfc /scannow

Im Idealfall hat der Systemdateischutz – wie in unserem Beispiel – einen Fehler gefunden und repariert.

Wir starten Windows neu und probieren es einfach noch einmal.

Zweiter Versuch – Reparatur des Windows-Images

Neben sfc gibt es mit dism noch ein weiteres Tool, um ein versaubeuteltes Windows zu reparieren. Kleine Eselsbrücke: Wir können einfach nicht wiederstehen und gehen daher in der „Sorry, Could’nt Resist“ Reihenfolge vor: Scannen, checken, reparieren 🙂

Wir starten wieder eine administrative Eingabeaufforderung / Powershell und geben nacheinander die entsprechenden Befehle ein.

Zum scannen:

dism /Online /Cleanup-Image /ScanHealth

Zum überprüfen:

dism /Online /Cleanup-Image /CheckHealth

Zum reparieren:

dism /Online /Cleanup-Image /RestoreHealth

…in unserem Beispiel wurden keine weiteren Fehler gefunden. Sollte das bei euch anders aussehen – neu starten und noch einmal versuchen (das Update einzuspielen).

Dritter Versuch – Windows Update zurücksetzen

Mein nächster Schritt geht in die Richtung, dass irgendein Update „klemmt“.

Unter Umständen ist eine Update-Datei korrupt, irgendwelche Abhängigkeiten zwischen den Updates werden nicht aufgelöst oder auf der Festplatte residieren ältere Versionen von Updates, die durch neuere (funktionierende!) Pendants ersetzt werden.

Derartige Probleme lassen sich korrigieren, indem man die Dateien des Updatesdienstes löscht. Beim nächsten Update wird der Microsoft-Updateserver befragt und alles jungfräulich mit aktuellstem Stand heruntergeladen.

Windows greift laufend auf die Ordner zu. Zuerst stoppen wir (als Admin!) die dafür verantwortlichen Dienste die da lauten:

  • Windows Update (wuauserv)
  • Kryptografiedienst (cryptsvc)
  • Hintergrundübertragungsdienst (bits)
  • Windows Installer (msiserver)

Das Ganze lässt sich in einer Befehlszeile zusammenfassen:

net stop wuauserv & net stop cryptSvc & net stop bits & net stop msiserver

Die Daten werden in folgenden Ordner bereitgehalten:

  • C:\>Windows\SoftwareDistribution
  • C:\>Windows\System32\Catroot2

Um die Änderungen ggf. rückgängig machen zu können, benennen wir die Ordner um, indem wir die Zeichenkette .old anhängen:

ren C:\Windows\SoftwareDistribution SoftwareDistribution.old

ren C:\Windows\System32\Catroot2 Catroot2.old

Zu guter Letzt starten wir die eingangs gestoppten Dienste:

net start wuauserv & net start cryptSvc & net start bits & net start msiserver

Wir starten unser Windows neu, schubsen das Windows-Update erneut an und „gucken einfach mal“, was passiert…

Vierter Versuch: Selbstheilung

Windows verfügt über diverse Assistenten für zahlreiche Probleme. „Und eigentlich“ sollte das auch immer die erste Anlaufstelle sein.

Der Gründe, warum ich den „eher hinten anstelle“ liegen auf der Hand:

  • Gerade die Systemdateireparatur beseitigt (auch) Probleme, die u.U. nicht von dem Assistenten erfasst werden
  • Ich hoffe darauf, bei manuellen Bereinigungen mit Fehlermeldungen konfrontiert zu werden (die Rückschlüsse auf das Problem zulassen)
  • Der Assistent kann von Microsoft jederzeit angepasst werden. Es ist zu keinem Zeitpunkt nachvollziehbar, was dieser tut

Einen Versuch ist es dennoch wert. Üblicherweise bietet Windows die Nutzung des Assistenten dann an, wenn es bemerkt, dass Probleme auftauchen.

Da es sich zwar um ein Problem mit einem Update, aber nicht um ein Problem mit dem Updatedienst „an sich“ handelt, erfolgt das natürlich nicht.

Aber: Der Assistent fällt unter die Kategorie „Problembehandlung“ und lässt sich über die Bedienelemente vom Einstellungsdialog manuell starten:

Falls wir mit Meldungen konfrontiert werden, die auf irgendwelche Änderungen / Reparaturen hindeuten lohnt sich spätestens jetzt ein fünfter Versuch.

Fünfter Versuch: Update manuell herunterladen

Die Wechsel zwischen den Windows-Releases (in meinem Beispiel von 20H2 auf 21H2) lassen sich auch via InPlace-Upgrade durchführen.

Vereinfacht ausgedrückt: Wir laden uns ein neues Windows herunter und installieren dieses „stumpf“ über die aktuelle Installation. Das funktioniert ausgesprochen gut – obwohl unser aktuelles Windows ja „in Verwendung“ und somit weitreichend geschützt ist. Die Installation erfolgt in dem Fall in einen neuen Ordner, beim nächsten Neustart werden die alte und die neue Windows-Version vertauscht (…vereinfacht ausgedrückt).

Wir begeben uns auf die Suche nach dem „Media creation tool“ und werden hier fündig: https://www.microsoft.com/de-de/software-download/windows10

Mit Hilfe dieses Tools lässt sich eine halbwegs aktuelle ISO-Datei herunterladen. Wichtig ist,dass wir die Option „Installationsmedium für einen anderen PC“ erstellen auswählen. Falls wir (Spoileralarm!) mehrere Versuche benötigen, ersparten wir uns einen erneuten Download.

Die jüngst gewonnene ISO-Datei muss natürlich nicht auf DVD gebrannt werden. Es reicht, diese doppelt anzuklicken. Der Inhalt wird in einem imaginären Laufwerk zur Verfügung gestellt.

Wir starten wieder eine administrative Eingabeaufforderung, wechseln auf das Laufwerk und rufen das Updateprogramm wie folgt auf:

setup /auto upgrade

Die Eingabeaufforderung können wir danach zuklicken, der Rest erfolgt wie gewohnt dialoggeführt.

Und jetzt?

Schock schwere Not. Während des letzten Neustarts erhalten wir irgendwann eine Meldung, dass „die Änderungen“ rückgängig gemacht werden.

Was übrigens tatsächlich stimmt. Das Windows und die Probleme sind immer noch die Gleichen.

Aaaaaaber – ein Gutes hat die Sache dennoch. Wir bekommen nach dem ersten Login eine Fehlermeldung präsentiert.

Sechster (und letzter) Versuch

Wenn man 0xC1900101 – 0x30018 in eine Suchmaschine seiner Wahl eintippt, erhält man zumindest Hinweise auf die Ursache: Ein Treiber „klemmt“ und kann in der neueren Version nicht mehr gestartet werden.

Und wenn man sich zusätzlich mit dem Setup-Programm beschäftigt und etwas einliest, bietet sich schlussendlich auch eine Lösung an.

Das Setup-Programm wirft bei der Installation einen Blick auf alle Gerätetreiber und entscheidet – wie auch immer – welche Treiber erhalten und welche ersetzt werden.

In unserem Beispiel entscheidet sich Windows, Treiber zu erhalten die unter der neueren Version von Windows 10 nicht mehr funktionieren. Was insofern nur schwer nachvollziehbar ist, dass auf dem System tatsächlich nur Treiber aus dem Lieferumfang von Windows installiert sind.

Hilfreich wäre jetzt, alle Treiber „gnadenlos“ überzubügeln. Das führt zwar dazu, dass nach dem Upgrade unter Umständen Treiber neu installiert werden müssen – aber wir haben zumindest schon einmal ein startbares aktuelles Betriebssystem.

Das Setup-Programm bietet hierfür tatsächlich eine Möglichkeit. Wir mounten die ISO-Datei noch einmal und teilen dem Setup-Programm mit, keinerlei Treiber zu übernehmen:

setup /auto upgrade /migratedrivers none

Eine weitere Stunde später haben ist „alles tutti“: Die 21H2 bootet, lässt sich problemlos weiter hochaktualisieren und die fehlenden Treiber für die Grafikkarte werden peus a peus vom Windows-Updatedienst bezogen.

Und? Wieder etwas dazugelernt! 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert