Réparer les VMs Windows après une mise à jour de VirtualBox
Pour les besoins de mes projets, je dispose de toute une série de machines virtuelles Windows. Elles me servent à porter et à compiler certains de mes logiciels pour ce système, à reproduire des bugs spécifiques à cette plateforme, à effectuer certains développements spécifiques ou encore à décortiquer des drivers de souris (true story).
Je n'avais pas utilisé ces VMs depuis des mois, jusqu'à il y a quelques jours, où j'ai eu besoin de tester un développement sous Windows. Je démarre donc l'une des machines virtuelles et là... BSoD. Rhâ ça marche jamais quand on en a besoin ces trucs-là ! Pas grave, j'ai d'autres VMs, j'en démarre donc une autre et... même résultat : elle m'accueille avec un écran bleu affichant un message d'erreur des plus inutiles. J'ai répété l'opération avec l'ensemble de mes VMs Windows avec la même issue à chaque fois. Plus aucune de mes VMs Windows ne boot ! 🥺️
Après quelques recherches, je me suis aperçu que quand j'avais mis à jour Ubuntu vers la 23.04, je suis passé de VirtualBox 6.x à 7.0, et que c'était cette montée de version qui déplaisait à Windows. Le problème est en fait assez simple : les additions invité (les drivers) de VirtualBox 6.x font planter Windows si on le lance dans VirtualBox 7.0. Il faut donc les désinstaller puis réinstaller des drivers à jours à la place.
Dans cet article je vais donc vous expliquer comment procéder pour mettre les drivers à jour sous Windows 10.
Redémarrer en mode sans échec
Pour désinstaller les anciens drivers, il nous faut commencer par démarrer Windows en mode sans échec. Il s'agit d'un mode dans lequel il charge un minimum de pilotes et de services afin de réduire les risques de plantages.
Pour ce faire, lorsque vous vous retrouvez sur l'écran bleu, attendez quelques instants que la machine reboot toute seule ou pressez la combinaison de touche <Host>+R si vous n'êtes pas patients...
Note
La touche <Host> correspond à la touche spéciale permettant d'effectuer des raccourcis clavier liés à VirtuaBox sans qu'ils ne soient transmit à la machine virtuelle. Normalement la touche en question est inscrite en bas à droite de la fenêtre ; il s'agit de la touche <Ctrl> de droite par défaut.
Après redémarrage, vous devriez arriver sur un écran intitulé « Réparation automatique ». Aucune des réparations automatiques proposées par Windows ne fonctionnera, on va donc devoir lui demander de redémarrer en mode sans échec et faire le travail nous-mêmes. Pour ce faire :
- cliquez sur « Options avancées » (1),
- puis sur « Dépannage » (2),
- puis sur « Options avancées » à nouveau (3),
- puis sur « Paramètres » (4),
- et enfin sur « Redémarrer » (5).
Windows va redémarrer sur un nouvel écran intitulé « Paramètres de démarrage ».
Dans notre cas on veut redémarrer en mode sans échec (option 4), on va donc presser la touche <F4> du clavier pour sélectionner cette option.
Si tout s'est bien passé, Windows devrait avoir redémarré et on devrait avoir accès au système.
Désinstaller les anciens drivers
On peut à présent désinstaller les anciens drivers. Pour ce faire allez dans le menu démarrer et cherchez-y « Ajouter ou supprimer des programmes ».
Puis, dans la section « Applications et fonctionnalités », cherchez « virtualbox », et cliquez sur le bouton « Désinstaller ».
À un moment, l'outil de désinstallation de VirtualBox va vous demander de redémarrer pour que les changements prennent effet. Cliquez sur « Oui ».
Installer les nouveaux drivers
Si tout s'est bien passé, Windows devrait avoir redémarré en mode normal. Il ne reste plus qu'à réinstaller les nouveaux drivers.
Pour cela, rendez-vous dans le menu « Périphériques → Insérer l'image CD des Additions invité... ».
Puis lancez l'installateur en double-cliquant sur le lecteur CD depuis l'explorateur Windows.
Une fois l'installation terminée, sélectionnez l'option « Redémarrer maintenant » puis cliquez sur « Fermer »
La machine devrait redémarrer et être parfaitement fonctionnelle... Enfin pour autant que l'on puisse qualifier Windows de « fonctionnel ». 😛️
J'espère que cet article pourra être utile à certains. Je vous souhaite une bonne journée et je retourne à mes développements. 😁️