Я использую виртуальную машину для Mac OSX, и она всегда загружается в оболочку EFI, мне просто нужно простое объяснение, что это такое и как, если возможно, выйти из нее.
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
. Это проще всего реализовать и работает достаточно хорошо. Одним из недостатков этого подхода является то, что если ваша ОС когда-либо обновляет загрузчик, обновление, вероятно, перейдет в исходное местоположение, поэтому вам придется повторить процесс, если вы хотите использовать обновленный загрузчик.