Как выйти из EFI shell в virtual box

Я запускаю виртуальную машину для Mac OSX, и она всегда загружается в оболочку EFI, мне просто нужно простое объяснение того, что это такое и как, если возможно, выйти из нее.

28
задан DavidPostill
04.04.2023 9:44 Количество просмотров материала 3305
Распечатать страницу

1 ответ

оболочка EFI-это инструмент командной строки, аналогичный по концепции bash в Linux/Unix / OS X или окну командной строки в Windows. Он позволяет просматривать, удалять, редактировать и переименовывать файлы, обновлять записи менеджера загрузки EFI и так далее. Вы можете выйти из оболочки, набрав exit; однако, в случае VirtualBox, это, вероятно, приведет вас к меню EFI, которое может быть столь же запутанным.

если вы установили ОС в сессии VirtualBox, скорее всего, он установлен загрузки погрузчик на системный раздел EFI (ESP). большинство ОС регистрирует эти загрузчики с прошивкой, которая помнит их и загружает их автоматически. Одной из особенностей VirtualBox является то, что он обычно забывает эти записи менеджера загрузки. В результате виртуальная машина загружается в оболочку EFI по умолчанию. Есть несколько способов справиться с этой проблемой, в том числе:

  • вы можете запустить загрузчик вручную, используя оболочку EFI:
    1. тип fs0: для доступа к первой файловой системе, которая обычно является ESP.
    2. тип cd EFI\{osname}, где {osname} - это имя каталога, в котором ваша ОС установила свой загрузчик. (Вы не сказали, какую ОС вы установили, поэтому я не могу быть уверен, что это такое. Введите ls EFI покажет вам, что есть.)
    3. запустите загрузчик, введя его имя. Опять же, я не могу знать, что это такое. Для Linux это обычно grubx64.efi. Для Windows, это bootmgfw.efi.
  • автоматизируйте описанную выше процедуру с помощью сценария запуска оболочки EFI (startup.nsh в корневом каталоге ESP).
  • переименуйте загрузчик в EFI\BOOT\bootx64.efi, которое является резервным именем файла:
    1. тип fs0: для доступа к первой файловой системе, которая обычно является ESP.
    2. тип mv EFI\{osname} EFI\BOOT переименовать каталог, в котором находится загрузчик. Как и выше, вы должны будете определить, что {osname} - это себе.
    3. тип mv EFI\BOOT\{loadername.efi} EFI\BOOT\bootx64.efi, где {loadername.efi} - имя загрузчика, например grubx64.efi для большинства версий Linux.
  • зарегистрируйте загрузчик с помощью встроенного ПО VirtualBox с помощью инструментов оболочки. Я не знаю краткого описания того, как это сделать в интернете, навскидку, и у меня нет времени писать его здесь. Это, вероятно, будет неприятно без точных инструкций, потому что есть много неочевидных подводных камней, которые вы должны избегать.

лично я чаще всего использую решение переименовать загрузчик из ОС по умолчанию в EFI\BOOT\bootx64.efi. Это самый простой в реализации и работает достаточно хорошо. Одним из недостатков этого подхода является то, что если ваша ОС когда-либо обновляет загрузчик, обновление, вероятно, перейдет в Исходное расположение, поэтому вам придется повторить процесс, если вы хотите использовать обновленный загрузчик.

13
отвечен Rod Smith 2023-04-05 17:32

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

boot
bootloader
efi
shell
virtualbox
Вверх