web-dev-qa-db-fra.com

VirtualBox ne démarre que dans le shell UEFI Interactive

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?

49
Benjamin Stütz

J'ai rencontré le même problème et constaté que si j'émettais la commande suivante dans le shell interactif, la machine virtuelle démarrerait dans Ubuntu:

fs0:\efi\ubuntu\grubx64.efi

(L'utilisation de la barre oblique inversée, la barre oblique ne fonctionne pas. Les commandes dans le 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 this , suivi n rapport de bogue et trouvé ne 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 UEFI Interactive Shell. Selon this , 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 this , 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"
52
Nairen Zheng

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, Shell a été invoqué.

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

presse Ctrl + s et Enter pour sauver et Ctrl + q quitter. Puis redémarrez la VM.

Sinon, 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 pour l’éviter, éditez startup.nsh.

32
VRR

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 survenu 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. Mon VM dispose de 2 CPU, 8 Go 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.

11
robocop

Copier grubx64.efi dans /EFI/boot/bootx64.EFI
VirtualBox utilise ce bootx64.efi pour démarrer.
Réf.: Archlinux Virtualbox wiki

3
cylgalad

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 constaté 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 renvoyé la ligne suivante dans /boot/efi/startup.nsh.

Sudo echo 'BLK2:/EFI/ubuntu/grubx64.efi' > /boot/efi/startup.nsh

Ça y est, le système va démarrer correctement.

1
Yaron Morad

pour cela, vous devez l'écrire comme suit:

fs0:
cd EFI
cd ubuntu
grubx64

c'est comme ça que je l'ai fait fonctionner si vous l'écriviez d'une autre manière, cela ne fonctionnerait pas.

1
Dan Duncker

Un autre travail autour de:

Dans le shell uefi, démarrez temporairement pour Ubuntu en utilisant:

fs0:
cd EFI
cd ubuntu
grubx64

Ensuite, dans Ubuntu, éditez le fichier startup.nsh comme ci-dessous:

Terminal ouvert Ctrl+Alt+T.

Type:

Sudo nano /boot/efi/startup.nsh

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 chiffre 0, pas l'alphabet O)

FS0:
\EFI\ubuntu\grubx64.efi

Maintenant, appuyez sur Ctrl+O (C'est l'alphabet O).

Ensuite, Alt+D (Pour changer le texte au format msdos).

Ensuite, appuyez sur Enter.

Ensuite Ctrl+X.

Maintenant, redémarrez.

Sudo reboot

Tout devrait bien se passer maintenant.

1
Ddm

Je pourrais résoudre ce problème en remplaçant le périphérique cdrom dans la virtualbox de IDE par 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.

1
Laurent

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). enter image description here

1
Sudip7

Après avoir installé Kubuntu15.10 dans VirtualBox5 avec UEFI, le redémarrage de la machine VM échoue.

Ajout de la ligne

FS0:\EFI\ubuntu\grubx64.efi

Et la solution avec la création d’un nouveau fichier startup.nsh dans Kubuntu15.10 dans l’environnement chroot avec

Sudo echo '\ EFI\ubuntu\grubx64.efi'> startup.nsh 

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:

Sudo apt-get installer grub-efi-AMD64-signé shim-signé 
 Sudo update-grub
0
sun312

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.

Sudo grub-install /dev/sda --target=x86_64-efi --efi-directory=/boot/efi/

REMARQUE: /dev/sda est le disque dur du système.

0
user945376