为什么 Grub 会针对 Windows 7 报告两项内容?

为什么 Grub 会针对 Windows 7 报告两项内容?

我在同一块硬盘上全新安装了 Windows 7。我按照以下说明操作:

http://www.howtogeek.com/114884/how-to-repair-grub2-when-ubuntu-wont-boot/

我按照终端的指示恢复 grub 引导加载程序。

每当我重新启动时,我都会在 Grub 上看到两个 Windows 7 条目。我不记得上次看到这个。我知道 Windows 会创建一个“系统保留”分区(当前位于 sda1 上)。

当我选择两个启动选项中的任一个时,Windows 7 都可以正常启动(看起来是这样)。

返回的内容如下update-grub

$ sudo update-grub | tee ~/update-grub.txt
[sudo] password for christian:
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.8.0-29-generic
Found initrd image: /boot/initrd.img-3.8.0-29-generic
Found linux image: /boot/vmlinuz-3.8.0-27-generic
Found initrd image: /boot/initrd.img-3.8.0-27-generic
Found linux image: /boot/vmlinuz-3.8.0-19-generic
Found initrd image: /boot/initrd.img-3.8.0-19-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
done

从系统保留启动会导致 Windows 出现任何问题吗?

为什么 Windows 7 有两个条目而不是一个?我是否应该在不创建系统保留分区的情况下安装 Windows 7?这甚至是一个选择吗?

我使用的是 Ubuntu 13.04。我的其他 Ubuntu 机器只列出了 1 个 Windows 7 条目。理想情况下,如果它必须列出 2 个条目。如果它显示为:

Found Windows 7 (System Reserved) on /dev/sda1
Found Windows 7 on /dev/sda2

可以通过某个 Grub 配置文件进行这些更改吗?

答案1

此第二条记录已由 Boot-Repair 添加为安全:从现在开始,如果您不小心删除了 sda1 分区,您仍然可以通过第二个条目启动 Windows。

如果你想隐藏或重命名这些条目之一, 您可以使用GRUB 定制器,你可以通过其 PPA 安装:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

答案2

这是正常的,尽管并不常见。对于 Windows,GRUB 会检测装载机,而不是系统。就您而言,系统保留分区和 Windows 分区上都有加载程序。您可能想要删除其中一个加载程序,但我不建议这样做,因为它会损害您的系统。保留两个加载程序是最安全的决定。

您甚至可以创建更多加载器,它们都会被识别!如果您想直接从 GRUB 加载不同版本的 Windows,使用它们会很方便。只需尝试以下命令:

bcdboot C:\Windows /s D:

键入后,它将在D:驱动器上创建加载程序,该加载程序将从默认位置加载 Windows。替换后C:D:您可以调整要加载的版本以及从何处加载。

如果您想删除一些不使用 GRUB-Customizer(有时会超出开发范围)的加载器,请Boot在 Windows 7+ 系统上查找文件夹并ntloader在 XP 及更早版本的系统上查找文件。

现代的方法是从 EFI 分区中删除相应的文件或者用 禁用它们efibootmgr

答案3

sudo gedit是的,如果你的风格是 gedit,则可以通过输入“ ” 来执行此操作;sudo nano如果你的风格是 nano,则可以通过输入“ ” 来执行此操作。

因此只需sudo gedit /boot/grub/grub.cfg在 /sda1 上找到您的窗口的菜单项并根据需要重命名,例如

### BEGIN /etc/grub.d/30_os-prober ### menuentry 'Windows 10 (loader) (on /dev/sda1)'

### BEGIN /etc/grub.d/30_os-prober ### menuentry 'Windows 10 (System Reserved) (on /dev/sda1)'

相关内容