问题描述
部分系统或者引导目录(/boot)安装在 LVM 分区中,需要配置 GRUB 识别 LVM 分区。
本文将介绍如何配置 GRUB 以支持 LVM 分区。
方法一、使用环境变量(推荐)
修改 /etc/default/grub 或者 /etc/default/grub.d/foo.cnf 的 GRUB_PRELOAD_MODULES 环境变量:
GRUB_PRELOAD_MODULES="lvm"
方法二、修改 grub.cfg 配置(反对)
强烈反对使用该方法调整 GRUB 配置,因为多数发行版使用 update-grub 配置 grub.cfg 文件。如果直接配置 grub.cfg 文件,可能会导致配置文件被覆盖(因为某些软件包的安装会执行 update-grub 命令)。
当然,我们仍有部分场景需要手动配置。配置示例如下,将 insmod 添加到 menuentry 内即可:
menuentry 'DEBIAN GNU/Linux' { load_video insmod gzio insmod part_gpt insmod lvm insmod ext2 set root='lvmid/xxxxx/xxxxx' linux /boot/vmlinuz root=/dev/mapper/os ro initrd /boot/initrd.img }