GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verhindern Sie, dass die Windows10-VM auf OpenStack automatisch neu gestartet wird!

Ich erlebe eine Windows10-VM auf OpenStack, die bei erfolgreicher automatischer Anmeldung automatisch neu gestartet wird. Eine Weile damit zu kämpfen und stundenlang bei Google nach diesem Thema zu suchen, war vergebens. Befolgen Sie die nachstehende Schritt-für-Schritt-Anleitung, um die Ursache zu finden und zu verhindern, dass die Windows10-VM auf OpenStack automatisch neu gestartet wird!

Haben Sie sich gefragt, warum Windows automatisch neu gestartet wird? Glücklicherweise verfolgt Windows die Ereignisse und Aufzeichnungen im Systemprotokoll. Mit der integrierten Windows-Ereignisanzeige können Sie die Aktivitäten überwachen, die auf Ihrem Computer vor, während und nach dem Herunterfahren oder Neustarten stattfinden. Dieser Artikel hat mir geholfen, die Systemprotokolle in Windows10 anzuzeigen, die den automatischen Neustart ausgelöst haben.

Protokoll zum Herunterfahren und Neustarten in der Ereignisanzeige anzeigen

Öffnen Sie die Ereignisanzeige-App

Navigieren Sie zu Windows Logs -> System auf der linken Seite. Warten Sie, bis alle Protokolle geladen sind. Klicken Sie auf Filter Current Log auf der rechten Seite. Geben Sie 41, 1074, 6006, 6008 ein in das Textfeld unter schließt/schließt Ereignis-IDs ein und klicken Sie dann auf OK, um die Ereignisprotokolle zu filtern.

In den gefilterten Protokollen wurde ein verdächtiges Protokoll gefunden, das besagt, dass Cloudbase-Init den Neustart des Computers wie folgt initiiert hat:

Dies lieferte einen Hinweis zur weiteren Recherche und fand einen im Launchpad gemeldeten Fehler im Zusammenhang mit cloudbase-init. Unten ist mein Verständnis dafür, warum der automatische Neustart stattfand:

Aus unserer cloudbase-init unattend.xml Datei (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\unattend.xml ) können Sie feststellen, dass cloudbase-init versucht, den Hostnamen in den Spezialisierungseinstellungen festzulegen. Dadurch wird während des Spezialisierungsschritts eine SetComputerName-Funktion ausgeführt, die den Computernamen in DESKTOP-<random string> ändert . Ein bekanntes Problem in Windows10 ist, dass eine Änderung des Computernamens einen Neustart erfordert.

So verhindern Sie, dass die Windows10-VM auf OpenStack automatisch neu gestartet wird!

Danke an Curt Moore für seine schnelle Lösung. Dasselbe habe ich versucht, im Folgenden ausführlich zu erklären:

Schritt 1: Installieren Sie Cloudbase-init wie gewohnt mit der MSI, außer dass während der Autoinstallation KEINE automatische Sysprep durchgeführt wird.

Schritt 2: Führen Sie nach Abschluss der Cloudbse-init-Installation den folgenden Befehl an der Eingabeaufforderung (Als Administrator ausführen) aus, um den automatischen Start der Windows-Dienstversion von cloudbase-init zu deaktivieren.

sc config cloudbase-init start= disabled

Schritt 3: Bearbeiten Sie die Datei unattend.xml und fügen Sie einen weiteren RunSynchronousCommand hinzu -Knoten, um den automatischen Start des Windows-Dienstes cloudbase-init wieder zu aktivieren. Dieser Befehl _muss_ als <Order>1</Order> gesetzt werden und der vorhandene unbeaufsichtigte cloudbase-init-Knoten auf <Order>2</Order> gesetzt sodass der Befehl zum erneuten Aktivieren vor der unbeaufsichtigten Instanz von cloudbase-init ausgeführt wird, was einen Neustart erfordert. Die Idee ist, dass, wenn wir den cloudbase-init-Dienst nach dem durch die unbeaufsichtigte cloudbase-init erforderlichen Neustart erneut aktivieren (aber ihn zu diesem Zeitpunkt nicht neu starten), die Windows-Dienstinstanz wie gewünscht gestartet wird und nicht mit in Konflikt steht die unbeaufsichtigte Instanz, da sie bereits ausgeführt wurde. Unten ist die modifizierte unattend.xml Datei:

Schritt 4: Nach dem Bearbeiten der unattend.xml Datei, führen Sie den Befehl sysprep manuell an der Eingabeaufforderung aus (Als Administrator ausführen) und verweisen Sie auf die geänderte XML.

C:\Windows\system32>"%SYSTEMROOT%\system32\sysprep\sysprep.exe" /generalize /oobe /quit /unattend:C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\unattend.xml

Siehe unattend.xml

Verweisen Sie auf den korrekten Pfad der Datei unattend.xml in Bezug auf Ihre Installation.

Schritt 5: Geben Sie die Windows-IP-Konfiguration nach dem Sysprep frei und fahren Sie die VM sofort herunter.

Warum IP freigeben

Dadurch wird vermieden, dass dieselbe IP-Adresse, die die VM vor der Sysprep-Vorbereitung hatte, erneut erkannt wird. Dies ist beim Booten einer VM in OpenStack problematisch, da die Netzwerksegmente völlig unterschiedlich sind und Windows etwa 10 bis 20 Sekunden benötigt, um den Versuch zu beenden, die alte Adresse erneut zu ermitteln, und einfach eine neue DHCP-ANFRAGE ausgibt.

ipconfig /release
shutdown /s /f /t 1

Laden Sie nun die Windows-VM auf OpenStack hoch und booten Sie eine Instanz. Voila! die Windows10-VM hat sich automatisch angemeldet und nicht neu gestartet!


Linux
  1. Wie greife ich von Linux aus auf freigegebene Windows-Ordner zu?

  2. So hindern Sie Nginx daran, Port 80 zu verwenden

  3. Wie kann ich verhindern, dass Kernel-Nachrichten meine Konsole überfluten?

  4. So führen Sie SCP vom Linux-Server zum Windows-Client aus

  5. Wie füge ich aus der Zwischenablage in Nano ein?

So starten Sie eine Instanz über das OpenStack Horizon Dashboard

So ändern Sie die Größe der OpenStack-Instanz (virtuelle Maschine) über die Befehlszeile

So greifen Sie von Windows 10 auf Linux-Partitionen zu

Wie Sie von Windows aus SSH in Ihren Linux-Server einbinden

So führen Sie SSH in WSL2 unter Windows 10 von einem externen Computer aus

Wie man SSH in einen Windows 10-Rechner von Linux ODER Windows ODER überall her einfügt