Я установил 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 (снимите этот флажок).
Я мог бы решить эту проблему, изменив устройство 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 сразу же загрузилась снова.