VirtualBox не удается найти.efi-файл для загрузки

Я недавно установил еще одну систему Linux в VirtualBox. Но с ЭФИ. на этот раз это был Manjaro Linux, но это не имеет значения.

проблема

загрузчик VirtualBox EFI не видит .efi файлы для продолжения загрузки операционной системы.

EFI shell and so what?

мой обходной путь был для загрузки с CD / DVD, а затем выберите обнаружение EFI загрузчики


но, используя такое решение постоянно-это не лучший способ.

вопрос

Как исправить такое неудобное поведение-как сказать VirtualBox EFI где найти .efi files-загрузчики.

6
задан kyb
16.01.2023 14:40 Количество просмотров материала 3447
Распечатать страницу

2 ответа

попробуйте следующую последовательность:

Shell> fs0:
edit startup.nsh
\EFI\Manjaro\grubx64.efi
ctrl-s <cr>
<enter>
ctrl-q <cr>
reset

Примечание \EFI\Manjaro\grubx64.efi могут отличаться в зависимости от конкретной системы. Например. \EFI\ubuntu\grubx64.efi

устранение неисправностей

если вы получаете edit: Access Denied - размонтировать все CD и DVD диски. Чем это должно сработать.

Команда ls может помочь понять, что установлен как fs0, и может быть, вы захотите попробовать другие fsX:.

ссылки

конфигурация загрузки EFI не может быть постоянной на forums.virtualbox.org

Как начать ЭФИ файл VBOX хост в Ubuntu/ Linux в ОС на youtube

Спасибо, ребята.

2
отвечен kyb 2023-01-17 22:28

в обычной конфигурации прошивка EFI отслеживает загрузчики EFI в NVRAM. При установке ОС, она должна зарегистрировать свой загрузчик с прошивкой, и в результате записи NVRAM, указывающий на загрузчик и прошивку для запуска загрузчика. Это нормально работает, хотя есть проблемы с записями NVRAM стираются или повреждаются даже на "реальном" оборудовании. VirtualBox, к сожалению, плохо справляется с хранением своих данных "NVRAM" между использует; он имеет тенденцию начинаться с нового набора данных по умолчанию каждый раз, когда вы запускаете его. Это в конечном итоге сеет хаос с возможностью запуска почти ничего.

IMHO, самый простой способ-сохранить загрузчик, используя резервное имя файла EFI/BOOT/bootx64.efi (без учета регистра) на системный раздел EFI (ESP) виртуального диска. Если EFI не может загрузить ничего другого, он попытается загрузить этот загрузчик. В широком смысле, если вы устанавливаете Linux распределение, есть два способа сделать это:

  • вы можете хранить там копию вашего обычного загрузчика. Я не знаю, что Manjaro использует по умолчанию или где он его хранит, но предположим, что он использует EFI/manjaro/grubx64.efi, вы скопируете или переименуете EFI/manjaro до EFI/BOOT и переименуйте grubx64.efi в каталог bootx64.efi. Вы можете использовать что-то другое, кроме загрузчика по умолчанию Manjaro, если хотите. См.моя страница на эту тему для получения информации о том, что доступный.
  • можно использовать fallback.efi или fbx64.efi (та же программа, разные имена). Эта программа EFI, вероятно, либо уже установлена где-то на вашем ESP, либо, по крайней мере, доступна в каком-то пакете в вашем дистрибутиве (возможно, GRUB или Shim). Вы скопируете этот файл в EFI/BOOT/bootx64.efi, а затем создать BOOT.CSV файл в директории, в которой находится загрузчик. Этот файл содержит данные о реальном имени загрузчика и связанные с ним данные, такие как grubx64.efi,Manjaro,,This is the boot entry for Manjaro. Главное, этот файл должны будь UCS-2 или UTF-16, не простой ASCII. Когда fallback.efi/fbx64.efi запускает (как bootx64.efi), он ищет .CSV файлы в поддиректории EFI на ESP. Если он находит, он использует их для создания новых записей NVRAM. Это предназначено, чтобы помочь с восстановлением потерянных записей NVRAM, так что это один из способов обойти проблему VirtualBox "NVRAM амнезия".

первый подход, вероятно, будет легче настроить, с оговоркой конфигурации GRUB может быть привередливый. Если ваш ищет grub.cfg на ESP, вы должны быть уверены, что он остается там, где GRUB ожидает его, так что вы могли бы или не должны переместить его. Кроме того, если ваша система пакетов предоставляет обновленный GRUB, вам нужно будет скопировать его снова, чтобы получить преимущества нового пакета. Второй подход сложнее объяснить и немного более утомителен в настройке, но я начинаю предпочитать его, потому что он упрощает установку обновлений для загрузчика.

есть и другие подходы к работе вокруг проблемы тоже, как использование сценария запуска оболочки EFI, как предлагает kyb (но это приведет к более длительному времени запуска, чем мое решение выше). Кроме того, в прошлом можно было создать новую запись NVRAM, используя сам интерфейс прошивки VirtualBox, и это было бы постоянным; но это, похоже, перестало работать в какой-то момент-или, по крайней мере, в последний раз, когда я пробовал, это не сработало.

2
отвечен Rod Smith 2023-01-18 00:45

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

Ваш ответ

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

Имя
Вверх