Как выйти из оболочки EFI в виртуальной коробке

13

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

Дэн
источник

Ответы:

15

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

Род Смит
источник
А как насчет Mac? Ваши инструкции не работают
Pacerier