Virtualbox загружается только в uefi interactive shell
Привет всем форумчанам! Недавно смотрел на ютубе видео, в котором можно увидеть, как виртуальная машина VirtualBox загружается с флешки с помощью нажатия клавиши F12 и последующего вызова загрузочного меню, п ри этом не создаётся никакого vmdk-файла и не производится никаких манипуляций с командной строкой. К сожалению у меня такое меню не появляется, а автор видео закрыл к нему комментарии и спросить у него, как он это сделал, нельзя. На вашем сайте много статей о виртуальных машинах и о VirtualBox в частности, хочу спросить, как можно вызвать загрузочное меню в виртуальной машине VirtualBox и загрузиться с флешки ?
2 ответа
VirtualBox склонен забывать свои записи загрузки EFI. Я знаю о двух решениях этой проблемы:
- Переместитесь/переименуйте загрузчик, который Вы используете (вероятно, EFI/ubuntu/grubx64.efi на Системном разделе EFI (ESP)) к EFI/BOOT/bootx64.efi . Это - имя файла значения по умолчанию/нейтрализации, и таким образом, VirtualBox загрузится от него по умолчанию, если не будет никаких других записей.
- Используйте меню EFI VirtualBox для определения местоположения загрузчика, который Вы используете (снова, вероятно EFI/ubuntu/grubx64.efi ) и добавьте его как параметр загрузки. Я не вспоминаю точные шаги, и меню не точно удобны для пользователя, но если Вы вводите по абсолютному адресу вокруг в меню, опции там.
Выполнение любой из этих вещей должно получить запуск GRUB, но затем у Вас есть второй выпуск, X не запуск. Для решения этой проблемы попробуйте это:
- Сделайте вход в систему текстового режима.
- Ввести sudo su получать root полномочия.
- Ввести Xorg -configure . Это должно создать названный файл /root/xorg.conf.new , IIRC.
- Копия, что недавно - создают файл к /etc/X11/xorg.conf .
- Дополнительно, редактирование /etc/X11/xorg.conf . Это может или не может требоваться. Лично, я редактирую файл для установки fbdev драйвер как значение по умолчанию, но можно предпочесть что-то еще. Существует много руководств онлайн по xorg.conf , но у меня нет URL удобными, и это может быть довольно сложно, так полностью описание, это здесь непрактично.
Поскольку может быть возможно установить Ubuntu в режиме Virtual Box EFI, это не может работать как ожидалось. Я для меня разочаровался в этом после некоторых неудавшихся экспериментов, и после чтения документация к Виртуальному Полю :
Примечание, что поддержка VirtualBox EFI экспериментальна и будет улучшена как EFI, назревает и становится более широко распространенным.
, Таким образом, это может хорошо работать, но как много экспериментальных функций это не может работать как ожидалось.
Для виртуальной машины виртуализированное встроенное микропрограммное обеспечение EFI не имеет никаких преимуществ перед виртуальным BIOS прежней версии, оно может (если бы не тестирование) быть лучше установить виртуальную ОС в режиме BIOS прежней версии.
Я запускаю виртуальную машину для Mac OSX, и она всегда загружается в оболочку EFI, мне просто нужно простое объяснение того, что это такое и как, если возможно, выйти из нее.
оболочка EFI-это инструмент командной строки, аналогичный по концепции bash в Linux/Unix / OS X или окну командной строки в Windows. Он позволяет просматривать, удалять, редактировать и переименовывать файлы, обновлять записи менеджера загрузки EFI и так далее. Вы можете выйти из оболочки, набрав exit ; однако, в случае VirtualBox, это, вероятно, приведет вас к меню EFI, которое может быть столь же запутанным.
- вы можете запустить загрузчик вручную, используя оболочку EFI:
- тип fs0: для доступа к первой файловой системе, которая обычно является ESP.
- тип cd EFI\ , где - это имя каталога, в котором ваша ОС установила свой загрузчик. (Вы не сказали, какую ОС вы установили, поэтому я не могу быть уверен, что это такое. Введите ls EFI покажет вам, что есть.)
- запустите загрузчик, введя его имя. Опять же, я не могу знать, что это такое. Для Linux это обычно grubx64.efi . Для Windows, это bootmgfw.efi .
- автоматизируйте описанную выше процедуру с помощью сценария запуска оболочки EFI ( startup.nsh в корневом каталоге ESP).
- переименуйте загрузчик в EFI\BOOT\bootx64.efi , которое является резервным именем файла:
- тип fs0: для доступа к первой файловой системе, которая обычно является ESP.
- тип mv EFI\ EFI\BOOT переименовать каталог, в котором находится загрузчик. Как и выше, вы должны будете определить, что - это себе.
- тип mv EFI\BOOT\ EFI\BOOT\bootx64.efi , где - имя загрузчика, например grubx64.efi для большинства версий Linux.
- зарегистрируйте загрузчик с помощью встроенного ПО VirtualBox с помощью инструментов оболочки. Я не знаю краткого описания того, как это сделать в интернете, навскидку, и у меня нет времени писать его здесь. Это, вероятно, будет неприятно без точных инструкций, потому что есть много неочевидных подводных камней, которые вы должны избегать.
лично я чаще всего использую решение переименовать загрузчик из ОС по умолчанию в EFI\BOOT\bootx64.efi . Это самый простой в реализации и работает достаточно хорошо. Одним из недостатков этого подхода является то, что если ваша ОС когда-либо обновляет загрузчик, обновление, вероятно, перейдет в Исходное расположение, поэтому вам придется повторить процесс, если вы хотите использовать обновленный загрузчик.
В последнее время на прилавках салонов-магазинов появляется все больше новеньких компьютеров, в которых вместо устаревшего BIOS используется UEFI. Эта технология представляет собой нечто вроде связующего звена между железом и операционной системой, обладая в то же время целым рядом преимуществ перед стандартным BIOS. UEFI позволяет полноценно работать с дисками GPT, обеспечивает более быстрый старт системы, поддерживает модификацию и имеет удобный графический интерфейс. Ознакомиться с UEFI в полной мере можно только на поддерживающем его ПК, а вот посмотреть структуру дисков GPT можно и на компьютере с обычным BIOS, эмулировав физический компьютер на базе BIOS UEFI, используя для этих целей популярный гипервизор VirtualBox, чем мы, собственно, и займемся.
Как установить Windows 10 в режиме EFI на VirtualBox
Существует мнение, что установить на WM EFI можно только 64-битные системы, однако в нашем случае на 32-битную виртуальную машину установка 32-битной же Windows прошла без каких-либо проблем. Главное, чтобы сама система поддерживала EFI, определить же это очень просто. Откройте ISO-образ архиватором, — если в нем есть папка efi, значит система поддерживает и EFI.
Перед тем как приступать к демонстрации, хотелось бы обратить ваше внимание на тот факт, что VirtualBox также имеет свой «BIOS», вызываемый нажатием F12 при запуске виртуальной машины. Он крайне примитивен и поддерживает только смену приоритета загрузки с четырех устройств: жесткого диска, флоппи-дискеты, CD-ROM и сетевого ресурса. BIOS виртуальной машины UEFI отличается большим количеством функций.
Чтобы в него попасть, нужно так же нажать при запуске F12, а когда появится окошко UEFI Interactiue Shell, дождаться приглашения ввести команду Shell. Введя exit и нажав ввод, вы попадете в примитивный UEFI-интерфейс VirtualBox. Настроек в нем гораздо больше. Здесь вы можете выбрать не только приоритет загрузки, но также настроить конфигурацию OVMF и iSCSI, консоли, выбрать загрузку из файла и так далее.
За исключением одной детали, процедура установки Windows на EFI-машину ничем не отличается, но имеются свои особенности в создании самой виртуального EFI-компьютера. Итак, создаем машину, даем ей имя, указываем версию и разрядность, выделяем нужный объем памяти, создаем новый виртуальный диск в формате VDI, формат хранения оставляем динамический, выбираем место хранения машины. А теперь важный момент. Заходим в настройки созданной виртуальной машины, переключаемся на вкладку «Система» и обязательно отмечаем птичкой чекбокс «Включить EFI. (Только специальные ОС)».
Запускаем машину, указываем путь к загрузочному образу ISO. Как только вверху появится предложение выбрать источник загрузки жмем ввод, иначе Windows попытается загрузиться с пустого VDI-диска. Обратите также внимание, что вместо привычного логотипа Windows на экране гипервизора появится логотип VirtualBox, — такова особенность установки системы на EFI-машину. После принятия лицензии, когда вы нажмете «Создать» в окошке с указанным незанятым пространством и выделите размер дискового пространства под том С, мастер создаст не два, а четыре раздела, как это бывает на дисках GPT.
Систему устанавливаем в основной, три предыдущих являются служебными. Далее процедура ничем не отличается от установки всех Windows 10: производится копирование файлов, настройка устройств, профиля и т.д. В результате вы получите такую же виртуальную машину, только диск ее будет иметь разметку стилей GPT. В виртуальную Windows EFI можно устанавливать дополнения гостевой ОС, соединять с хостовой посредством создание общих папок и буфера обмена и прочее.
Кстати, если в BIOS UEFI виртуальной машины будет доступна загрузка с USB, можете попробовать установить гостевую Windows с загрузочной флешки UEFI, предварительно подключив контроллер USB 2.0 или USB 3.0 в настройках виртуальной машины на вкладке USB.
заходим в общие настройки самого VirtualBox, переключаемся на вкладку «Плагины», жмем справа плюсик и указываем путь с загруженному плагину vbox-extpack.
Как загрузить виртуальную машину VirtualBox с флешки UEFI
Привет друзья! Загрузочное меню в виртуальной машине VirtualBox можно вызвать при помощи клавиши F12, но только в том случае, если при создании виртуальной машины вы настроили её соответствующим образом. Например, я решил создать виртуальную машину и установить на неё Windows 10, с самого начала делаю всё как обычно, устанавливаю VirtualBox, затем жму « Создать »
и привычным способом создаю виртуальную машину, но в пункте «Система»--> « Материнская плата » отмечаю пункт « Включить EFI (только специальные ОС) », в результате VirtualBox эмулирует интерфейс UEFI и наша Windows 10 устанавливается на диск GPT.
Созданная таким способом виртуальная машина ведёт себя точно также, как бы вёл себя ноутбук с включенным интерфейсом UEFI и установленной на диск GPT операционной системой. Что интересно, загрузить виртуальную машину можно с флешки путём вызова специального меню загрузки. Вызывается это меню при нажатии клавиши F12, в момент запуска виртуальной машины, но загрузочная флешка у вас должна быть UEFI .
Итак, подключаем загрузочную флешку к компьютеру и запускаем VirtualBox, затем в главном окне виртуальной машины выделяем левой мышью нужную вам машину и жмём на кнопку « Настроить ».
Выбираем Категорию «USB». Отмечаем пункты « Включить контроллер USB » и выбираем порт USB 2.0 физической машины - «К онтроллер USB 2.0 (EHCI) » , если у вас флешка интерфейса USB 3.0, то выберите порт USB 3.0 - «Контроллер USB 3.0 (EHCI) ». В правой части окна жмём на кнопку с изображением USB флешки и добавляем новый USB фильтр, в виде нашей подключенной флешки (в моём случае Kingston). Вот и всё, новый USB фильтр, в виде нашей флешки Kingston , добавлен в виртуальную машину, жмём « ОК »
Теперь выделяем созданную виртуальную машину левой мышью и жмём на кнопку «Запустить» (загрузочная флешка должна быть подсоединена к вашему компьютеру или ноутбуку).
Запускается виртуальная машина. Жмём клавишу F12.
С помощью стрелок на клавиатуре выбираем пункт «Boot Manager» и жмём Enter на клавиатуре.
Выбираем « UEFI USB Device » и жмём Enter.
Происходит загрузка виртуальной машины VirtualBox с загрузочной флешки.
Друзья, если при создании виртуальной машины вы не отметили пункт «Включить EFI (только специальные ОС)», то так просто загрузить VirtualBox с флешки вы не сможете. Вам придётся создавать vmdk-файл и немного поработать с командной строкой. Статьи по этой теме:
С помощью мыши щелкните левой кнопкой мыши, удерживайте и перетащите курсор, чтобы выбрать + скопировать текст в буфер обмена. Вставить с центральным колесом / кнопкой мыши.
У меня была та же проблема (с включенной EFI, потому что я не мог заставить ее работать иначе). Странный; хотя установка Ubuntu 14.04.2 не получила ошибок, установка Kubuntu 15.04 не удалось завершить. Он застыл в самом конце, когда его попросили удалить DVD.
Итак, чтобы избежать типа оболочки:
fs0: отредактируйте startup.nsh
и в открывшемся окне добавьте эти две строки:
fs0: изменить startup.nsh
FS0: \ EFI \ ubuntu \ grubx64.efi
нажмите Ctrl + s и Enter для сохранения и Ctrl + q, чтобы выйти. Затем перезапустите VM.
Ввод команды действительно работает, но проблема в том, что при следующем перезапуске он снова переходит к этой оболочке и файл startup.nsh, похоже, не сохраняется. – PSIXO 1 August 2016 в 15:50
Чтобы сохранить файл startup.nsh, вам нужно использовать Ctrl + S для сохранения и нажать Enter для записи в файл. – Willoczy 15 October 2016 в 21:01
Если вы не используете Ubuntu, вы можете найти правильный путь для своего компьютера, используя ls в оболочке UEFI. Например. ls FS0:\EFI, затем ls FS0:\EFI\redhat, чтобы узнать путь FS0:\EFI\redhat\grub.efi в CentOS. – ntc2 13 February 2018 в 04:31
@ ntc2 Спасибо, это было именно то, что я искал! Для моей установки Slackware это было FS0:\EFI\Slackware\elilo.efi. – faviouz 20 February 2018 в 13:52
Еще одна опция - отключить опцию расширенных функций под названием «Включить EFI» в разделе «Материнская плата» для вашей виртуальной машины.
Если эта проблема возникнет для установки Gnome Ubuntu 12.04.2 amd64bit.
Обнаружено это после изменения параметров аппаратного ускорения. Я остался с включенным VT-x / AMD-V, вложенным пейджингом. Моя виртуальная машина имеет 2 процессора, 8 ГБ оперативной памяти для справки.
После полной проверки проблема полностью обходится Gnome Ubuntu не загружает никаких проблем. Запуск Virtual Box 4.3.18 r96516 на 64-разрядном хосте Windows 7.
Это работает только потому, что Grub также имеет унаследованную поддержку (MBR). – Paul Stelian 16 August 2016 в 13:47
Скопировать grubx64.efi в /EFI/boot/bootx64.EFI VirtualBox использовать bootx64.efi для загрузки. Ref .: Archlinux Virtualbox wiki
Это более плавное, чем редактирование метода startup.nsh , но на самом деле оно не будет автоматически обновляться, и вы не сможете использовать символическую ссылку, потому что это раздел FAT32. – Giorgi Gzirishvili 22 November 2017 в 05:37
Я мог бы решить эту проблему, изменив устройство cdrom в виртуальном боксе с IDE на SATA. Я удалил стандартное сопоставление виртуального диска cdrom в конфигурации устройства.
Просто добавьте устройство cdrom в существующий контроллер SATA, который будет использоваться для вашего установочного носителя.
Я пытаюсь загрузить Ubuntu 12.04 (64bit), используя UEFI в VirtualBox. При использовании загрузки UEFI в Virtualbox, я сразу же заскочил в EFI-оболочку. Я посмотрел это онлайн и сделал, как объяснено в этой ветке. Когда я делаю, как описано в теме, я получаю «Ошибка чтения efidisk». Несмотря на эту ошибку, он все равно загружается в Ubuntu, но я в конечном итоге в tty1.
Я пытался этого , чтобы избежать попадания в EFI-оболочку без какого-либо успеха.
- Почему появляется «ошибка чтения efidisk»?
- Как мне загрузиться прямо в Ubuntu, не переходя в EFI-shell?
- Как мне попасть в lightdm из tty1?
Читайте также: