Параметры загрузки в интерфейсе GRUB, открытом через gBS->StartImage, не загружаются.Linux

Ответить Пред. темаСлед. тема
Anonymous
 Параметры загрузки в интерфейсе GRUB, открытом через gBS->StartImage, не загружаются.

Сообщение Anonymous »

сводка
Я использовал команду dd для записи образа Clonezilla-xx.iso на жесткий диск и создал приложение UEFI (

Код: Выделить всё

recovery-boot.efi
), который запускает загрузчик Clonezilla (

Код: Выделить всё

grubx64.efi
).
Когда я выполняю восстановление-boot.efi в оболочке UEFI и вхожу в интерфейс GRUB, я могу выберите вариант загрузки и загрузитесь в обычном режиме.
Однако, когда я запускаю файл Recovery-boot.efi на этапе BDS, загружается интерфейс GRUB, но параметры загрузки в интерфейсе не загружаются.
grub.cfg (использованное мной меню)

Код: Выделить всё

menuentry "Clonezilla live (Default settings, VGA 800x600)" --id live-default {
search --set -f /live/vmlinuz
$linux_cmd /live/vmlinuz boot=live union=overlay username=user config components quiet noswap edd=on nomodeset enforcing=0 noeject locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
echo "$linux_cmd done"
$initrd_cmd /live/initrd.img
echo "$initrd_cmd done"
}
результат
  • Запустите Recovery-boot.efi в оболочке UEFI

Код: Выделить всё

linuxefi done
initrdefi done
а затем загрузитесь в обычном режиме.
  • Запустите Recovery-boot.efi во время этап BDS

Код: Выделить всё

linuxefi done
initrdefi done
_
тогда курсор('_') останется там навсегда.
код приложения uefi (часть 'StartImage')

Код: Выделить всё

EFI_STATUS LaunchDevicePath(EFI_DEVICE_PATH_PROTOCOL *DevicePath) {
EFI_STATUS  Status;
EFI_HANDLE    Handle;

Status = gBS->LoadImage(TRUE, gImageHandle, DevicePath, NULL, 0, &Handle);

if (EFI_ERROR(Status)) {
DEBUG((EFI_D_ERROR, "Load image failed:%r\n", Status));
gBS->UnloadImage(Handle);
}

if (!EFI_ERROR(Status)) {
DEBUG((EFI_D_ERROR, "Start image\n"));
Status = gBS->StartImage(Handle, NULL, NULL);

if (EFI_ERROR(Status)) {
DEBUG((DEBUG_INFO, "Start image failed:%r\n", Status));
}
}

return Status;
}
Я пытаюсь понять причину этой проблемы и способы ее решения.
Буду очень признателен за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ls-to-boot
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»