VirtualBox загружается только в интерактивной оболочке UEFI

Я установил Ubuntu 14.10 в VirtualBox с UEFI. Но теперь я перезагрузил эту ОС, и теперь она загружается в интерактивную оболочку UEFI v2.0. Как я могу снова нормально загрузиться в Grub?

Я столкнулся с той же проблемой и обнаружил, что если я выпишу следующую команду в интерактивной оболочке, виртуальная машина загрузится в Ubuntu:

fs0:\efi\ubuntu\grubx64.efi

(Используйте обратную косую черту, косая черта вперед не работает. Команды в интерактивной оболочке UEFI не чувствительны к регистру.)

Моя версия VirtualBox - 4.3.20 r96997, версия Ubuntu - 14.10 AMD64. Я не знаю, почему это происходит и как это решить. Просто нашел это не элегантное и все еще немного хлопотное решение.

Обновление 1:

Я читал этот, выслеженный до сообщение об ошибке и нашел лучший обходной путь.

Обновление 2:

Обходной путь в обновлении 1 не удался. Я выключил виртуальную машину, запустил ее. И он снова загрузился в интерактивную оболочку UEFI. Согласно с этот, проблема, вероятно, была вызвана ошибкой VirtualBox. Я все еще ищу дальнейшее решение этой проблемы.

Обновление 3:

Наконец-то найдено решение. Согласно с этот, вам нужно создать скрипт startup.nsh вручную. За исключением метода, описанного в упомянутом посте, вы также можете сделать это:

$ sudo mount /dev/sda1 /mnt$ cd /mnt$ sudo sh -c "echo '\EFI\ubuntu\grubx64.efi' > startup.nsh"

У меня была такая же проблема (с EFI включен потому что иначе я не смог бы заставить его работать). Странно; хотя установка Ubuntu 14.04.2 не вызвала ошибок, установка Kubuntu 15.04 не завершилась. Он застыл в самом конце, когда его попросили удалить DVD. После сброса он загрузился нормально, но после отключения питания он вызвал оболочку.

Итак, чтобы избежать типа оболочки:

fs0:
редактировать startup.nsh

и в открывшемся окне добавьте эти 2 строки:

FS0:
\EFI\ubuntu\grubx64.efi

нажимать Ctrl + s и Enter чтобы сохранить и Ctrl + q чтобы бросить курить. Затем перезапустите виртуальную машину.

Кроме того, вы всегда можете использовать эти 2 строки для выхода из оболочки и загрузки ОС. Но при повторном перезапуске вы снова окажетесь в оболочке и, чтобы избежать этого, отредактируйте startup.nsh.

Другой вариант - снять флажок с опции расширенных функций под названием "Включить EFI" в разделе "Материнская плата" для вашей виртуальной машины.

Возникла ли эта проблема при установке Gnome Ubuntu 12.04.2 amd64bit.

Обнаружил это после того, как пришлось изменить настройки аппаратного ускорения.Мне осталось включить VT-x / AMD-V с включенной вложенной подкачкой. Моя виртуальная машина имеет 2 процессора, 8 ГБ оперативной памяти для справки.

После отмены проверки проблема полностью устранена, Gnome Ubuntu загружается без проблем. Запуск Virtual Box 4.3.18 r96516 на 64-разрядном хосте Windows 7.

Копировать grubx64.efi к /EFI/boot/bootx64.EFI
VirtualBox использует это bootx64.efi в придачу.
Ссылка.: Archlinux Virtualbox wiki

>>>Недавно я столкнулся с этой проблемой. Пожалуйста, проверьте настройки вашей виртуальной ОС. Щелкните правой кнопкой мыши на виртуальной ОС- система-Расширенные функции- Включить EFI (снимите этот флажок). enter image description here

Я мог бы решить эту проблему, изменив устройство cdrom в virtualbox с IDE на SATA. Я удалил стандартное отображение виртуального диска cdrom в конфигурации устройства.

Просто добавьте устройство cdrom к существующему контроллеру SATA, который будет использоваться для вашего установочного носителя.

И вуаля, больше никаких проблем с EFI.

для этого вам нужно написать его следующим образом:

fs0:cd EFIcd ubuntugrubx64

вот как я заставил это работать, если вы напишете это любым другим способом, это не сработает.

Еще один обходной маневр:

В оболочке uefi временно загрузитесь в ubuntu с помощью:

fs0:cd EFIcd ubuntugrubx64

Затем внутри ubuntu отредактируйте файл startup.nsh, как показано ниже:

Открытый терминал Ctrl+Alt+T.

Тип:

sudo nano /boot/efi/startup.nsh

Введите свой пароль.

Теперь удалите все, что там есть, используя клавишу del или backspace.

Затем введите это точно: (FS0- это цифра 0, а не алфавит O)

FS0:\EFI\ubuntu\grubx64.efi

Теперь нажмите Ctrl+O (Это алфавит O).

Затем, Alt+D (Чтобы изменить текст в формат msdos).

Затем нажмите Enter.

Затем Ctrl+X.

Теперь перезагрузитесь.

sudo reboot

Теперь все должно быть хорошо.

Используя Ubuntu 16.04.4 с включенным EFI и при запуске виртуальной машины я обнаружил, что она не загружается и просто остается в интерактивной оболочке EFI.

Вот как я исправил загрузку:

Во-первых, я обнаружил, что grubx64.efi находится в BLK2, поэтому для одноразовой загрузки я просто набрал следующее в интерактивной оболочке:

BLK2:/EFI/ubuntu/grubx64.efi

И виола, Ubuntu запущена и работает.

Я хочу навсегда устранить эту проблему, как только система была запущена, я повторил следующую строку в / boot /efi /startup.nsh.

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

Вот и все, система загрузится правильно.

После установки Kubuntu15.10 в VirtualBox5 с UEFI перезагрузка виртуальной машины завершается неудачей.

Добавление строки

FS0:\EFI\ubuntu\grubx64.efi
в UEFI-оболочке это не помогает.

И решение с созданием нового файла startup.nsh в Kubuntu15.10 в среде chroot с

>sudo echo '\EFI\ubuntu\grubx64.efi' startup.nsh 
также не дает никаких улучшений.

Я нашел решение:

Проблема заключалась в том, что каталог /boot/efi/EFI/ubuntu с файлом grubx64.efi не существует.

После загрузки Live-CD и перехода в среду chroot я установил недостающие пакеты и создал необходимую запись NVRAM с помощью:

sudo apt-get install grub-efi-amd64-подписанная прокладка-подписанное обновление sudo-grub

Даже в версии 5.1 изменения в переменных efi, такие как требуемая настройка загрузки с помощью efibootmgr, теряются после завершения работы (хотя они остаются при перезагрузке).

5.1.30 он все еще существует. Несмотря на то, что исправить это легко, но я должен исправлять каждый раз после установки debian и ubuntu.

Хорошие новости для всех: с VirtualBox 5.1 обходные пути больше не нужны. Возможно, вам просто придется добавить новую запись EFI (вручную с помощью efibootmgr или автоматически путем переустановки grub), чтобы Ubuntu сразу же загрузилась снова.