Я запускаю виртуальную машину для Mac OSX, и она всегда загружается в оболочку EFI, мне просто нужно простое объяснение того, что это такое и как, если возможно, выйти из нее.
Как выйти из EFI shell в virtual box
1 ответ
оболочка EFI-это инструмент командной строки, аналогичный по концепции bash в Linux/Unix / OS X или окну командной строки в Windows. Он позволяет просматривать, удалять, редактировать и переименовывать файлы, обновлять записи менеджера загрузки EFI и так далее. Вы можете выйти из оболочки, набрав exit
; однако, в случае VirtualBox, это, вероятно, приведет вас к меню EFI, которое может быть столь же запутанным.
если вы установили ОС в сессии VirtualBox, скорее всего, он установлен загрузки погрузчик на системный раздел EFI (ESP). большинство ОС регистрирует эти загрузчики с прошивкой, которая помнит их и загружает их автоматически. Одной из особенностей VirtualBox является то, что он обычно забывает эти записи менеджера загрузки. В результате виртуальная машина загружается в оболочку EFI по умолчанию. Есть несколько способов справиться с этой проблемой, в том числе:
- вы можете запустить загрузчик вручную, используя оболочку EFI:
- тип
fs0:
для доступа к первой файловой системе, которая обычно является ESP. - тип
cd EFI\{osname}
, где{osname}
- это имя каталога, в котором ваша ОС установила свой загрузчик. (Вы не сказали, какую ОС вы установили, поэтому я не могу быть уверен, что это такое. Введитеls EFI
покажет вам, что есть.) - запустите загрузчик, введя его имя. Опять же, я не могу знать, что это такое. Для Linux это обычно
grubx64.efi
. Для Windows, этоbootmgfw.efi
.
- тип
- автоматизируйте описанную выше процедуру с помощью сценария запуска оболочки EFI (
startup.nsh
в корневом каталоге ESP). - переименуйте загрузчик в
EFI\BOOT\bootx64.efi
, которое является резервным именем файла:- тип
fs0:
для доступа к первой файловой системе, которая обычно является ESP. - тип
mv EFI\{osname} EFI\BOOT
переименовать каталог, в котором находится загрузчик. Как и выше, вы должны будете определить, что{osname}
- это себе. - тип
mv EFI\BOOT\{loadername.efi} EFI\BOOT\bootx64.efi
, где{loadername.efi}
- имя загрузчика, напримерgrubx64.efi
для большинства версий Linux.
- тип
- зарегистрируйте загрузчик с помощью встроенного ПО VirtualBox с помощью инструментов оболочки. Я не знаю краткого описания того, как это сделать в интернете, навскидку, и у меня нет времени писать его здесь. Это, вероятно, будет неприятно без точных инструкций, потому что есть много неочевидных подводных камней, которые вы должны избегать.
лично я чаще всего использую решение переименовать загрузчик из ОС по умолчанию в EFI\BOOT\bootx64.efi
. Это самый простой в реализации и работает достаточно хорошо. Одним из недостатков этого подхода является то, что если ваша ОС когда-либо обновляет загрузчик, обновление, вероятно, перейдет в Исходное расположение, поэтому вам придется повторить процесс, если вы хотите использовать обновленный загрузчик.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]