在 Ubuntu LTS Xenial 上使用 Grub2
在 sda1 上,我将分区添加到 sdb1(MBR 上已经有 GRUB2)sudo dd if=/dev/sda1 of=/dev/sdb1 bs=1M
。
我发现它也复制了UUID。因此,/dev/sda1 和 /dev/sdb1 都具有与 blkid 验证的相同的 UUID。
root@localhost:/home/one# blkid
/dev/sda1: UUID="e5d43e2f-05d1-4c08-b981-b27d2144373e" TYPE="ext4" PARTUUID="b7bb1151-01"
/dev/sdb1: UUID="e5d43e2f-05d1-4c08-b981-b27d2144373e" TYPE="ext4" PARTUUID="b7bb1151-01"
由于 grub 使用 UUID,这会导致问题。如果我从 sdb1 启动,我就会进入 grub 菜单。但是当我选择菜单项时它就冻结了。
/boot/grub/grub.cfg
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-e5d43e2f-05d1-4c08-b981-b27d2144373e' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 e5d43e2f-05d1-4c08-b981-b27d2144373e
else
search --no-floppy --fs-uuid --set=root e5d43e2f-05d1-4c08-b981-b27d2144373e
fi
linux /boot/vmlinuz-4.15.0-46-generic root=UUID=e5d43e2f-05d1-4c08-b981-b27d2144373e ro libata.force=noncq splash $vt_handoff
initrd /boot/initrd.img-4.15.0-46-generic
}