c't-Notfall-Windows 2024
Unser Bausatz erstellt ein vom USB-Stick bootfähiges, transportables Windows zur Schädlingsbekämpfung und Datenrettung. Diese Projektseite ergänzt die Artikel.

- Peter Siering
- Der Bausatz für das Notfall-Windows erfordert einen Windows-PC nebst Internetzugang. Er erstellt ein vom USB-Stick bootfähiges, transportables Windows mit allerhand nützlichen Werkzeugen, um Windows-PCs auf Schädlinge zu überprüfen, Daten zu retten und Passwörter zurückzusetzen.
FĂĽr c't 2/2024 haben wir das Notfall-Windows erneut ĂĽberarbeitet. Es verwendet als Basis ein unter Open-Source-Lizenz auf GitHub entwickeltes Projekt: PhoenixPE. Die von uns vereinfachte und etwas abgewandelte Bauanleitung fĂĽhrt PEBakery aus; eine ebenfalls als Open-Source entwickelte Alternative zum altgedienten WinBuilder.
Die nötigen Downloads nebst MD5-Summen zum Überprüfen finden Sie auf dieser Seite weiter unten. Wie Sie den Bausatz und das erzeugte Notfallsystem anwenden, erklären Artikel aus c't 2/2024:
c't-Abonnenten mit Zugriff auf digitale Inhalte können die Artikel hier lesen (alle Artikel aus c't 2/2024):
Das eigene Notfallsystem bauen, Seite 16
Weitere Funktionen im c’t-Notfall-Windows 2024 freilegen, Seite 22
Probleme lösen mit dem Notfall-Windows, Seite 24
Virensuche mit dem Notfall-Windows 2024, Seite 30
Weitere Artikel:
FAQ: c’t-Notfall-Windows 2024 (erscheint in c't 6/2024, digital verfügbar seit 28.2.2024)
Ältere, vertiefende Artikel zeigen weitere Anwendungsfälle auf:
Copy & Save, Windows-Installationen als Klon ĂĽbertragen oder als Image sichern (aus c't 22/2019, S. 20)
Die Zeit zurĂĽckdrehen, Datenrettung mit dem c't-Notfall-Windows (aus c't 22/2019, S. 24), siehe dazu auch Schwerpunkt in c't 21/23 zum Datenretten
Was ist kaputt?, So nutzen Sie das c’t-Notfall-Windows für die Hardware-Diagnose (aus c't 2/2022, S. 24)
Sollten Sie weder in den Artikeln noch hier die nötige Hilfestellung finden, schauen Sie doch im Forum vorbei. Gern können Sie uns auch per E-Mail Fragen stellen. Richten Sie diese bitte an ctnotwin24@ct.de und fügen Sie bei Bauproblemen gleich ein komprimiertes Log bei, das Sie im Unterverzeichnis Logs in Ihrem Bauverzeichnis als 7z-komprimierte Datei finden.
Nötige Downloads
Sie benötigen den Bausatz selbst:
ctnotwin24.zip, md5: aac0df11f98e0f9d3245ebb40416a094
und zusätzlich die Eval-Fassung von Windows 11 Version 22H2:
Windows 11 Version 22H2, x64 (64 Bit), md5: 0f15cde22b9bb1de820a7aac0711182b
Vom Einsatz anderer Versionen von Windows 10 oder 11 raten wir grundsätzlich ab, zum Beispiel solchen, die Sie mit dem Media Creation Tool heruntergeladen haben. Nicht alle enthalten die für das Verarbeiten des Bausatzes notwendige .wim-Datei, sondern ein nicht geeignetes .esd-Format – ein Konvertieren ist zwar möglich, aber arbeitsintensiv. Grob getestet haben wir die folgenden Versionen:
Windows 10, 2004, x64 (64 Bit), md5: 219edcda684fa6de532482780064bd99
Windows 11 Version 23H2, x64 (64 Bit), md5: 7c1f3439f6e3308ec33febaf3ab7cf0d; hier beendet sich der Windows-Explorer gelegentlich
Gegebenenfalls (meist auf frisch eingerichteten PCs oder in VMs) sind auch die Visual C++ Laufzeitbibliotheken von Microsoft notwendig. Hier ist die aktuelle Fassung die passende. Die Architektur muss zu der des Bausystems passen.
PEBakeryLauncher.exe startet üblicherweise ein Browser-Fenster für den Download der .NET Desktop Runtime, wenn die auf dem Bau-PC nicht installiert ist. Es benötigt die 6er-Version, die sich über diesen Link herunterladen lässt – die gleichzeitige Installation mehrerer Versionen ist kein Problem.
Um die md5-Summen der Zip-Datei und ISOs zu ĂĽberprĂĽfen, genĂĽgt der in Windows verfĂĽgbare Befehl certutil in einer Eingabeaufforderung (der Name der Datei muss dabei angepasst werden):
certutil -hashfile windows.iso MD5
Neu unter der Haube
Die Neuauflage des Bausatzes gründet wie schon die letztjährige Fassung auf der Arbeit der PEBakery- und PhoenixPE-Entwickler. Aus den Supportanfragen zur letzten Version unserer Variante des Notfallsystems haben wir gelernt, dass offenbar die als Basis verwendeten Downloads der Windows-ISO-Dateien mitunter misslingen, also fehlerhaft auf den SSDs unserer Leser landen. Der Bausatz überprüft deshalb die daraus benötigte Install.Wim-Datei vorher und warnt, falls die Prüfsumme abweicht.
Fehlalarmen durch Antivirus-Software begegnet der Bausatz, indem er die kritischen Dateien verzögert entpackt. Die nötigen Ausnahmen für das Bauverzeichnis richtet er für den Windows Defender selbstständig ein. Außerdem überprüft der Bausatz, ob er vollständig entpackt ist – in der Vergangenheit produzierten eher exotische Methoden, Zip-Dateien zu entpacken, gerne Fehler. Diese Prüfungen wirken jeweils beim ersten Start nach dem Entpacken.
Außerdem haben wir den internen Aufwand reduziert, der entsteht, wenn Programme in neuen Versionen erscheinen und die alten nicht mehr als Download erhältlich sind. Solche Updates kann der Bausatz jetzt verarbeiten, ohne dass dafür ein PEBakery-Neustart anfällt. Auch das enthaltene Sortiment an nützlichen Programmen haben wir aktualisiert und etwas erweitert.
Für das Fernsteuern haben wir das als Open Source entwickelte Rustdesk integriert. Das schon immer an Bord befindliche AnyDesk hatte uns Kopfzerbrechen bereitet: Irgendwann stellte es wie aus dem Nichts die Zusammenarbeit ein. Im PhoenixPE-Ticket 59 auf GitHub wurde das Phänomen jetzt aufgeklärt: Windows PE, auf dem das Notfall-Windows aufbaut, kennt keine Sommerzeit – das bringt AnyDesks Zertifikatshandling durcheinander.
Programme, um bei Bedarf auf die Sommerzeiteinstellung in PE einzuwirken (tzutil und w32tm), bringt das neue Notfallsystem mit. Ob Anydesk nach einer Korrektur damit funktioniert, werden wir probieren, wenn es wieder so weit ist und berichten – während der Winterzeit lässt sich das nicht testen. Eine generelle Anpassung des PE-Systems wurde bisher verworfen, weil das die CMOS-Uhr unerwünscht verstellen könnte.
Neu an Bord sind auch Treiber für das Linux-eigene Btrfs-Dateisystem. Da die beim Systemstart mit starten und alle sichtbaren Btrfs-Partitionen einbinden, müssen Sie den Treiber bei Bedarf beim Bauen aktivieren – auf eigenes Risiko per Option im ExtraDrivers.script (siehe dazu den Haupttext des Artikels). Wer sich in einer Unix-Shell heimischer fühlt, findet auch eine BusyBox-Bash im Startmenü.
Für die Datenrettung haben wir außerdem die GNU-Version von ddrescue hinzugefügt. Es lässt sich in BusyBox oder auch in einer Eingabeaufforderung verwenden. Vorerst deaktiviert haben wir eine Funktion, um im laufenden Notfallsystem den Nutzer vom System-Konto auf ein Administrator-Konto umzuschalten: Wenn Sie die einschalten und ausprobieren sollten, werden Sie feststellen, dass Programme unter dem Administrator-Konto nicht vollständig funktionieren, etwa Autoruns.
Vermeintliche Viren-Funde
Dauerthema bei Bausätzen für ein Windows-PE-basiertes Notfallsystem sind Fehlalarme von Antivirus-Software beim Entpacken der Zip-Archive, beim Bauen oder auch im Betrieb, wenn ein Scanner das laufende System untersucht. Wir prüfen die Bausätze des Notfall-Windows deshalb vor Veröffentlichung und haben die Ergebnisse und Methoden erstmals 2017 in einem eigenen Artikel zusammengefasst.
Der aktuellen Ausgabe des c't-Notfall-Windows sind wir ebenfalls wieder zu Leibe gerückt und dabei auf die in der folgenden Tabelle genannten Programme gestoßen, die den einen oder anderen Virenscanner auf den Plan rufen. Die Tabelle dokumentiert nur Dateien, die mehr als zwei Scanner haben Alarm schlagen lassen. Nach bestem Wissen und Gewissen handelt es sich dabei um Fehlalarme, die meist durch heuristische Verfahren ausgelöst werden – wirkliche Malware verwendet ähnliche Verfahren oder Techniken.
Programmname | Funktionsbeschreibung |
7zG.exe | Teil von 7zip und BusyBox; die BusyBox-Datei erzeugt diesen Fehlalarm, liegt nur im Baubereich und wird nicht ins Notfallsystem eingebunden |
7zst.exe | siehe 7zG |
AimRamdrive.exe | Hilfsskript zum Erstellen eines RAM-Drive per Arsenal Image Mounter; Fehlalarm, der typisch fĂĽr AutoIt-Skripte ist |
AutoIt3.exe | beliebte Skripting-Engine, die leider auch Malware-Autoren nutzen; liegt nur im Baubereich und wird nicht ins Notfallsystem eingebunden |
BcastEnvChg.exe | sorgt beim Start dafür, dass sich Netzwerkkonfigurationsänderungen herumsprechen |
binmay.exe | sucht und ersetzt auch in Binärdateien; in Standardeinstellungen nicht aufgerufen |
chkdsk.exe | chkdsk-GUI mit ĂĽblichen Fehlalarmen wegen gepackter EXE-Datei und AutoIt-Verwandtschaft |
ClassicIE_64.exe | Teil von OpenShell, die für das Startmenü im Notfall-Windows 2024 zuständig ist; liegt nur im Baubereich und wird nicht ins Notfallsystem eingebunden |
drvinstpatch.exe | modifiziert Verhalten von Windows PE bei Treiberinstallation |
GetBinaryResource.exe | extrahiert aus Ressourcen einer EXE- enthaltene Binärdaten (nur benutzt, wenn ProcMon oder DebugView aktiviert werden) |
GetStringResource.exe | extrahiert aus Ressourcen einer EXE enthaltene Texte (in einigen Skripten genutzt, um Sprachanpassungen vorzunehmen) |
gwt.exe | lädt selektiv Dateien aus dem ADK/WAIK herunter |
hiderun.exe | verbirgt Programmausgaben, macht den Startschirm schöner |
hiveunload.exe | blendet beim Bauen zeitweise geladene Registry-Strukturen wieder aus |
imageconvert.exe | hilft in PhoenixPE beim Konvertieren des Formats von Bilddateien |
imdiskstart.exe | Hilfsskript zum Erstellen eines RAM-Drive mit ImDisk; Fehlalarm, der typisch fĂĽr AutoIt-Skripte ist |
jj.exe | komprimiert JSON; bisher nur in den Makros von PhoenixPE erwähnt |
keyfinder.exe | liest InstallationsschlĂĽssel aus |
letterswap.exe | ändert Laufwerksbuchstabenzuordnung im Notfallsystem |
mailpv.exe | bringt Mail-Passwörter zum Vorschein |
OpenShellSetup_4_4_191.exe | führt theoretisch die Installation von OpenShell aus; im Kontext des Bausatzes läuft die Installation selbst aber nie, sondern die Dateien werden aus der EXE-Datei gepflückt |
OskTray.exe | zeigt ein Symbol im Tray-Bereich, um die Bildschirmtastatur zu aktivieren; Fehlalarm, der typisch für gepackte Binärdateien ist |
pecmd.exe | steuert beim Starten des Notfallsystem startende Programme, skriptartige Funktionsweise |
pinutil.exe | legt in StartmenĂĽ & Co. Verweise auf Programme an |
RegFind.exe | sucht und ersetzt Inhalte in der Registry während des Bauens |
rustdesk.exe | Software, die Fernhilfe wie TeamViewer und AnyDesk erlaubt; wie die genannten Produkte auch bedienen sich Scammer gern solcher Programme und sie gerät in falschen Verdacht |
StartMenu.exe | zum Zeitpunkt der Untersuchung befanden drei Scanner diese Komponente von OpenShell als Malware; einen Tag später nur noch ein Programm; wir belassen es hier, falls die Anzahl der Fehlalarme schwanken sollte |
Uninstall.exe | siehe Hinweise zu 7zG.exe |
UxPatch-x64.exe | manipuliert einige Theme-DLLs beim Bauen des Notfallsystems; einige eher exotische Scanner halten das Programm fĂĽr Malware |
WizTree.exe | analysiert die Belegung von Datenträgern, Programmdatei ist vom Autor signiert; trotzdem Fehlalarme bei einigen exotischen Scannern |
WLU_x64.exe | Windows Login Unlocker entsperrt per Microsoft-Konto geschĂĽtzte Windows-Konten; solche Eingriffe alarmieren zumeist viele Scanner, auch in diesem Fall |
xml.exe | bearbeitet XML; bisher nur in den Makros von PhoenixPE erwähnt |
Build-Log als Beispiel
Das folgende Log im HTML-Format ist beim Bauen auf einem PC mit Windows 11 Version 23H2 als Betriebssystem entstanden. Als vom Bausatz verarbeitete Eval-Fassung haben wir die gleiche Version von Windows 11 verwendet.
Haben Sie bitte etwas Geduld beim Rendern im Browser die Datei ist einige MByte groĂź:
Erfolgreicher Baulauf auf Windows 11 23H2 mit 23H2-Eval-ISO als Basis
Updates
Die Liste ist in umgekehrt chronologischer Reihenfolge (neuestes Update zuerst):
Am 18.1. abends korrigiert Update 3 die folgenden Probleme, die einen erfolgreichen Baulauf verhinderten (in autorunf.inf als 1.0.4.0):
- Neue Download-Adresse fĂĽr einige Intel-Treiber in ExtraDrivers (Download war nicht mehr verfĂĽgbar)
- Einbau von Busybox in das Notfallsystem (fehlende cygwin1.dll)
Am 15.1. abends kommen mit Update 2 folgende Ă„nderungen:
- Die Dateien unvollständiger Downloads werden direkt gelöscht, sodass es nicht mehr nötig sein sollte, Dateien wegzuräumen; der Preis: evtl. Fehlerhinweise, die teilweise in den Dateien landeten, gehen damit verloren.
- Der Bausatz erkennt jetzt, wenn er keine Powershell aufrufen kann, warnt und beendet sich (ohne Powershell läuft er nicht); in der Regel genügt es dann, die Windows PATH-Einstellung zu reparieren.
- Updates hinterlassen jetzt eine Signatur in der autorun.inf-Datei der ISO-Datei/des USB-Sticks (mit Update 2 1.0.3.0).
Am 11.1. abends korrigiert Update 1 die optionale Btrfs-Integration (ps)