dd 复制 UUID - 如何使 GRUB2 找到正确的分区?

dd 复制 UUID - 如何使 GRUB2 找到正确的分区?

在 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
}

相关内容