Si vous vous retrouvez dans le cas de figure pas très drôle où votre machine virtuelle sous Windows refuse de booter après une mise à jour d’Ubuntu, cet article est fait pour vous. Explications du problème lié aux « guest additions » et méthode pas à pas pour le corriger.

Machine virtuelle HS après mise à jour

J’utilise quotidiennement VirtualBox sur ma station Ubuntu 14.04 LTS afin de virtualiser d’autres systèmes d’exploitation, en particulier Windows 7. Et lors des mises à jour d’Ubuntu, il m’arrive fréquemment de retrouver ma machine virtuelle inutilisable, s’éteignant toute seule lors du boot avec un message de l’hyperviseur « Machine Avortée ».

La consultation des logs me donne dans /var/log/syslog le message d’erreur suivant, à chaque tentative de boot qui finit avortée.

Pour une recherche sur internet, ce sont les mots clés EMT-3, segfault et VBoxDD.so qui permettent de trouver des cas similaires d’utilisateurs.

 

Réparer la machine virtuelle

Tout d’abord, rassurez-vous car votre machine virtuelle reste intacte et toutes les données restent stockées sur le fichier image vdi situé dans /home/utilisateur/VirtualBox VMs/.

Pour résumer la situation, votre Ubuntu s’est mis à jour automatiquement en modifiant la version des paquets VirtualBox, mais les « guest additions » sont restées dans l’ancienne version. Il va donc falloir trouver une solution pour les désinstaller de la machine virtuelle.

Désinstaller les guest additions de la machine virtuelle

Pour cela j’ai déjà testé deux méthodes avec succès.

Première méthode : utiliser un autre hyperviseur pour booter sur l’image

Cette solution est un peu compliquée pour les personnes qui ne connaissent pas d’autre hyperviseur que VirtualBox. Dans mon cas de figure, j’ai créé une machine virtuelle avec l’hyperviseur KVM, dans laquelle j’ai connecté l’image disque de VirtualBox. Il faut bien sélectionner le format d’image « vdi » et le bus « SATA ». Cela permet de booter sur la machine virtuelle pour désinstaller les « guest additions » qui figurent dans la liste d’ajout/suppression de programmes sous le nom « Oracle Guest Additions » ou quelque chose du genre.

Seconde méthode : monter l’image disque dans un répertoire

Cette méthode est un peu barbare, elle consiste à monter l’image disque VDI dans un répertoire de votre système Ubuntu. La démarche est expliquée par exemple sur cette page de blog/.

Une fois que vous avez accès aux fichiers et dossiers de votre partition NTFS C:, il vous suffit de renommer le répertoire d’installation des additions invités. La désinstallation propre sera possible une fois le système booté, en redonnant le bon nom au répertoire et en lançant l’exécutable de désinstallation.

 

Désactiver le support USB2

Bizarrement, le support de l’USB2 est problématique et peut faire crasher le boot de la machine virtuelle Windows si les additions invité ne sont pas installées. Il faut donc décocher « Activer le contrôleur USB 2.0 (EHCI) ».

 

Installer les additions invité

Il faut absolument que les additions invité soient de la même version que VirtualBox. Pour connaître la version :

Dans mon cas j’ai VirtualBox 4.3.34. Il me suffit d’aller chercher les additions invité correspondantes ici par exemple. Le paquet Ubuntu permet d’activer un menu « Insérer les additions invité » mais on peut également télécharger un fichier iso nu qu’il suffira d’introduire dans la machine virtuelle comme un lecteur CD.

Le plus simple est bien entendu de désinstaller les guest additions avant de procéder à la mise à jour d’Ubuntu. Encore faut-il y penser…

 

Installer les extensions Oracle

Les extensions Oracle (Extension Pack) sont des ajouts à VirtualBox qui ne font pas partie des paquets originaux pour des questions de licence. Après une mise à jour de VirtualBox il est nécessaire de les mettre à jour en les téléchargeant sur le site de VirtualBox. Dans mon cas il a fallu mettre à jour à la fois les guest additions et le extension pack.