我正在尝试使用以下操作系统和 Grub 作为引导加载程序来设置我的工作站:
- Windows 7的
- Windows 10
- Debian 杰西
- FreeBSD 11.0
以上所有操作系统都安装在单独的硬盘上。我遇到了以下问题:
- Windows 10 正在安装引导加载程序,允许我运行 Windows 7 和 Windows 10。Debian 和 FreeBSD 被忽略。Grub 被绕过;
- Grub 入口菜单中没有列出 Windows 10。仍然可以通过选择 Windows 7 来访问它,然后会出现一个新的引导加载程序;
- Grub 被忽略,Windows 10 无法启动(检测到硬盘问题);
- Grub 被忽略。
我正在运行 UEFI bios。
我尝试在 UEFI 模式下安装所有内容,但没有成功(最终遇到了上面提到的第四个问题)。
任何帮助,将不胜感激。
谢谢您的回复。
附言:如果我不安装 Windows 10,一切都会按预期运行。
答案1
经过几次尝试,我终于成功安装了所有这些系统。
我没有注意到我的 bios 中的覆盖选项(确定在绕过当前设备时启动哪个设备)。即使 DVD 是在 UEFI 中启动的,Windows 7 和 Windows 10 也没有在 UEFI 模式下安装。
由于一些不为人知的原因,我不得不创建.iso
Windows DVD 映像并制作可启动的 USB 设备。使用 DVD 无法以 UEFI 模式安装 Windows。
以下指南旨在帮助那些在 UEFI 模式下安装操作系统时遇到麻烦的用户。由于材料和软件的差异,用于描述 BIOS 设置的几个术语可能与您的不同。
我使用 Rufus 创建可启动的 USB 设备。不要忘记选择GPT partition scheme for UEFI
。您也可以使用diskpart
。
第一步:安装Windows 7
- 输入您的个人简介;
- 禁用
Boot secure
; - 卸载
Platform key state
(取决于您的 BIOS,它还将禁用Boot secure
); - 设置;
OS type
Windows UEFI
- 禁用所有内容
Hard Drive BBS Priorities
并将第一个条目设置为可启动 USB 设备(通常以“UEFI”为前缀); - 清除
Boot override
条目; - 保存并退出;
- 照常安装 Windows 7。
我发现检查 Windows 7 安装程序是否已在 UEFI 模式下启动的唯一方法是:
- 选择一个驱动器;
New
在Windows磁盘分区器中单击;- 确保创建了以下 3 个分区:
System
、MSR
和Primary
。
第二步:安装Windows 10
通过将可启动 USB 设备替换为 Windows 10 设备,重复上述针对 Windows 7 的步骤 1 至 7。照常安装 Windows 10。
我不知道是否每个人都是这种情况,但是在 UEFI 模式下启动 Windows 10 安装程序时,主板制造商的徽标会显示在 Windows 10 徽标的位置。
第三步:安装FreeBSD
我为 FreeBSD 创建了一个单独的 UEFI 分区,因为我对这个操作系统还不够熟悉。这样,我可以完全丢弃 FreeBSD 并重新安装它而无需任何修改。
- 通过将可启动 USB 设备替换为 FreeBSD 10 设备,对 Windows 7 重复上述步骤 1 至 7;
- 运行安装程序。您将注意到您已在 UEFI 模式下启动;
- 当被询问时选择
GPT partition
; - 创建一个 EFI 分区(我使用了大约 200MB);
- 根据需要创建系统分区;
- 添加
swap
分区。
第四步:安装Debian
通过将可启动 USB 设备替换为 Debian 设备,重复上述步骤 1 至 7,适用于 Windows 7。照常安装 Debian。您将注意到您已在 UEFI 模式下启动。
我不知道是否需要,但我为 Debian 创建了一个 EFI 分区。
第五步:将 FreeBSD 添加到 Grub2
安装 Debian 后,Grub2 应该列出以下条目:
- 德比安;
- Debian 内存测试;
- Windows 引导加载程序;
- 类似的东西
System setup
可以让你访问 bios。
在 Debian 下启动并/etc/grub.d/40_custom
使用您最喜欢的文本编辑器打开文件并粘贴以下行:
menuentry "FreeBSD <enter_your_version>"{
insmod Z
set root=(hdX,gptY)
chainloader /boot/loader.efi
}
其中Z
是您在安装 FreeBSD 时选择的文件系统(例如 ufs2、zfs),X
是安装 FreeBSD 的驱动器的编号,Y
是所在分区的编号/boot
。
保存,退出并运行update-grub
并重新启动。
如果您不记得、和的值应该是什么X
,请重新启动计算机并在 grub2.Run 下输入和,其中和是第一次调用 时列出的数字。Y
Z
c
ls
ls (hdX,gptY)
X
Y
ls