如何让 GRUB2 与 Windows 10 兼容?

如何让 GRUB2 与 Windows 10 兼容?

安装了 Ubuntu 16.04.01 和 Win10。它在那里,但 grub 不起作用。Grub2 在 ubuntu 的 sda6 上。它不应该在 EFI 文件的 sda1 上,还是在 win10 的 sda3 上?

这是一台 HP 笔记本电脑(我猜 HP 是一个特殊的问题。我在购买之前就知道了……),带有 UEFI 启动。我已经编辑了 EFI 文件,更改了启动顺序启动管理器,但什么都没改变。

编辑后的 ​​EFI 文件的当前状态...

BootCurrent: 0002  
Timeout: 0 seconds  
BootOrder: 0001,3001,3001,0002,0000,2001,2002,2004  
Boot0000* Notebook Hard Drive - HGST HTS545050A7E680  
Boot0001* Windows Boot Manager  
Boot0002* ubuntu  
Boot2001* EFI USB Device  
Boot2002* EFI DVD/CDROM  
Boot3001* Internal Hard Disk or Solid State Disk  

extract from mtab ...  

/dev/sda1 /boot/efi vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0  
/dev/sda3 /media/carol/Windows fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0  

从启动修复([http://paste2.org/MWC9zIc2]) 对于 Windows 来说,这是一个 NTFS 驱动器

答案1

安装引导修复在 Ubuntu 上并使用推荐的选项运行它。它应该重新安装并使用适当的设置配置 grub,并解决您的问题。

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

答案2

我有解决方法。

方法 1

1. 在启动时按 <esc>
2. 按 F9
3. 从菜单中选择 ubuntu
4. 这是 Grub ...

但这并不理想。

方法 2

将 .profile 中的下一个 EFI 启动设置为我的 Ubuntu 驱动器

...
echo "rootpassword" | sudo -S efibootmgr -n 0002 #my ubuntu address for next boot  
...

不幸的是,sudo 在 .profile 中不起作用 - 替换您的 root 密码...
所以每次我登录 Ubuntu 时,我的下一个启动就是 grub 启动,但是当我登录 Win10 时这对我没有帮助...

答案3

我正在阅读[使用 UEFI 安装 Ubuntu 和预装的 Windows] 并到达靠近底部的部分,使用 <shift> 重新启动进入 Win10 设置 - 很高兴知道...

在 BIOS 设置、Boot-Order 中,当我在该行按下 <enter> 键时,我发现了针对 OS 行的 2 个条目(用小三角形标记!),一个是 Win10,另一个是 ubuntu。

我使用 F5/F6 来改变顺序,这样 ubuntu 就在顶部已选择- 似乎仅仅选择它或将其置于顶部是不够的,必须两者兼而有之 - 并且使用 < F10 > 离开该屏幕,因为 < esc > 只是离开而不进行任何更改。

我还确保已禁用旧版支持,就像在我开始乱搞之前、在我再次使用 <F10> 之前一样。

现在它就可以正常工作了。Grub 默认使用 Windows,并且有大量条目只会让人感到困惑,但我可以编辑它...

谢谢上面的帮助!

相关内容