双启动 Windows 7 和 Ubuntu 19.04

双启动 Windows 7 和 Ubuntu 19.04

我并不是创建双启动系统的初学者,但我想我还有很多东西需要学习,因为我已经为当前系统奋斗了好几天。

我一开始用的是一个占用两个物理磁盘的 Windows 7 系统。我把第二个磁盘改造成了 Ubuntu 系统。目前它看起来是这样的:

/dev/sda1     NTFS    (labeled as "system reserved")
/dev/sda2     NTFS    Windows 7
/dev/sda3     NTFS    (Data for Windows 7 system to access)

/dev/sdb1     FAT32   Mounted on /boot/efi (flags "boot" and "esp")
/dev/sdb3     Ext4    Mounted on /

(曾经有一个 /dev/sdb2,但是我将其删除并将其合并到 /dev/sdb3 中gparted。)

我安装了 Ubuntu 19.04,它运行良好。但我无法启动 Windows 7。我想将 Windows 7 添加到 grub 菜单或至少访问它;我现在甚至无法做到这一点。

因此,我尝试了以下方法:

  • 跑步sudo update-grub
  • sudo os-prober挂载/dev/sda2 后运行。
  • boot-repair在计算机上运行并带有可启动的活动磁盘。
  • 跑步grub-customizer

它们都不起作用。

对于boot-repair,我尝试了几种方法,例如“重新安装 GRUB”和“恢复 MBR”。如果我执行“推荐修复”,我会收到“检测到 GPT。请创建 BIOS 引导分区(>1 MB,未格式化的文件系统,...)。...或者,您可以在激活 [单独的 /boot/efi 分区:] 选项后重试。”boot-repair在其他系统上运行多年后,这是我第一次看到此消息。

使用grub-customizer,它为/dev/sda2 (Chainloader) 创建了以下行:

set root='(hd0,2)'
search --no-floppy --fs-uuid --set XXX
drivemap -s (hd0) ${root}
chainloader +1

当我重新启动时,出现诸如“没有这样的设备:XXX”、“找不到命令驱动器映射”和“未找到磁盘 hd0,2”等错误。

在我遇到过的所有电脑问题中,我想这是我遇到过的最老的电脑了。(毕竟它运行的是 Windows 7。)同样,BIOS 也很旧。所以,这让我很困惑。我也有点担心我不知怎么毁掉了(Windows)系统。我尝试了“恢复 MBR”选项,boot-repair并将 MBR 写入 /dev/sda2,但仍然无法启动 Windows——它grub反而进入了。(当我意识到这一点时,我想我需要向其他人寻求帮助……现在感觉很糟糕。)

Ubuntu 端是全新安装的,如果我需要以某种方式销毁它来撤消我所犯的错误以实现双重启动,我也可以接受。

有人能给我一些建议吗?正如我猜测的那样,我确信答案就在我面前,但一些关于我应该尝试什么以及顺序的建议可能会有所帮助。

答案1

启动模式(传统模式与 EFI 模式)很重要。Grub 无法以不同的启动模式链式加载引导加载程序,因此要实现正确的多重启动,所有操作系统都必须以相同的启动模式安装。以错误的启动模式安装似乎是一个常见的错误。

从问题中的少量信息来看,我不能 100% 确定,但看起来你的 Windows 是以传统模式安装的,而 Ubuntu 似乎是以 EFI 模式安装的。

您可以通过不同的方式解决此问题,其中一种方法是在传统模式下重新安装 Ubuntu。您必须确保在传统模式下启动安装程序,仅此而已。

另一种方法是仅重新安装引导程序(Grub)。只需启动已安装的 Ubuntu(在 EFI 模式下)并运行

sudo apt update
sudo apt install grub-pc

这将删除grub-efi(EFI 版本的 Grub)并安装grub-pc(BIOS 版本的 Grub)。在安装过程中,系统会询问您将引导加载程序放在哪里。这很有趣,因为您有多个磁盘,并且不需要覆盖应该驻留在 中的 Windows 引导加载程序sda。因此,您应该将 Grub 放在 上sdb。然后在 BIOS 中,您必须检查启动顺序。额外的清理不是绝对必要的,但删除与 相关的行/boot/efi/etc/fstab有意义的,它不再需要了。

您还应该知道另一件事:

如果您要放置 Grub 的磁盘使用 GPT,则需要创建一个带有 bios-boot 标志的小分区(2MB),并将其保持未格式化(无文件系统)。Grubcore.img将放置在那里。

相关内容