更改EFI系统分区的UUID后需要注意什么?

更改EFI系统分区的UUID后需要注意什么?

我需要更改我的 EFI 分区的 UUID(背景:见下文)。

更改 UUID 后——我需要注意什么(为了不弄乱系统)?


背景:安装附加硬盘后,我(“错误地”)将旧硬盘(现在为 sdb)的 efi 启动分区克隆到新硬盘(现在为 sda)。我继续在 sda 上安装 Ubuntu 和 Windows(并将旧 Ubuntu 和旧 Windows 留在 sdb 中)。Grub 确实找到了所有 4 个操作系统,但无法在 sdb 上启动旧 Windows——而是启动“新”Windows。(直接从“BIOS”(UEFI)启动“旧”Win 有效)。我假设这是由于两个 efi 分区的 UUID 相同,它们保存各自的 Windows 引导加载程序。

新窗口的 grub 条目(“当我在 grub 列表中按下 'e' 时所看到的内容”)将运行以下命令(将我的 UUID 替换为 1111-1111):

setparams ‘Windows Boot Manager (on dev/sda1)’

  insmod part_gtp
  insmod fat
  set root='hd0,gpt1'
  if [ x$feature_platform_search_hint = xy ] ; then
    seach --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 1111-1111
  else
    search --no-floppy --fs-uuid --set=root 1111-1111
  fi
  chainloader /efi/Microsoft/Boot/bootmgfw.efi

旧 Windows 的 grub 条目是这样的

setparams ‘Windows Boot Manager (on dev/sdb1)’

  insmod part_gtp
  insmod fat
  set root='hd1,gpt1'
  if [ x$feature_platform_search_hint = xy ] ; then
    seach --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt1 --hint-efi=hd1,gpt1 --hint-baremetal=ahci1,gpt1 1111-1111
  else
    search --no-floppy -fs-uuid --set=root 1111-1111
  fi
  chainloader /EFI/Microsoft/Boot/bootmgfw.efi

相关内容