GNU/Linux >> Tutoriels Linux >  >> Linux

Comment empêcher la machine virtuelle Windows10 sur OpenStack de redémarrer automatiquement !

Je rencontre une machine virtuelle Windows10 sur OpenStack qui redémarre automatiquement lors d'une connexion automatique réussie. Lutter avec cela pendant un certain temps et les heures passées à rechercher ce sujet sur google ont été vains. Suivez la procédure étape par étape ci-dessous pour trouver la cause première et empêcher le redémarrage automatique de la machine virtuelle Windows10 sur OpenStack !

Vous vous demandez pourquoi Windows redémarre automatiquement ? Heureusement, Windows suit les événements et les enregistre dans le journal système. Avec l'Observateur d'événements Windows intégré, vous pouvez surveiller les activités qui se produisent sur votre ordinateur avant, pendant et après l'arrêt ou le redémarrage. Cet article m'a aidé à afficher les journaux système de Windows10 qui ont déclenché le redémarrage automatique.

Afficher le journal d'arrêt et de redémarrage à partir de l'Observateur d'événements

Ouvrir l'application Observateur d'événements

Accédez à Windows Logs -> System dans le volet de gauche. Attendez que tous les journaux soient chargés. Cliquez sur Filter Current Log sur le volet de droite. Tapez 41, 1074, 6006, 6008 dans la zone de texte sous inclut/exclut les ID d'événement, puis cliquez sur OK pour filtrer les journaux d'événements.

À partir des journaux filtrés, a trouvé un journal suspect indiquant que Cloudbase-Init a initié le redémarrage de l'ordinateur comme ci-dessous :

Cela a fourni un indice pour approfondir la recherche et a trouvé un bogue signalé dans le tableau de bord lié à cloudbase-init. Vous trouverez ci-dessous ma compréhension de la raison pour laquelle le redémarrage automatique s'est produit :

Depuis notre cloudbase-init unattend.xml fichier (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\unattend.xml ), vous pouvez remarquer que cloudbase-init essaie de définir le nom d'hôte dans les paramètres de spécialisation. Cela provoque l'exécution d'une fonction SetComputerName pendant l'étape de spécialisation, qui modifie le nom de l'ordinateur en DESKTOP-<random string> . Un problème connu dans Windows10 est qu'une modification du nom de l'ordinateur nécessite un redémarrage.

Comment empêcher la machine virtuelle Windows10 sur OpenStack de redémarrer automatiquement !

Merci à Curt Moore pour sa solution rapide. Le même que j'ai essayé d'expliquer en détail ci-dessous :

Étape 1 : Installez Cloudbase-init en utilisant le MSI comme d'habitude, sauf qu'il ne doit PAS effectuer de sysprep automatique pendant l'installation automatique.

Étape 2 : Une fois l'installation de Cloudbse-init terminée, exécutez la commande suivante à partir de l'invite de commande (Exécuter en tant qu'administrateur) pour désactiver le démarrage automatique de la version de service Windows de cloudbase-init.

sc config cloudbase-init start= disabled

Étape 3 : Modifiez le fichier unattend.xml et ajoutez un autre RunSynchronousCommand node pour réactiver le démarrage automatique du service Windows cloudbase-init. Cette commande _doit_ être définie comme <Order>1</Order> et le nœud cloudbase-init existant sans surveillance défini sur <Order>2</Order> afin que la commande de réactivation s'exécute avant l'instance sans surveillance de cloudbase-init, qui nécessite un redémarrage. L'idée est que si nous réactivons le service cloudbase-init (mais ne le redémarrons pas pour le moment) lors du redémarrage requis par le cloudbase-init sans surveillance, l'instance de service Windows démarrera comme souhaité et ne sera pas en conflit avec l'instance sans surveillance puisqu'elle aura déjà été exécutée. Ci-dessous se trouve le unattend.xml modifié fichier :

Étape 4 : Après avoir modifié le unattend.xml fichier, exécutez manuellement la commande sysprep à partir de l'invite de commande (Exécuter en tant qu'administrateur) et référencez le XML modifié.

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

Reportez-vous au fichier unattend.xml

Reportez-vous correctement au chemin du fichier unattend.xml en ce qui concerne votre installation.

Étape 5 : Libérez la configuration IP de Windows après le sysprep, puis arrêtez immédiatement la machine virtuelle.

Pourquoi libérer IP

Cela évitera de re-DÉCOUVRIR la même adresse IP que la VM avait avant d'être syspreppée. Ceci est gênant lors du démarrage d'une machine virtuelle dans OpenStack car les segments de réseau sont totalement différents et il faut environ 10 à 20 secondes à Windows pour arrêter d'essayer de re-DÉCOUVRIR l'ancienne adresse et émettre simplement une nouvelle DEMANDE DHCP.

ipconfig /release
shutdown /s /f /t 1

Téléchargez maintenant la machine virtuelle Windows sur OpenStack et démarrez une instance. Voila ! la machine virtuelle Windows10 s'est connectée automatiquement et n'a pas redémarré !


Linux
  1. Comment effectuer un bureau à distance de Windows vers un bureau Linux à l'aide de XRDP

  2. Comment empêcher Orca de démarrer lors de la connexion ?

  3. Comment accéder au dossier partagé Windows à partir de Linux ?

  4. Comment empêcher nginx d'utiliser le port 80

  5. Comment empêcher l'adresse MAC de changer après la déconnexion ?

Comment lancer une instance à partir du tableau de bord OpenStack Horizon

Comment redimensionner une instance OpenStack (machine virtuelle) à partir de la ligne de commande

Comment accéder aux partitions Linux à partir de Windows 10

Comment se connecter en SSH à votre serveur Linux à partir de Windows

Comment se connecter en SSH à WSL2 sur Windows 10 à partir d'une machine externe

Comment se connecter en SSH à une machine Windows 10 depuis Linux OU Windows OU n'importe où