链式加载位于 ISO 中的 efi 文件

sag*_*aga 5 boot-loader grub2 uefi

我想要启动光盘上的 iso 文件。它包含一个 efi 文件。我可以将其安装为环回,但当我尝试链式加载时,出现“无效根”错误。我尝试将 root 设置为循环和(循环)。

如何在 iso 内链接加载 efi 文件?

use*_*446 0

不可能从 ISO 中链接加载另一个 efi 文件。您只能链式加载直接从 efi 可用的其他 efi 文件(因此不能从 grub2 通过其自己的驱动程序可访问的循环或文件系统)。Grub 不代理对数据的访问,而只负责在初始化后调用另一个事物。
另一件事可能是链式加载的 efi 文件,它需要能够像 uEFI 直接调用时那样进行引导(只有 uEFI 提供的硬件视图,因此不能使用 grubs 循环挂载或文件系统或加密驱动程序)。
另一件事可能是 Linux 内核(或与其兼容的东西),其中 grub 向内核提供参数 - 并设置一个移交给 Linux 内核作为初始根设备的 ramdisk。除了这个初始 ramdisk 和提供给内核的参数之外,它还只有普通 uEFI 系统上的视图(只有 uEFI 提供的硬件上的视图,因此不能使用 grubs 循环挂载或文件系统或加密驱动程序)。

grub2 环回驱动程序用于加载 Linux 内核,其中内核和初始 ramdisk 由 grub 从环回设备加载。周围有一些内核映像可以直接从 efi 加载并具有 efi 扩展名,因此如果您想加载此类 efi 文件,可以将其作为内核加载(因此不是通过 grub2 进行链式加载,而是加载/引导)。
从映像文件启动您的映像的解决方案是什么以及是否可能完全取决于 Yiur 映像内容。