我最近自动生成的 grub 文件的一部分是
menuentry 'Fedora (4.15.0-rc3+) 27 (Workstation Edition)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.15.0-rc3+-advanced-d5882dba-97be-48b3-a49e-745751c0c28e' {
load_video
insmod gzio
insmod part_gpt
insmod lvm
insmod ext2
set root='lvmid/2Wagdx-NqX3-0XjZ-E0KB-kFjL-681l-r2Jrr9/xh2Nk7-zisd-PwAb-qEp6-2nrV-kolN-e93RHx'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='lvmid/2Wagdx-NqX3-0XjZ-E0KB-kFjL-681l-r2Jrr9/xh2Nk7-zisd-PwAb-qEp6-2nrV-kolN-e93RHx' d5882dba-97be-48b3-a49e-745751c0c28e
else
search --no-floppy --fs-uuid --set=root d5882dba-97be-48b3-a49e-745751c0c28e
fi
linuxefi /boot/vmlinuz-4.15.0-rc3+ root=/dev/mapper/linux-fedora ro rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap rhgb quiet rd.driver.blacklist=nouveau iommu=1 amd_iommu=on rd.driver.pre=vfio-pci
initrdefi /boot/initramfs-4.15.0-rc3+.img
}
请注意第 13 行的部分内容:
linuxefi ... root=/dev/mapper/linux-fedora ro rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap blah blah blah
现在我机器上的Linux 东西位于一个LVM 组中,该组以前称为fedora,并分为两个卷:root 和swap。这就是为什么你会看到
rd.lvm.lv=fedora/root
和
rd.lvm.lv=fedora/swap
但是当我添加 Ubuntu 安装时,我将组名称更改为 root,现在它有 3 个卷:fedora、ubuntu 和 swap。但每当我生成新的 grub 文件时,它似乎不记得这些新名称。修复非常简单:只需在启动期间将行更改为正确的安装点,然后在 Fedora 启动时手动修复它。但令我恼火的是,当我编译新内核并必须更新 grub 时,我必须每隔几周就这样做一次。
这让我看到一个快速侧边栏:(如何删除不再使用的内核?我的 grub 菜单现在非常混乱)
长话短说:对我的 LVM 组的旧命名约定的引用在哪里?
答案1
对于那些在 Google 上找到这个问题的人:
您可以编辑文件“/etc/default/grub”。查找以“GRUB_CMDLINE_LINUX”开头的行