在 Dell Precision 3620 上双启动 Ubuntu 16.04LTS + Win7 时出现“BIOS 兼容模式”强制 UEFI 问题

在 Dell Precision 3620 上双启动 Ubuntu 16.04LTS + Win7 时出现“BIOS 兼容模式”强制 UEFI 问题

为了工作,我需要在 Windows7 和 Ubuntu16.04 LTS 上使用一些应用程序。这会让我进入我需要的双启动情况。

我已经按照 Win7 中的描述完成了空间分配戴尔支持网站以及具有安全启动的 BIOS 设置并切换到 UEFI。

重启后,我可以从 UEFI 启动菜单中选择(在主机上快速点击 F12)来启动 Ubuntu。我点击了尝试 Ubuntu,并想按照戴尔支持网站

在安装过程中,会弹出一个窗口询问我是否要强制 UEFI 安装。我不太确定是否要这样做,因为它显示“这台机器的固件已在 uefi 模式下启动安装程序,但似乎可能已经使用‘BIOS 兼容模式’安装了现有操作系统。如果继续在 UEFI 模式下安装 Debian,重新启动可能会很困难[...]”

这个问题可能类似于这个但唯一的解决方案是使用 rEFInd。有没有其他方法可以在同一系统上安装两者?

该电脑预装了Win7,我没有自己安装。

谢谢您的帮助!

答案1

总的来说,我同意邓肯的观点,但我想详细阐述一下他的评论。

旧电脑(2011 年年中之前的大多数 x86/x86-64 系统)使用称为基本输入/输出系统 (BIOS),通常从使用主引导记录 (MBR)分区系统。这两项技术都是在 20 世纪 80 年代发明的,因此按照计算标准来说它们已经非常古老,而且它们已经过时很长一段时间了。

BIOS 的后继者是一种称为可扩展固件接口 (EFI) 或其 2.x 版本变体,统一 EFI (UEFI)。使用 EFI/UEFI 的计算机通常从使用GUID 分区表 (GPT)。令人困惑的是,许多人,甚至制造商,都将他们的 EFI 称为 BIOS,有时也称其为“UEFI BIOS”或类似名称。我猜制造商这样做是因为人们或多或少知道 BIOS 是什么,而用 EFI 或 UEFI 来代替会造成混淆;但这种错误称呼本身就造成了混淆,因为人们会将他们的 BIOS 知识拖入 EFI,并试图将其应用于 EFI,这会导致人们犯错误。最重要的是,BIOS 和 EFI 是完全不同的固件类型,它们处理启动过程的相同任务。

从根本上讲,BIOS 和 EFI 是不兼容的启动系统——基于 BIOS 的计算机无法使用 EFI 引导加载程序启动,反之亦然。不过,为了简化过渡,大多数基于 x86-64(又称 AMD64 或 x64)EFI 的计算机都附带了兼容性支持模块 (CSM),这使它们能够使用为 BIOS 设计的引导加载程序进行启动。CSM 类似于dosemuLinux 中的 CSM 类似,它允许较新的环境(EFI 或 Linux)运行较旧环境(BIOS 或 DOS)的程序。CSM 的一个限制是,在 BIOS 模式和 EFI 模式启动之间切换通常很不方便。这种不方便主要是用户界面的问题——切换需要使用计算机的内置启动管理器,这在大多数计算机上非常原始。另一个限制是某些操作系统(包括 Windows)将启动模式与分区表类型绑定在一起——Windows 只会从 MBR 磁盘以 BIOS 模式启动,而从 GPT 磁盘以 EFI 模式启动效果最佳。第二个因素使得在 BIOS 模式下安装一个操作系统而在 EFI 模式下安装另一个操作系统变得非常困难。当然,有很多方法可以做到这一点,但是这些方法很笨拙并且不值得付出努力。

大多数搭载 Windows 7 的计算机都使用普通 BIOS,但在 Windows 7 时代末期,EFI 开始出现,因此一些 Windows 7 系统附带 EFI。其中一些在 EFI 模式下本机启动,但其他一些则依靠其 CSM 在 BIOS/CSM/旧模式下启动。听起来您的计算机属于后一类。因此,在使用现有 Windows 安装和新 Ubuntu 安装设置双启动系统时,您有三种选择:

  • 在 BIOS/CSM/传统模式下启动-- 这是最简单的做法;但是,如果您意外地以 EFI 模式启动 Ubuntu 安装程序,您将收到您描述的警告;如果您强制以 EFI 模式安装,您最终将得到混合模式安装,最坏的情况是无法启动 Ubuntu。要强制 BIOS 模式安装,您必须学会控制启动过程,方法是选择 Ubuntu 安装介质的 BIOS 模式启动选项,或者从 Ubuntu 安装介质中删除 EFI 模式引导加载程序。不幸的是,控制固件的细节因计算机而异。
  • 在 EFI/UEFI 模式下启动-- 这是一种可能性,而且在某些方面比前一种更好;但是,它需要您将 Windows 安装从 BIOS 模式转换为 EFI 模式启动。这种转换是可能的,但它很繁琐,而且有很大的风险会出错。在这种情况下,“出错”意味着您的计算机将不再启动 Windows,您需要重新安装它!如果您想选择此选项,请参阅这篇博文了解说明。Microsoft 还有一款名为 的新工具,MBR2GPT.EXE据说可以完成这项工作;但它仅适用于最新的 Windows 10 版本。
  • 进行混合模式安装-- 如果您按照您描述的提示告诉安装程序继续,您将得到以下结果;但根据固件的设置方式以及您对磁盘的分区方式,引导加载程序可能无法工作,甚至根本无法安装。考虑到您的起点,执行此类设置的最简单方法是除了常规 Ubuntu 分区之外,还创建一个类型代码为 0xEF 的 ~550 MiB FAT32 分区。此 0xEF 分区是EFI 系统分区 (ESP),其中包含 EFI 引导加载程序。然后您可以安装我的rEFInd 启动管理器到 ESP 并编辑其refind.conf文件:取消注释该scanfor行并确保它包含hdbios作为其选项之一。当 rEFInd 启动时,它可能会包含一个以 BIOS 模式启动 Windows 的选项;它还将提供至少一个启动 Ubuntu 的选项。还请注意,混合模式设置是不可能的在一些(罕见的)电脑上。​​据我所知,没有戴尔电脑属于此类。

显然,最简单的解决方案是执行 BIOS 模式的 Ubuntu 安装。在基于 EFI 的计算机上执行此方法与在较旧的仅使用 BIOS 的计算机上执行此方法的主要区别在于,您需要了解有关控制启动过程的更多信息,以避免意外地以 EFI 模式安装。不幸的是,具体细节因计算机而异。

你可能想读我在 CSM 上的页面了解一些背景信息。不过请注意,我写这个页面是为了方便使用 Windows 8 或更高版本系统的人,这些系统目前以 EFI 模式启动,并且可能会被指示或诱惑以 BIOS 模式安装 Linux,而不是相反。因此,我页面的重点是预防不恰当地使用 CSM,而你可能想保证使用 CSM 进行 Ubuntu 安装。

相关内容