如何将 CentOS/RHEL7 中的 grub2 从 UUID 更改为旧式设备?

如何将 CentOS/RHEL7 中的 grub2 从 UUID 更改为旧式设备?

CentOS/RHEL 7 有几个变化(与 CO/RHEL 6 相比)。其中之一是使用grub2代替蛴螬

默认情况下,操作系统似乎使用 UUID 来“查找”启动设备。

是否有一个易于使用的接收器可以返回设备名称(例如 /dev/sda1)?

问题背景:我打算从模板克隆其他虚拟机。Base 是具有不同 UUID 的新(虚拟)磁盘设备。

如果我不能恢复sda1我需要在grub配置文件到新的 UUID — — 这是计划“B”。

更新2017-10-26

核参数根=将被更改为磁盘 - 请参阅答案托马斯以下。

此部分仍然存在问题,由grub2-mkconfig

    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  716433ab-9e30-42a7-a272-6c66243499d2
    else
      search --no-floppy --fs-uuid --set=root 716433ab-9e30-42a7-a272-6c66243499d2
    fi

这仍然包含对 UUID 的搜索。如果找不到,启动过程将转到错误“未找到”或类似的错误。按 ENTER 后,系统将正常启动。

剩下的问题是如何停用该部分(我没有找到禁用feature_platform_search_hint)?

答案1

这可以通过添加如下参数来实现/etc/default/grub

$ echo "GRUB_DISABLE_LINUX_UUID=true" >> /etc/default/grub
$ grub2-mkconfig -o /boot/grub2/grub.cfg

如果您想事先仔细检查结果。

$ grub2-mkconfig | less

更新

要完全禁用GRUB,您需要添加如下行到/etc/sysconfig/grub

$ echo "GRUB_DISABLE_UUID=true" >> /etc/default/grub
$ grub2-mkconfig -o /boot/grub2/grub.cfg

相关内容