chenall/grub4dos

lvm 分区的问题

1457384613gh opened this issue · 5 comments

@a1ive 大佬您好
我正好,还有一件事情要问你。

lvm分区上新建了一个卷组,卷组上之建立了一个逻辑卷,被映射成了 /dev/dm-0。
然后,我把 /dev/dm-0 当作一个虚拟磁盘,我把 虚拟机用过的虚拟磁盘 .img 写入 /dev/dm-0。
然后,
sudo kpartx -av /dev/dm-0
映射多分区成功,还可以挂载文件系统。
dm-0 成了有gpt分区表的虚拟磁盘,上面还有Linux操作系统。

然后,我想 用 GRUB4DOS UEFI 或 UEFI grub2 去启动它。

linux ($disk,7)/vmlinuz
initrd ($disk,7)/initramfs.img

boot 在 虚拟磁盘的7号分区里面。

我想让,disk=逻辑卷,怎么做到。

linux 可以使用 kpartx,
grub 或 GRUB4DOS 呢?

loopback disk file.img是对待 .img 文件的。
对待 逻辑卷,使用什么命令?

如何 找到 lvm分区中的逻辑卷,并且 把逻辑卷 当作 虚拟磁盘 去 读取分区表,映射所有的分区?

现在是这个情况。
IMG_20230626_091647.jpg

a1ive commented

GRUB4DOS 不支持 LVM。
GRUB2 支持 LVM ,但是我没用过,不了解。

linux 可以使用 kpartx,
grub 或 GRUB4DOS 呢?

你的这种方案需要写入磁盘修改分区表。在 bootloader 环境下风险非常大,不可行。

你的这种方案需要写入磁盘修改分区表。

这个并没有修改真实磁盘的分区表。

只是在 lvm 逻辑卷 上写了分区表,分区表 在 lvm 分区里面。

相当于 隔离了,与 .img 类似,区别在于 不是文件,是个逻辑卷。

相当于 真实的硬盘 的 分区 中 的一小部分 加上了 分区表,小部分模拟成 块设备。

a1ive commented

你的这种方案需要写入磁盘修改分区表。

这个并没有修改真实磁盘的分区表。

只是在 lvm 逻辑卷 上写了分区表,分区表 在 lvm 分区里面。

相当于 隔离了,与 .img 类似,区别在于 不是文件,是个逻辑卷。

相当于 真实的硬盘 的 分区 中 的一小部分 加上了 分区表,小部分模拟成 块设备。

重点是不应该写入磁盘。
这样做比写入主分区表还要危险。

危险

有哪些风险呢?
我不太知情。