Bents Blog

 

Ein IT Blog mit Themen aus dem Windows Server Umfeld.

Reboot von Hyper-V VMs führt zur Systemwiederherstellung

Noch im vergangenen Jahr stellten wir auf unseren Kundensystemen ein extrem merkwürdiges Verhalten fest. Nach den letzten Aktualisierungen durch Windows Updates booten einige der Windows Server 2008 R2 VMs in die Systemwiederherstellung (Recovery Modus). Bisher betrifft das nach unseren Erfahrungen lediglich Maschinen mit Windows Server 2008 R2, die auf einem Microsoft Hyper-V Cluster betrieben werden – sowohl die Host-Systeme (ebenfalls 2008 R2 Datacenter) als auch die virtuellen Maschinen sind vollständig mit Windows Updates versorgt.

Problem

Da wir – bedingt durch verschiedene Notwendigkeiten der Systempflege – auf vielen Systemen automatische Reboots konfigurieren, starten die meisten der Server in unterschiedlichen Rhythmen während der Nacht neu. Typischerweise nutzen wir dafür die Aufgabenplanung und das seit Windows Server 2003 integrierte Systemprogramm shutdown.exe.

Aufgabenplanung: Neustart des Servers

Als Parameter für den Aufruf von shutdown verwenden wir typischerweise

%SystemRoot%\System32\shutdown.exe -r -f -t 0

welche für einen sofortigen, forcierten Reboot erwirken. Bisher funktionierte diese Lösung reibungsfrei – erst seit einigen Tagen beobachteten wir bei einigen der virtualisierten Maschinen, dass diese beim Neustart die Systemwiederherstellung starteten.

Neustart in die Systemwiederherstellung

Dies ist extrem ärgerlich, da so sämtliche Funktionen des Servers natürlich nicht zur Verfügung stehen. Bricht man den Dialog über die verbundene Konsole ab, so startet das System das Betriebssystem im Anschluss anstandslos neu.

Lösung

Da wir die Ursache für dieses Verhalten konnten wir bisher noch nicht finden, allerdings lässt sich selbiges mit einer Konfigurationsänderung (Workaround) des Windows-Start-Managers umgehen. Über den Kommandozeilenbefehl

bcdedit /set {default} bootstatuspolicy ignoreallfailures

wird die Neustart-Policy für den Standard-Boot-Eintrag auf IgnoreAllFailures gesetzt. Mit dem Befehl bcdedit kann man im Anschluss die geänderte Einstellung kontrollieren:

Windows-Startladeprogramm
-------------------------
Bezeichner {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows Server 2008 R2
locale de-DE
inherit {bootloadersettings}
recoverysequence {fabb4230-3ae7-11e2-a422-c35845ecfe8e}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {fabb422e-3ae7-11e2-a422-c35845ecfe8e}
nx OptOut
bootstatuspolicy IgnoreAllFailures

Nach dieser Einstellung trat das beschriebene Verhalten bei keiner der betroffenen virtuellen Maschinen mehr auf.

Fazit

Das hier dokumentierte Verhalten lässt sich bisher nicht erklären – Fehler an den virtuellen Maschinen konnten wir bisher ausschließen. Ob die Ursache bei neuen Windows Updates zu suchen ist, lässt sich leider nur vermuten. Wer hier Näheres weis, den bitte ich um einen kurzen Kommentar. Wie bei allen meinen Beiträgen gilt: Bei Tipps, Vorschlägen sowie Fragen oder Kritiken hinterlasst bitte einen Kommentar.

Einen Blog am Leben zu erhalten kostet Zeit und Geld. Da ich auf meiner Seite weder Werbung einbinde, noch andersweitige Zuwendungen erhalte, freue ich mich über jede kleine Spende. Einfach und unkompliziert geht das über PayPalMe. Du unterstützt damit diesen Blog. Vielen Dank.

Kommentare für “Reboot von Hyper-V VMs führt zur Systemwiederherstellung”

  • Bent Schrader

    Auf Grund der am 25. Mai 2018 in Kraft tretenden europäischen Datenschutz-Grundverordnung wurden alle Kommentare abgeschaltet und gelöscht. Damit wird die Erhebung personenbezogener Daten vermieden. Das DSGVO wurde von Professor Thomas Hoeren zu "einem der schlechtesten Gesetze des 21. Jahrhunderts" gekürt, mit der Bemerkung, dass überbordene Werk sei "hirnlos". Ich bedaure sehr, das damit die Möglichkeit zum Austausch von Informationen von Gleichgesinnten verhindert wird.