Я использовал команду dd для записи образа Clonezilla-xx.iso на жесткий диск и создал приложение UEFI (
Код: Выделить всё
recovery-boot.efi
Код: Выделить всё
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