Grub2
grub2-mkconfig 沒有生成正確的掛載路徑(以及如何擺脫不再使用的額外核心?)
我最近自動生成的 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 組的舊命名約定在哪裡引用?
對於那些在Google上發現這個問題的人:
您可以編輯文件“/etc/default/grub”。查找以“GRUB_CMDLINE_LINUX”開頭的行