Accueil
» LINUX
»
Comment résoudre une erreur de lancement de machine virtuelle VirtualBox sous Linux
Comment résoudre une erreur de lancement de machine virtuelle VirtualBox sous Linux
Si une machine virtuelle VirtualBox ne démarre pas sous Linux , lisez attentivement le message d'erreur avant toute réinstallation. Une cause fréquente, côté hôte, est l' vboxdrvabsence du module noyau requis, sa compilation pour un noyau différent ou le blocage par le démarrage sécurisé. D'autres messages peuvent indiquer un problème de configuration de la machine virtuelle, une incompatibilité de versions ou une fonctionnalité nécessitant le pack d'extension.
1. Consignez l'erreur et vérifiez les versions de l'hôte.
Notez l'intégralité du texte du dialogue et le code d'erreur, puis vérifiez quelle version de VirtualBox et quel noyau Linux sont utilisés :
VBoxManage --version
uname -r
Utilisez le message d'erreur pour déterminer la prochaine étape. Si VirtualBox s'ouvre mais qu'une machine virtuelle échoue, examinez son journal et ses paramètres. Si toutes les machines virtuelles échouent avec un message d'erreur lié au pilote hôte, commencez par vboxdrv…
Exemple uniquement : utilisez le code d’erreur et les valeurs de version affichés sur votre propre système Linux.
2. Vérifiez si le pilote hôte VirtualBox est chargé.
Linux utilise le vboxdrvmodule noyau hôte pour exécuter les machines virtuelles. Vérifiez la présence de modules VirtualBox, puis essayez de charger le pilote principal :
lsmod | grep '^vbox'
sudo modprobe vboxdrv
En cas modprobed'erreur, conservez le message d'erreur exact. En cas de succès, relancez la machine virtuelle. Le guide d'installation de l'hôte Linux d'Oracle explique que VirtualBox nécessite les modules du noyau hôte et les en-têtes du noyau appropriés.
Une opération réussie modprobepeut ne renvoyer aucun texte ; l’indice important est le message d’erreur.
3. Recompilez le module pour le noyau que vous avez démarré.
Après une mise à jour du noyau Linux, le module VirtualBox peut ne pas être compatible avec le noyau en cours d'exécution. Vérifiez que les fichiers de développement correspondant à ce noyau sont disponibles.
uname -r
ls -ld "/lib/modules/$(uname -r)/build"
Si le buildlien est manquant, installez les en-têtes du noyau ou le paquet de développement correspondants à l'aide du gestionnaire de paquets de votre distribution. Sous Ubuntu ou Debian, si VirtualBox provient du dépôt de la distribution, la procédure de réparation habituelle est la suivante :
Les noms des paquets diffèrent selon les systèmes (Fedora, Arch Linux, openSUSE, etc.). Installez les en-têtes du noyau en cours d'exécution et le paquet du module hôte correspondant à votre installation de VirtualBox. N'utilisez pas simultanément l'installateur d'Oracle et les paquets VirtualBox de votre distribution ; utilisez une seule source de paquets et ses instructions de recompilation. L'index des paquets d'Ubuntu indique les versions qui fournissent actuellement VirtualBox virtualbox-dkms.
La version du noyau et son répertoire de compilation doivent correspondre au même noyau en cours d'exécution.Cette commande d'installation de paquets s'applique aux installations Ubuntu ou Debian à partir de leurs dépôts ; utilisez les noms de paquets de votre distribution ailleurs.
4. Vérifiez le démarrage sécurisé si Linux rejette le module
Le démarrage sécurisé peut empêcher le chargement d'un module noyau tiers non signé. Vérifiez son état et recherchez les messages du noyau associés :
Si le message indique que la clé a été rejetée ou que le module n'est pas signé, suivez la procédure de signature des modules de votre distribution. Sous Ubuntu, les modules DKMS peuvent être signés avec une clé de propriétaire de machine (MOK). Si l'installation vous demande d'enregistrer une clé, effectuez l'enregistrement au prochain redémarrage. Canonical documente la procédure de démarrage sécurisé et d'utilisation de la MOK . La désactivation du démarrage sécurisé n'est pas la première solution à envisager.
Utilisez le journal du noyau pour distinguer un module rejeté d'un module manquant ou d'une compilation ayant échoué.
5. Vérifiez le pack d'extension uniquement lorsque l'erreur l'exige.
Le pack d'extension n'est pas requis pour démarrer une machine virtuelle classique. Il ajoute des fonctionnalités spécifiques, notamment la prise en charge des périphériques USB 2.0 et 3.0 et l'affichage à distance. Si l'erreur mentionne une extension ou l'une de ces fonctionnalités, vérifiez le pack installé :
VBoxManage list extpacks
Si un pack d'extension est installé, sa version doit correspondre à celle de votre machine virtuelle VirtualBox. Mettez à jour ou supprimez un pack obsolète via la gestion des extensions de VirtualBox, ou téléchargez la version correspondante depuis la page de téléchargement officielle de VirtualBox . N'installez pas un ancien pack d'extension simplement parce qu'une machine virtuelle ne démarre pas.
Comparez la version du pack d'extension avec la version hôte de VBoxManage --version.
6. Utilisez le journal de la machine virtuelle pour les erreurs qui affectent une seule machine.
Lorsqu'une seule machine virtuelle tombe en panne, ouvrez son journal VBox.logdans le Logsrépertoire de la machine virtuelle. L'emplacement par défaut est `/etc/ machinesv`, mais une machine virtuelle peut utiliser un autre répertoire. Examinez les dernières lignes entourant l'erreur de démarrage pour identifier la première erreur fatale ; le chapitre de dépannage~/VirtualBox VMs/VM-name/Logs d'Oracle décrit le journal et les indices de diagnostic courants.
Les extraits du journal varient selon la panne ; utilisez le journal réel de la machine virtuelle qui n’a pas démarré.
Si le message indique que la virtualisation matérielle est indisponible, activez Intel VT-x ou AMD-V (parfois appelé SVM) dans le firmware hôte. Si Linux est exécuté dans une autre machine virtuelle, l'hyperviseur externe doit prendre en charge la virtualisation imbriquée. Évitez de modifier les paramètres des machines virtuelles non concernées, sauf si l'erreur y fait référence.
Les libellés et la disposition du gestionnaire varient selon la version de VirtualBox ; le message d’erreur devrait indiquer quel paramètre examiner.
7. Évitez les modifications d'autorisations risquées
N'essayez pas chownde /usrréparer VirtualBox. Le répertoire système appartient généralement à l'utilisateur root, et toute modification de son propriétaire peut endommager les fichiers gérés par paquets sans réparer le module du noyau. Après avoir installé les en-têtes appropriés ou recompilé le pilote, redémarrez sur le noyau souhaité et réessayez la machine virtuelle.
Si le problème persiste, conservez le texte exact de la boîte de dialogue, la distribution Linux et la version du noyau, la version de VirtualBox, dkms statusla sortie et la fin pertinente du fichier VBox.log. Ces détails permettent de déterminer si l'étape suivante concerne le pilote hôte, le démarrage sécurisé, la configuration de la machine virtuelle ou une incompatibilité de versions.