Grub2

grub2-mkconfig 沒有生成正確的掛載路徑(以及如何擺脫不再使用的額外核心?)

  • January 1, 2018

我最近自動生成的 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”開頭的行

引用自:https://unix.stackexchange.com/questions/412149