安装 Windows 8 后,Grub 不再识别 Windows 7

安装 Windows 8 后,Grub 不再识别 Windows 7

昨天我安装了 Windows 7(在 /dev/sdb1 上)和 Windows 8.1(在 /dev/sdb2 上)。

“当然”,我现有的 Ubuntu 14.04(在 /dev/sdb3 上)因此无法启动。我使用引导修复通过 Ubuntu 14.04 Live USB 实用程序。

然而,奇怪的事情发生了:

  1. 安装 Windows 7 后,我运行了 Boot Repair,它让 Ubuntu 和 Windows 7 很好地显示在 grub 菜单中。
  2. 安装 Windows 8.1 后,我再次运行了 Boot Repair,这使得 Ubuntu 和 Windows 8 很好地出现在 grub 菜单中......但是......Windows 7 去哪儿了?

所以我再次运行 Boot Repair,但无济于事。我手动运行

$ sudo update-grub

导致

Found linux image: /boot/vmlinuz-3.13.0-35-generic 
Found initrd image: /boot/initrd.img-3.13.0-35-generic 
Found linux image: /boot/vmlinuz-3.13.0-34-generic 
Found initrd image: /boot/initrd.img-3.13.0-34-generic 
Found linux image: /boot/vmlinuz-3.13.0-24-generic 
Found initrd image: /boot/initrd.img-3.13.0-24-generic 
Found memtest86+ image: /boot/memtest86+.elf 
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 8 (loader) on /dev/sdb1
done.

奇怪的是 - 它在 /dev/sdb1 上显示 Windows 8,而 Windows 7 安装在该位置。

还:

$ sudo os-prober 
/dev/sdb1:Windows 8 (loader):Windows:chain
$

...没有 Ubuntu?没有 Windows 7?

我也跑了启动信息脚本

               Boot Info Script 0.61      [1 April 2012]

============================== 启动信息摘要: =================================

=> Grub2(v1.99)安装在 /dev/sda 的 MBR 中,并在同一硬盘驱动器的第 1 扇区中查找 core.img。core.img 位于此位置并在第 112 分区中查找。
=> Grub2(v1.99)安装在 /dev/sdb 的 MBR 中,并在同一硬盘驱动器的第 1 扇区中查找 core.img。core.img 位于此位置并在第 112 分区中查找。
=> /dev/sdc 的 MBR 中未安装任何引导加载程序。

sda1:


File system:       swap
Boot sector type:  -
Boot sector info:

sda2:


File system:       Extended Partition
Boot sector type:  -
Boot sector info:

sda5:


File system:
Boot sector type:  -
Boot sector info:
Mounting failed:   mount: unknown filesystem type ''

数据库1:


File system:       ntfs
Boot sector type:  Windows Vista/7: NTFS
Boot sector info:  No errors found in the Boot Parameter Block.
Operating System:  Windows 7
Boot files:        /bootmgr /Boot/BCD /Windows/System32/winload.exe

数据库2:


File system:       ntfs
Boot sector type:  Windows Vista/7: NTFS
Boot sector info:  No errors found in the Boot Parameter Block.
Operating System:
Boot files:        /bootmgr /Windows/System32/winload.exe

数据库3:


File system:       ext4
Boot sector type:  -
Boot sector info:
Operating System:  Ubuntu 14.04.1 LTS
Boot files:        /boot/grub/grub.cfg /etc/fstab

sdb4:


File system:       ext2
Boot sector type:  -
Boot sector info:
Operating System:
Boot files:

sdc1:


File system:       ext4
Boot sector type:  -
Boot sector info:
Operating System:
Boot files:

sdc2:


File system:       ntfs
Boot sector type:  Windows Vista/7: NTFS
Boot sector info:  No errors found in the Boot Parameter Block.
Operating System:
Boot files:

-- 删去,因为其余内容都是个人的 :) --

启动标志位于 /dev/sda1 和 /dev/sdb1 上。

一切似乎都井然有序,但 Grub 根本无法正确识别这两个 Windows...发生了什么事?

(为了完整起见,/dev/sda 是我正在试验的一个损坏且未使用的 SDD。)

答案1

要在 Windows 8 和 Windows 7 之间实现双启动,您必须先安装旧操作系统,为第二个操作系统腾出空间,然后再安装新操作系统。

安装 Windows 8 后,您会发现电脑启动时会出现一个新的启动菜单。

您必须使用此菜单在 PC 上安装的 Microsoft 操作系统之间进行选择。

相关内容