双引导 UEFI Windows 7 和 Ubuntu 12.04(均为 64 位)。W7 条目未出现在 GRUB 中

Joe*_*Joe 8 dual-boot windows-7 12.04 uefi

在 2 天内尝试安装这两个操作系统后,我感到困惑和生气……我有 128 GB 的 SSD 和 500 GB 的 HDD 都是空的。我的笔记本电脑是华硕 K55VM。BIOS 支持 UEFI。

我做了什么:

  1. 安装新的 SSD(三星 830 128GB)

  2. 在 liveCD 上使用 GParted 创建新的分区表 (GPT) 并为不同的目的创建 3 个分区(在 SSD 中):

    • 分区 1:80 GB (w7);
    • 分区 2:30 GB(Ubuntu 12.04 -Just / -);
    • 分区 3:10 GB 未使用(用于其他分区的未来扩展)
  3. 在分区 1 中安装 Windows 7(使用 UEFI)。这将创建:

    • /dev/sda1 -> 100 MB 用于系统(我猜是 UEFI 引导)- FAT32
    • /dev/sda2 -> 大约 100 MB。用于 MSR
    • /dev/sda3 -> 大约 79.800 MB。对于 Windows7 数据

在这一点上,一切正常。我有W7。现在我按如下方式安装 Ubuntu 12.04 amd64(带 UEFI):

  1. 在分区 2 -> /dev/sda4 30 GB ext4 中安装 /,并在硬盘中安装 /home 和 swap。

  2. 我在 /dev/sda1(它应该是 UEFI 引导)中选择引导加载程序。

  3. 我安装更新并重新启动。

问题:现在只出现带有 Ubuntu 条目的 grub 菜单,而不是 Windows 7。

找到替代解决方案:当我打开笔记本电脑时,在加载 GRUB 之前按 ESC 键并出现 BIOS 启动,因此我可以选择启动 Windows 分区、Ubuntu 分区、DVD、USB 等...但我认为不是最好的启动不同操作系统的方法。

我试过: sudo update-grub2 没有成功。

我能做什么??

jar*_*ndl 6

通过挂载 efi 分区找到 Windows 引导加载程序所在的位置:

sudo mount -t vfat /dev/sdx1 /mnt/efi/
Run Code Online (Sandbox Code Playgroud)

并搜索bootmgfw.efi. 然后,找到驱动器的 UUID:

sudo grub-probe --target=fs_uuid /mnt/efi/EFI/Microsoft/Boot/bootmgfw.efi
Run Code Online (Sandbox Code Playgroud)

将此 UUID 添加到/etc/grub.d/40_custom

menuentry "Windows x86_64 UEFI-GPT" {
    search --fs-uuid --no-floppy --set=root UUID
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}
Run Code Online (Sandbox Code Playgroud)

最后运行update-grub