GRUB不检测Windows

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

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


我运行命令sudo fdisk -l ,这里是log( 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. 启动Ubuntu并挂载Windows分区 (只需在Nautilus上打开磁盘)

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

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

     sudo update-grub 

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

相关问题

  • 由于hibernate,无法装入Windows(NTFS)文件系统

如果上面的os-prober方法不起作用,请尝试添加自定义grub菜单项

这里记录编辑/etc/grub.d/40_custom文件

 menuentry "Windows 7" { insmod ntfs set root='(hd0,1)' search --no-floppy --fs-uuid --set a3f1ea41fc67a3f1 chainloader +1 } 

你可以通过blkid /dev/sdx命令获取uuid

我让Windows 10运行,然后尝试双启动。 一旦安装了Ubuntu,Win 10就不会出现在我的GRUB加载器中。 我试过以下 –

首先,我在Win10中禁用了Secure Boot。 然后在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。

我按照引导修复步骤解决了类似的问题

安装启动修复

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

按“推荐修复”并按照建议将一些命令放入终端。

我认为我的Grub由于关机不好而无法识别Windows,它解决了这个问题。

如果您之前安装了可能导致问题的RAID。 在我的情况下,我在2010年构建了我的桌面,并且我使用条带RAID安装了两个1.5 TB。 用户gracemercy54在这里提到,这是留在前RAID配置的元数据中。

当我最初尝试Hermes的步骤时,我收到一条错误,指出“RAID集中的设备数量错误”。 所以,如果你碰巧打开一个终端并运行:

  sudo dmraid -rE sudo os-prober sudo update-grub 

这为我解决了这个问题。

我在Windows 10中遇到了同样的问题。我在笔记本电脑上安装了Linux Mint 18.1 Cinnamon 64-bit,用于WIN10的双启动。 安装完成后,GRUB仅提供启动Linux而不启动Windows。 我发现了这个videohttps://www.youtube.com/watch?v=0fCA7ToywoY和这篇文章https://forums.linuxmint.com/viewtopic.php?f=46&t=209082 ,但不幸的是两个都没有用我所以我使用这两者的组合来解决我的问题。

打开终端并按照这些命令打开名为40_custom的文件:

 sudo gedit /etc/grub.d/40_custom 

将这些行添加到文件中,然后保存并退出。

 menuentry "Windows 10" { set root='{hd0,1}' chainloader + 1 } 

保存文件后,使用以下行更新GRUB:

 sudo update-grub 

然后重新启动计算机以查看它是否有效。

希望这也适用于其他人。

我有同样的问题,并花了2天时间搞清楚。 但是今天早上我有了这个突然的想法并且它已经成功了。

你应该检查你的bios / uefi设置。 在我的情况下,我必须先让Uefi启动。 否则我无法从ubuntu检测到窗口。 我必须设置的是ubuntu> Windows启动管理器> DISK1> DISK2> DISK3。 Insted DISK1> ubuntu> Windows启动管理器> DISK3。

我有2个ubuntu安装一个在硬盘上,一个安装在ssd上。 显然ssd安装没有显示为UEFI的某些原因,但我想先启动更快的磁盘。

我没想到启动顺序会影响检测系统中的grub。 所以值得回顾一下。

我有类似上面的问题,解决方案只是添加手动输入如下:

menuentry“WINDOWS10(在/ dev / sda1上)” – 类windows –class os {insmod part_msdos insmod ntfs set root =’(/ dev / sda,msdos1)’search –no-floppy –fs-uuid – set = root 688EB92384B85968 drivemap -s(hd0)$ {root} chainloader +1}

其中UUID高于(688E …)是通过blkid / dev / sdb1从启动Windows磁盘中获取的

注意:另外一行:set root =’(/ dev / sda,msdos1)’指的是在ubuntu下可见的sda / dev / sdb,即使实际上它是sata总线中的第一个磁盘,而/ dev / sda实际上是第二个以root身份挂载的驱动器/也许这就是grub脚本无法正常工作的原因。 我没有时间改变磁盘的物理顺序,但很有可能它也有助于解决问题。 最好的问候卢克