Rester bloqué dans le shell interactif UEFI au lancement d’une VM VirtualBox peut être très pénible. Cela signifie généralement que le firmware EFI ne trouve pas de chargeur de démarrage approprié et, au lieu de démarrer dans votre système d’exploitation, vous y redirige. Cela arrive souvent si l’installation du système d’exploitation est incomplète, si vous avez modifié les paramètres de la VM, ou simplement parce que le chargeur de démarrage EFI est corrompu ou manquant. Heureusement, il existe plusieurs solutions : certaines rapides, d’autres plus complexes, mais efficaces. En résumé, l’objectif est d’indiquer à la VM où trouver le chargeur du système d’exploitation, ou simplement d’adopter une méthode de démarrage plus adaptée à l’environnement VirtualBox. Ce guide présente plusieurs options pour que votre VM redémarre normalement.
Comment résoudre le problème de démarrage de VirtualBox uniquement dans le shell interactif UEFI
Désactiver EFI dans les paramètres de VirtualBox
Cette méthode est assez simple et fonctionne bien si vous souhaitez simplement abandonner EFI. L’idée est de revenir au mode BIOS hérité, plus tolérant et compatible dans la plupart des cas. Lorsque EFI est activé, la machine virtuelle recherche des fichiers de démarrage EFI spécifiques, qui peuvent parfois être perdus ou endommagés, notamment après une installation ratée du système d’exploitation. En le désactivant, VirtualBox utilise son mode BIOS par défaut, qui lit les instructions de démarrage directement depuis le MBR du disque. Généralement, cela corrige le processus de démarrage sans problème, surtout sur les installations Windows ou Linux qui n’ont pas particulièrement besoin d’EFI.
- Assurez-vous que votre machine virtuelle est complètement éteinte, qu’elle n’est pas en pause ou dans un état enregistré.
- Ouvrez VirtualBox, faites un clic droit sur votre machine virtuelle et choisissez Paramètres.
- Accédez à Système > Carte mère.
- Décochez la case à côté de Activer EFI.
- Cliquez sur OK et redémarrez la machine virtuelle.
Attendez-vous à ce que votre système contourne le shell UEFI et démarre directement dans votre système d’exploitation. Sur certaines configurations, cette solution est instantanée. Sur d’autres, cela peut nécessiter un ou deux redémarrages, mais c’est généralement le moyen le plus rapide de revenir au système d’exploitation si l’EFI n’est pas indispensable à votre configuration.
Démarrer manuellement à partir du shell EFI
Si vous préférez corriger le processus de démarrage EFI plutôt que de le désactiver, vous pouvez essayer de sélectionner manuellement le système d’exploitation depuis l’interpréteur de commandes EFI. C’est un peu étrange, mais une fois dans l’invite de commande (généralement Shell>), vous pouvez rechercher les fichiers de votre système d’exploitation. Cette méthode est pratique si votre chargeur de démarrage est intact, mais qu’il n’est pas enregistré ou sélectionné automatiquement.
- Démarrez la machine virtuelle et attendez l’invite du shell EFI.
- Tapez map et appuyez sur Entrée : cela affiche tous les disques et partitions.
- Recherchez les lecteurs étiquetés FS0:, FS1:, etc. Ce sont vos partitions EFI et vos disques système.
- Tapez le nom du lecteur avec deux points (par exemple,
FS0:) et appuyez sur Entrée. - Tapez dir pour lister les fichiers. Recherchez un dossier EFI.
- Changez de répertoire dans EFI avec
cd EFIet appuyez sur Entrée. - Maintenant, accédez au dossier correspondant à votre système d’exploitation, comme
cd Microsoft\Bootpour Windows oucd ubuntupour Linux. - Enfin, exécutez le fichier du chargeur de démarrage, pour Windows généralement :
bootmgfw.efi.
Saisissez le chemin complet si nécessaire, par exemple : \EFI\Microsoft\Boot\bootmgfw.efi. S’il se charge, le système d’exploitation devrait démarrer normalement, mais il s’agit d’une solution temporaire. Pour une solution plus durable, pensez à ajouter des commandes à un script de démarrage ou à copier le chargeur de démarrage vers le chemin de secours (voir ci-dessous).
Utiliser le gestionnaire de démarrage intégré
C’est un peu un raccourci : au lieu d’écrire des scripts ou de copier des fichiers, vous pouvez simplement accéder à l’interface du gestionnaire de démarrage UEFI pour sélectionner le périphérique de démarrage approprié.À l’invite du shell EFI, saisissez « exit » et appuyez sur Entrée. Cela vous amène généralement à un menu où vous pouvez choisir votre disque de démarrage ou votre système d’exploitation. C’est une solution pratique pour résoudre les problèmes sans trop de manipulations.
Copiez et renommez le chargeur de démarrage vers le chemin de secours UEFI
C’est un peu sournois, mais copier le chargeur de votre système d’exploitation \EFI\Boot\bootx64.efipeut forcer le micrologiciel UEFI à démarrer automatiquement dans votre système d’exploitation, en se fiant à ce chemin de secours. Bien sûr, Windows rend la tâche plus complexe que nécessaire. C’est la solution la plus fiable, surtout si votre entrée de démarrage EFI est corrompue.
- Tout d’abord, démarrez à partir de l’ISO d’installation de votre système d’exploitation. Dans VirtualBox, ajoutez l’ISO en tant que lecteur optique dans Stockage et démarrez la machine virtuelle.
- Pour Windows, après le démarrage, appuyez Shift + F10pour ouvrir l’invite de commande.
- Utiliser
diskpartpour trouver la partition EFI : - Tapez
list volet recherchez la petite partition FAT32 étiquetée EFI ou Système. - Quittez diskpart avec
exit. - Attribuez une lettre de lecteur si nécessaire, puis accédez au dossier EFI :
- Pour Windows, copiez le chargeur de démarrage comme ceci :
copy S:\EFI\Microsoft\Boot\bootmgfw.efi S:\EFI\Boot\bootx64.efi
Pour les invités Linux comme Ubuntu :
- Démarrez à partir d’une clé USB Linux Live, montez la partition EFI :
sudo fdisk -lpour localiser votre partition EFI (probablement /dev/sda1).- Montez-le avec :
sudo mount /dev/sda1 /mnt. - Copiez le chargeur de démarrage :
sudo cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Boot/bootx64.efi.
Une fois terminé, redémarrez la VM normalement. Elle devrait maintenant démarrer directement sur votre système d’exploitation, grâce à ce chemin de démarrage de secours. Autre point à noter : le démarrage sécurisé peut interférer. Si le démarrage sécurisé est activé, vous devrez peut-être le désactiver ou le remplacer par shimx64.efi.
Comment puis-je rendre ce correctif permanent ?
La meilleure solution est de copier le chargeur de démarrage EFI de votre système d’exploitation directement dans l’emplacement de secours \EFI\Boot\bootx64.efi. Ainsi, même si l’EFI ne possède pas d’entrée de démarrage appropriée, il chargera ce fichier par défaut. Sous Windows, copiez simplement le fichier bootmgfw.efi comme indiqué ci-dessus. Sous Linux, même méthode : copiez grubx64.efi (ou shim, si le démarrage sécurisé est activé).Cette opération est généralement valable pour les redémarrages et même les snapshots de machines virtuelles. Cependant, n’oubliez pas que si vous mettez à jour le chargeur de démarrage ou changez de disque, vous devrez peut-être recommencer cette opération.
Si vous rencontrez toujours des problèmes, il suffit parfois de désactiver complètement l’EFI (voir la méthode ci-dessus) pour sortir du shell et entrer dans une boucle de démarrage normale. Cependant, gardez à l’esprit que certains systèmes d’exploitation ou configurations nécessitent l’EFI ; dans ce cas, la solution consiste à corriger le chargeur de démarrage ou l’entrée EFI.
Voilà. Résoudre les problèmes EFI dans VirtualBox peut être compliqué, mais il s’agit généralement de rétablir le chemin de démarrage ou de changer de mode de démarrage. Après avoir manipulé EFI pendant un certain temps, c’est assez étrange qu’une simple modification de paramètre ou copie d’un fichier puisse faire une telle différence.