GRUB2 从恢复而不是主分区启动 Windows

GRUB2 从恢复而不是主分区启动 Windows

我对 Ubuntu 还很陌生,现在遇到了一个问题。我有一台 Acer Aspire E5-573-P5AB,我首先在上面安装了 Windows 10。然后我安装了 Ubuntu 16.04 或 16.10 LTS。我不记得是哪一个了。

由于我将 Ubuntu 升级到 17.10,因此 Grub 决定尝试从 (/dev/sda1Windows 10 的恢复分区)而不是 (/dev/sda2Windows 10 的主分区)启动 Windows 10,当我尝试启动 Windows 10 时,我会看到 grub 的背景颜色和屏幕上的一些故障线条,然后笔记本电脑在 grub 中重新启动。

为了从 grub 启动 Windows 10,我必须在 Grub 启动屏幕上突出显示 Windows 10 并编辑命令以更改为hd0,msdos1hd0,msdos2这很烦人!

另请注意,我使用了sudo update-grub几次,它仍然检测到 Windows 10/dev/sda1而不是/dev/sda2。有人能帮助我吗?我是新手,我不知道该怎么办!另请注意,这两个操作系统都安装在 BIOS 中,而不是 UEFI 中。

这是我的来自 Boot Repair 的 pastebin

答案1

您可以尝试使用多种工具。引导修复就是其中之一。Grub 定制器是另一个我想到的工具。但是,由于 update-grub 无法像宣传的那样工作,这听起来像是您的分区标志有问题,/dev/sda2因为上述脚本应该为所有可启动分区生成菜单项,无论操作系统或版本如何。虽然通常不建议这样做,但您可以手动编辑/boot/grub/grub.cfg

找到您在启动时编辑的菜单项,将 hd0,msdos1 更改为 hd0,msdos2,因为您说这有效。您可以找到特定的行,以便您可以识别要编辑的块,更改cat /boot/grub/grub.cfg | grep -A11 /dev/sda1花括号之间的该块中的每个引用,从hd0,msdos1到,hd0, msdos2应该有 3 个。您可能只需更改 set root= 部分即可。您可能还希望更改菜单项标题引用,其中显示为,on /dev/sda1on /dev/sda2避免以后混淆。

上述方法的问题是下次您更新 grub 时,它可能会恢复到您现在看到的相同行为。听起来根本原因是 grub 配置脚本或 os-prober 出了问题。该命令sudo apt install --reinstall grub-common应该可以解决这个问题,并使 update-grub 按照宣传的那样工作。

相关内容