grub2 如何从 LVM 卷加载内核?

grub2 如何从 LVM 卷加载内核?

/boot即使放置在 LVM 卷上,Grub2 也能够加载内核。要使用此功能,需要insmod lvm在相应的 grub 条目中添加(该模块可以位于不在 LVM 卷上的 grub BIOS 分区上)。但它并没有向我解释 grub 如何读取内核,因为应该先加载内核,然后才能将任何内容插入其中。

它是如何工作的?

答案1

GRUB2 中的命令insmod纯粹与 GRUB 模块相关,而不与它正在加载的内核相关。当您这样做时insmod lvm,您正在加载 GRUB 模块以使其能够读取 LVM 卷。

答案2

前面已经提到过,grub2 insmod 命令与内核无关,纯粹是对 grub 的支持模块。这可能是一个糟糕的关键字选择,因为它可能会导致与内核模块的混淆,但两者无关。

grub2如何在没有内核的情况下访问LVM? LVM 具有已定义的磁盘结构并包含元数据。任何可以读取原始磁盘并知道如何解释 LVM2 元数据以查找文件系统的东西都可以在不需要内核的情况下获取文件。一旦 lvm grub2 模块找到了带有内核的文件系统,内核就会以与普通文件系统相同的方式加载——从原始磁盘复制到内存,解压缩并执行。

相关内容