Shift-Trick bei Windows 95:
So funktionierte der schnelle Neustart

Wer unter Windows 95 beim Neustart Shift drückte, sparte viel Zeit durch das Überspringen des Hardware-Resets. Ein Microsoft-Veteran erklärt nun im Detail, wie dieser technische Kniff auf Kernel-Ebene funktionierte und warum er heute nicht mehr existiert.
Microsoft, Betriebssystem, Windows, Logo, Windows 95
Microsoft

Ein schnellerer Neustart ohne BIOS-Check

So mancher Nutzer dürfte sich noch lebhaft an die Ära von Windows 95 erinnern. Wer damals im Beenden-Dialog die Shift-Taste drückte, während er auf "Neu starten" klickte, löste ein Verhalten aus, das sich signifikant von einem gewöhnlichen Reboot unterschied: Das System führte nämlich keinen vollständigen Kaltstart durch, bei dem normalerweise das BIOS die Hardware initialisiert und der Arbeitsspeicher hochgezählt wird (Power On Self Test).

Stattdessen erschien lediglich der kurze Hinweis "Windows wird neu gestartet", und die grafische Benutzeroberfläche lud sich in einem Bruchteil der üblichen Zeit neu. Das Verhalten basierte auf einer spezifischen Implementierung der API-Funktion ExitWindows in Kombination mit dem Flag EW_RESTARTWINDOWS.

Der technische Ablauf hinter den Kulissen war dabei deutlich komplexer, als es für den Anwender den Anschein hatte. Windows 95 war ein hybrides System, das auf MS-DOS aufsetzte. Beim schnellen Neustart fuhr das System zunächst den 16-Bit-Windows-Kernel herunter, gefolgt vom 32-Bit-Manager für den virtuellen Speicher (VMM32). Anschließend musste die CPU vom geschützten Protected Mode zurück in den limitierten Real Mode versetzt werden.


Die Kontrolle ging dabei zurück an die Datei win.com. Das war jener DOS-basierte Loader, der ursprünglich den Startvorgang initiiert hatte. Win.com erhielt dabei ein spezielles Signal, das sinngemäß die Anweisung enthielt, den Protected Mode von Windows sofort erneut zu starten, ohne die Hardware vollständig zurückzusetzen.

Speicherverwaltung und Real Mode

Wie der langjährige Microsoft-Entwickler Raymond Chen nun in seinem The Old New Thing-Blog detailliert ausführt, lag die größte Herausforderung in der korrekten Speicherverwaltung. Win.com stand vor der schwierigen Aufgabe, das System in exakt denselben Zustand zu versetzen wie bei einem frischen Start aus DOS heraus. Da win.com vollständig in Assemblersprache geschrieben war, mussten globale Variablen manuell auf ihre Ursprungswerte zurückgesetzt werden.

Ein kritisches Detail war hierbei der konventionelle Speicher, also die ersten 640 Kilobyte des RAMs. Win.com gab nach dem Start normalerweise Speicherbereiche frei, um einen großen, zusammenhängenden Block für den Protected Mode zu schaffen.


Das Verfahren war jedoch extrem fehleranfällig und hing von der "Sauberkeit" des Speichers ab. Hatte ein anderes Programm, ein residenter DOS-Treiber oder ein TSR-Programm (Terminate and Stay Resident) Speicher in genau dem Bereich belegt, den win.com für den Neustart benötigte, war der Speicher fragmentiert. In einem solchen Fall konnte win.com den notwendigen zusammenhängenden Block nicht bereitstellen. Das System erkannte das Problem glücklicherweise selbstständig und fiel automatisch auf einen regulären, langsamen Kaltstart zurück, um einen Absturz zu vermeiden.

Treiber-Probleme und Assembler-Tricks

Ein weiteres technisches Detail, das Chen hervorhebt, betrifft die Stabilität bei mehrfacher Ausführung des Tricks. Während einige Anwender das Feature problemlos mehrfach hintereinander nutzen konnten, berichteten andere von Systemabstürzen oder einem Einfrieren beim zweiten Versuch.

Die Ursache lag meist in Gerätetreibern, die sich nicht sauber zurücksetzten. Bei einem echten Kaltstart setzt das BIOS die Hardware-Register zurück. Beim schnellen Neustart blieb der Hardware-Status jedoch erhalten. Das führte dazu, dass die zweite Instanz eines Treibers auf eine Hardware traf, die sich noch in einem aktiven Zustand befand, statt im erwarteten Ruhemodus. Diese Diskrepanz führte oft zur Korruption des Speichers oder zu Konflikten auf dem Bus.

Aus heutiger Sicht bietet der Code von win.com zudem faszinierende Einblicke in die damaligen Optimierungstechniken unter extremen Speicherbegrenzungen. Um Bytes zu sparen, nutzten die Entwickler den Speicherbereich von Funktionen, die nur einmalig beim allerersten Start ausgeführt wurden (wie den Entry Point), im späteren Verlauf als Speicherplatz für globale Variablen. Der ausführbare Code wurde also im Betrieb mit Daten überschrieben.

Solche Tricks waren notwendig, da im konventionellen Speicher jedes Byte kostbar war. In modernen Systemen wie Windows 10 oder Windows 11 führt die Tastenkombination Shift + Neustart hingegen nicht mehr zu einem schnellen Reboot, sondern öffnet das Wiederherstellungsmenü (WinRE) zur Fehlerbehebung.

Habt ihr diesen Trick früher selbst genutzt oder hört ihr heute zum ersten Mal davon? Welche anderen Retro-Features vermisst ihr in modernen Windows-Versionen? Schreibt es uns in die Kommentare!

Tipps und Tricks Große FAQ-Sammlung
Zusammenfassung
  • Windows 95 bot schnellen Neustart durch Drücken der Shift-Taste
  • Anstelle eines vollständigen Hardware-Resets wurde nur die Oberfläche neu geladen
  • Technischer Ablauf umfasste Herunterfahren des Kernels und Rückkehr zum Real Mode
  • Der Prozess wurde von win.com gesteuert, einem in Assembler verfassten Programm
  • Fehleranfälliges Verfahren erforderte spezielle Speicherverwaltung und sauberen RAM
  • Hauptgrund für Abstürze waren Gerätetreiber, die sich nicht ordentlich zurücksetzten
  • In heutigen Windows-Versionen öffnet Shift+Neustart das Wiederherstellungsmenü

Siehe auch:
Jetzt einen Kommentar schreiben


Alle Kommentare zu dieser News anzeigen
Tipp einsenden
❤ WinFuture unterstützen
Sie wollen online einkaufen? Dann nutzen Sie bitte einen der folgenden Links, um WinFuture zu unterstützen: Vielen Dank!