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