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