VirtualBox ne démarre que dans le shell UEFI Interactive
49
J'ai installé Ubuntu 14.10 dans VirtualBox avec UEFI. Mais maintenant, j'ai redémarré ce système d'exploitation et il démarre maintenant dans un UEFI Interactive Shell v2.0. Comment puis-je redémarrer normalement dans Grub?
Bonne nouvelle à tous, avec VirtualBox 5.1, les solutions de contournement ne sont plus nécessaires. Vous devrez peut-être simplement ajouter une nouvelle entrée EFI (manuelle efibootmgrou automatiquement en réinstallant grub) pour redémarrer immédiatement Ubuntu.
phk
2
Même avec la version 5.1, les modifications apportées aux variables efi, telles que le paramètre de démarrage requis avec, efibootmgrsont perdues après l’arrêt (elles restent au redémarrage).
chappjc
1
5.1.30 il existe toujours. Même si la réparation est facile, je dois corriger chaque fois après avoir installé debian & ubuntu.
CallMeLaNN
Réponses:
52
J'ai rencontré le même problème et j'ai constaté que si j'émettais la commande suivante dans le shell interactif, la machine virtuelle démarrerait sous Ubuntu:
fs0:\efi\ubuntu\grubx64.efi
(L'utilisation de la barre oblique inversée, la barre oblique ne fonctionne pas. Les commandes du shell interactif UEFI sont sensibles à la casse.)
Ma version de VirtualBox est 4.3.20 r96997, la version Ubuntu est 14.10 AMD64. Je ne sais pas pourquoi cela se produit et comment le résoudre. Je viens de trouver cette solution de contournement pas élégante et toujours un peu gênante.
La solution de contournement dans la mise à jour 1 a échoué. J'ai éteint la machine virtuelle, je l'ai lancée. Et il a de nouveau démarré dans le shell interactif UEFI. Selon cela , le problème était probablement dû à un bogue de VirtualBox. Je cherche toujours une solution supplémentaire à cela.
Mise à jour 3:
Enfin trouvé une solution. Selon cela , vous devez créer un script startup.nsh manuellement. À l'exception de la méthode mentionnée dans l'article suivant, vous pouvez également le faire:
$ sudo mount /dev/sda1 /mnt
$ cd /mnt
$ sudo sh -c "echo '\EFI\ubuntu\grubx64.efi' > startup.nsh"
« Il est actuellement impossible de manipuler des variables EFI à partir d'un invité en cours d' exécution » La solution dans votre deuxième misejour pour déplacer tout cebootloadervous voulez utiliser sur l'ESP\EFI\boot\bootx64.efisonne comme le mieux me solution queperdre 5 soconds wating pour startup.nsh . Remarque: vous pouvez appuyer sur la touche F12 pendant le démarrage ou entrerexitdans le shell EFI pour accéder aux paramètres du microprogramme et modifier toutes sortes d'éléments, y compris la résolution du terminal, mais ces modifications ne sont pas stockées de manière permanente.
LiveWireBT
Après avoir émis la commande dans le shell interactif, vous pouvez installer refindpour corriger EFI
Eduardo
1
Bon à savoir que c'est un bug. Simplement edit startup.nsh. +1 Il cherche \EFI\boot\bootx64.efià sauter les 5 secondes.
CallMeLaNN
1
Copier et renommer \EFI\ubuntu\shimx64.efien \EFI\boot\bootx64.efiest le meilleur. crédit
CallMeLaNN
La mise à jour 3 l'a fait pour moi ....
cljk
32
J'ai eu le même problème (avec le EFI activé parce que je ne pouvais pas le faire fonctionner autrement). Étrange; Bien que l'installation d'Ubuntu 14.04.2 ne génère pas d'erreur, l'installation de Kubuntu 15.04 n'a pas pu être finalisée. Il a gelé à la toute fin lorsqu'on lui a demandé de retirer le DVD. Après la réinitialisation, il a bien démarré, mais après la mise hors tension, il a amené shell.
Donc, pour éviter le type de shell:
fs0:
éditer startup.nsh
et sur la fenêtre ouverte ajoutez ces 2 lignes:
FS0:
\ EFI \ ubuntu \ grubx64.efi
appuyez sur Ctrl+ set Enterpour enregistrer et sur Ctrl+ qpour quitter. Puis redémarrez la VM.
Alternativement, vous pouvez toujours utiliser ces 2 lignes pour quitter shell et démarrer le système d'exploitation. Mais la deuxième fois que vous redémarrez, vous serez à nouveau dans un shell et vous éviterez de le modifier startup.nsh.
Taper la commande fonctionne, mais le problème est que lors du prochain redémarrage, il retourne à ce shell et le fichier startup.nsh ne semble pas être enregistré.
Igor Čordaš
Pour enregistrer le fichier startup.nsh, vous devez utiliser Ctrl + S pour enregistrer et appuyer sur Entrée pour écrire dans le fichier.
Willoczy
2
Si vous n'utilisez pas Ubuntu, vous pouvez trouver le chemin correct pour votre machine à l'aide lsdu shell UEFI. Par exemple ls FS0:\EFI, ls FS0:\EFI\redhatpour apprendre que le chemin est FS0:\EFI\redhat\grub.efisur CentOS.
ntc2
1
@ ntc2 Merci, c'est exactement ce que je cherchais! Pour mon installation de Slackware, c’était FS0:\EFI\Slackware\elilo.efi.
fabiomaia
11
Une autre option consiste à décocher l'option Options étendues appelée "Activer EFI" sous "Carte mère" pour votre VM.
Si ce problème était apparu lors de l’installation de Gnome Ubuntu 12.04.2 amd64bit.
Découvert après avoir modifié les paramètres d'accélération matérielle. Il me restait à avoir VT-x / AMD-V, pagination imbriquée activée. Ma machine virtuelle a 2 processeurs, 8 Go de RAM pour référence.
Une fois la vérification effectuée, le problème est complètement ignoré. Gnome Ubuntu ne démarre pas. Exécution de Virtual Box 4.3.18 r96516 sur un hôte Windows 7 64 bits.
Celui-ci est plus transparent que l'édition de la méthode startup.nsh , mais en réalité il ne sera pas mis à jour automatiquement et vous ne pouvez pas utiliser symlink non plus car il s'agit d'une partition FAT32.
Giorgi Gzirishvili
1
Je pourrais résoudre ce problème en modifiant le périphérique cdrom dans virtualbox d'IDE en SATA. J'ai supprimé le mappage standard du lecteur de cdrom virtuel dans la configuration du périphérique.
Ajoutez simplement un périphérique cdrom au contrôleur SATA existant à utiliser pour votre support d'installation.
J'ai récemment rencontré ce problème. Veuillez vérifier les paramètres de votre système d'exploitation virtuel. Faites un clic droit sur os virtuel-> système-> Fonctions étendues-> Activer EFI (décochez cette case).
En utilisant Ubuntu 16.04.4 avec EFI activé et en démarrant la machine virtuelle, j’ai constaté qu’elle ne démarre pas et reste dans le shell interactif EFI.
Voici comment j'ai corrigé le démarrage:
Tout d’abord, j’ai trouvé que le fichier grubx64.efi se trouve dans BLK2. C’est pourquoi, pour un démarrage unique, j’ai tapé ce qui suit dans le shell interactif:
BLK2:/EFI/ubuntu/grubx64.efi
Et alto, Ubuntu est opérationnel.
J'ordonne de régler ce problème de façon permanente. Une fois le système installé, j'ai repris la ligne suivante dans /boot/efi/startup.nsh.
efibootmgr
ou automatiquement en réinstallant grub) pour redémarrer immédiatement Ubuntu.efibootmgr
sont perdues après l’arrêt (elles restent au redémarrage).Réponses:
J'ai rencontré le même problème et j'ai constaté que si j'émettais la commande suivante dans le shell interactif, la machine virtuelle démarrerait sous Ubuntu:
(L'utilisation de la barre oblique inversée, la barre oblique ne fonctionne pas. Les commandes du shell interactif UEFI sont sensibles à la casse.)
Ma version de VirtualBox est 4.3.20 r96997, la version Ubuntu est 14.10 AMD64. Je ne sais pas pourquoi cela se produit et comment le résoudre. Je viens de trouver cette solution de contournement pas élégante et toujours un peu gênante.
Mise à jour 1:
J'ai lu ceci , suivi un rapport de bogue et trouvé une meilleure solution de contournement .
Mise à jour 2:
La solution de contournement dans la mise à jour 1 a échoué. J'ai éteint la machine virtuelle, je l'ai lancée. Et il a de nouveau démarré dans le shell interactif UEFI. Selon cela , le problème était probablement dû à un bogue de VirtualBox. Je cherche toujours une solution supplémentaire à cela.
Mise à jour 3:
Enfin trouvé une solution. Selon cela , vous devez créer un script startup.nsh manuellement. À l'exception de la méthode mentionnée dans l'article suivant, vous pouvez également le faire:
la source
\EFI\boot\bootx64.efi
sonne comme le mieux me solution queperdre 5 soconds wating pour startup.nsh . Remarque: vous pouvez appuyer sur la touche F12 pendant le démarrage ou entrerexit
dans le shell EFI pour accéder aux paramètres du microprogramme et modifier toutes sortes d'éléments, y compris la résolution du terminal, mais ces modifications ne sont pas stockées de manière permanente.refind
pour corriger EFIedit startup.nsh
. +1 Il cherche\EFI\boot\bootx64.efi
à sauter les 5 secondes.\EFI\ubuntu\shimx64.efi
en\EFI\boot\bootx64.efi
est le meilleur. créditJ'ai eu le même problème (avec le EFI activé parce que je ne pouvais pas le faire fonctionner autrement). Étrange; Bien que l'installation d'Ubuntu 14.04.2 ne génère pas d'erreur, l'installation de Kubuntu 15.04 n'a pas pu être finalisée. Il a gelé à la toute fin lorsqu'on lui a demandé de retirer le DVD. Après la réinitialisation, il a bien démarré, mais après la mise hors tension, il a amené shell.
Donc, pour éviter le type de shell:
et sur la fenêtre ouverte ajoutez ces 2 lignes:
appuyez sur Ctrl+ set Enterpour enregistrer et sur Ctrl+ qpour quitter. Puis redémarrez la VM.
Alternativement, vous pouvez toujours utiliser ces 2 lignes pour quitter shell et démarrer le système d'exploitation. Mais la deuxième fois que vous redémarrez, vous serez à nouveau dans un shell et vous éviterez de le modifier
startup.nsh
.la source
ls
du shell UEFI. Par exemplels FS0:\EFI
,ls FS0:\EFI\redhat
pour apprendre que le chemin estFS0:\EFI\redhat\grub.efi
sur CentOS.FS0:\EFI\Slackware\elilo.efi
.Une autre option consiste à décocher l'option Options étendues appelée "Activer EFI" sous "Carte mère" pour votre VM.
Si ce problème était apparu lors de l’installation de Gnome Ubuntu 12.04.2 amd64bit.
Découvert après avoir modifié les paramètres d'accélération matérielle. Il me restait à avoir VT-x / AMD-V, pagination imbriquée activée. Ma machine virtuelle a 2 processeurs, 8 Go de RAM pour référence.
Une fois la vérification effectuée, le problème est complètement ignoré. Gnome Ubuntu ne démarre pas. Exécution de Virtual Box 4.3.18 r96516 sur un hôte Windows 7 64 bits.
la source
Copier
grubx64.efi
vers/EFI/boot/bootx64.EFI
VirtualBox utilisez-le
bootx64.efi
pour démarrer.Réf .: Archlinux Virtualbox wiki
la source
Je pourrais résoudre ce problème en modifiant le périphérique cdrom dans virtualbox d'IDE en SATA. J'ai supprimé le mappage standard du lecteur de cdrom virtuel dans la configuration du périphérique.
Ajoutez simplement un périphérique cdrom au contrôleur SATA existant à utiliser pour votre support d'installation.
Et voila, pas d'autres problèmes avec EFI.
la source
J'ai récemment rencontré ce problème. Veuillez vérifier les paramètres de votre système d'exploitation virtuel. Faites un clic droit sur os virtuel-> système-> Fonctions étendues-> Activer EFI (décochez cette case).
la source
pour cela, vous devez l'écrire comme suit:
C'est comme ça que je l'ai fait fonctionner si vous l'écrivez d'une autre manière, cela ne fonctionnera pas.
la source
Un autre travail autour de:
Dans le shell uefi, démarrez temporairement Ubuntu en utilisant:
Ensuite, dans Ubuntu, éditez le fichier startup.nsh comme ci-dessous:
Terminal ouvert Ctrl+ Alt+ T.
Type:
Tapez votre mot de passe.
Supprimez maintenant tout ce qui se trouve à l’aide de la touche del ou backspace.
Puis tapez ceci exactement: (
FS0
- c'est le chiffre0
, pas l'alphabetO
)Maintenant, appuyez sur Ctrl+ O(c'est l'alphabet O).
Ensuite, Alt+ D(pour changer le texte au format msdos).
Puis appuyez sur
Enter
.Alors Ctrl+ X.
Maintenant, redémarrez.
Tout devrait bien se passer maintenant.
la source
En utilisant Ubuntu 16.04.4 avec EFI activé et en démarrant la machine virtuelle, j’ai constaté qu’elle ne démarre pas et reste dans le shell interactif EFI.
Voici comment j'ai corrigé le démarrage:
Tout d’abord, j’ai trouvé que le fichier grubx64.efi se trouve dans BLK2. C’est pourquoi, pour un démarrage unique, j’ai tapé ce qui suit dans le shell interactif:
Et alto, Ubuntu est opérationnel.
J'ordonne de régler ce problème de façon permanente. Une fois le système installé, j'ai repris la ligne suivante dans /boot/efi/startup.nsh.
Ça y est, le système va démarrer correctement.
la source
Après avoir installé Kubuntu15.10 dans VirtualBox5 avec UEFI, le redémarrage de la machine virtuelle échoue.
Ajout de la ligne
dans l'UEFI-Shell ne aide pas.Et la solution avec la création d’un nouveau fichier startup.nsh dans Kubuntu15.10 dans l’environnement chroot avec
ne donne également aucune amélioration.J'ai trouvé la solution:
Le problème était que le répertoire / boot / efi / EFI / Ubuntu avec le fichier grubx64.efi n'existe pas.
Après avoir démarré un Live-CD et passé dans l'environnement chroot, j'ai installé les paquets manquants et créé l'entrée NVRAM requise avec:
la source
Pour définir ou modifier le répertoire de démarrage efi, vous devez d’abord exécuter cette commande. Cela a résolu mon problème.
REMARQUE:
/dev/sda
est le disque dur du système.la source