GRUB 未检测到 Windows

GRUB 未检测到 Windows

我终于在我的第二个驱动器上安装了 Ubuntu。当我启动计算机时,GRUB 仅提供启动 Ubuntu 的功能,而不是 Windows 7。我需要做什么才能在 GRUB 中选择 Ubuntu 和 Windows?

当我在启动时按 F12 打开启动菜单并选择Windows Boot Manager它启动到 Windows 7 时。


我运行了命令sudo fdisk -l,这里是日志(http://pastebin.com/Cgv1igHc):

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xc3ffc3ff

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  1953525167   976762583+  ee  GPT
Partition 1 does not start on physical sector boundary.

答案1

  1. 启动 Ubuntu 并挂载 Windows 分区(只需在 Nautilus 上打开磁盘)

  2. 在命令行上运行以下命令(++ Ctrl):Altt

    sudo os-prober
    
  3. 如果找到了你的 Windows 安装,你可以运行:

    sudo update-grub
    

请注意,步骤 2 只是为了方便您。您只需挂载 Windows 7 分区,然后运行 ​​即可update-grub

相关问题

答案2

如果os-prober上述方法不起作用,请尝试添加自定义 grub 菜单项。记录这里

前两个步骤用于查找您的<UUID>

  1. 运行lsblk并查找行的名称/boot/efi

示例输出(此处答案是 sda2)

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   477G  0 disk 
├─sda1        8:1    0   450M  0 part 
├─sda2        8:2    0   100M  0 part /boot/efi
├─sda3        8:3    0    16M  0 part 
├─sda4        8:4    0    47G  0 part /windows
├─sda5        8:5    0 425,6G  0 part /
└─sda6        8:6    0   3,7G  0 part [SWAP]
mmcblk0     179:0    0  14,9G  0 disk 
└─mmcblk0p1 179:1    0  14,9G  0 part
  1. 运行上一步的sudo blkid /dev/sdaX答案sdaXsda2就我而言)

示例输出(此处答案为 58E4-427D)

/dev/sda2: UUID="58E4-427D" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b81727be-ba90-5f8c-ab98-d3ec67778b7d"
  1. 在文件末尾添加以下内容/etc/grub.d/40_custom
menuentry "Windows 7" {  
     insmod ntfs  
     set root='(hd0,1)'  
     search --no-floppy --fs-uuid --set <UUID>
     chainloader +1  
}
  1. 运行sudo update-grub并重新启动。

答案3

我运行了 Windows 10,然后尝试了双启动。安装 Ubuntu 后,我的 GRUB 加载程序中没有显示 Win 10。我尝试了以下操作——

首先,我在 Win10 中禁用了安全启动。然后在 Ubuntu 中运行以下命令:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

效果很好。之后能够在 GRUB 中找到 Windows 和 Ubuntu。

答案4

方法略有不同,因为我是从另一台计算机上的工作示例中复制而来,以供我自己记录。

将以下内容附加到/etc/grub.d/40_custom

menuentry "Windows 10" {
        insmod part_gpt
        insmod fat
        search --no-floppy --fs-uuid --set <boot_efi_uuid>
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

<boot_efi_uuid>您的分区的 UUID 在哪里/boot/efi。要找到它:

$ lsblk
NAME              MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT                                                  
sda                 8:0    0 119.2G  0 disk
└─md126             9:126  0 357.7G  0 raid0
  ├─md126p1       259:0    0   499M  0 md
  ├─md126p2       259:1    0   100M  0 md    /boot/efi                                                   
$ sudo blkid | grep md126p2 # Replace with your device
/dev/md126p2: UUID=<boot_efi_uuid>

当然,一旦保存了文件,请运行:

sudo update-grub

重新启动,您现在应该能够成功启动 Windows。

相关内容