我不确定我是否已经清楚地理解了底层概念。我有 MSI B450M Pro 主板和基于 MSI GT710 GPU 的显卡。Windows 10 在 SSD 上以 UEFI 启动模式安装。
我原本想在 BIOS 中启用安全启动。但是,有一个依赖选项,称为高级 Windows 操作系统配置(选项 CSM/UEFI),需要将其设置为选项“UEFI”,然后才能启用安全启动。在早期版本的 BIOS 中,相同的设置称为 Windows 10 操作系统(选项为“其他操作系统/Windows 10”),但现在它的选项称为 CSM/UEFI。
(我认为,此处 OS 配置下的 CSM 不要与已设置为 UEFI 的启动模式混淆。)然后它启用 GOP。但是,在 GOP 下,它显示“未知驱动程序”。现在,Windows 10 启动正常,但当我进入 BIOS 时,我看到的只是一个黑屏。ALT CTL DEL 工作正常,系统甚至可以从黑屏重新启动,我相信黑屏位于 BIOS 中。在 BIOS 重置(短路主板引脚)后,当此 OS 配置设置恢复为默认 CSM 时,启动徽标和 BIOS 再次可见。
我向 MSI 开了一张票,他们说我的显卡不支持 GOP。
当我运行 GPU-Z 时,我看到我的卡支持 UEFI,那么为什么它不能与 GOP 一起使用(如果这是正确的解释)以及我如何知道 GPU 是否可以支持 GOP?启用安全启动时 BIOS 屏幕变黑还有其他原因吗?以下是一些相关的屏幕截图。我还尝试将主板 BIOS 更新到最新版本,但没有任何变化。它仍然表现相同。
更新- 即使在安全启动之前,只需在 OS 配置下将 OS 模式更改为 UEFI 也会产生相同的结果。BIOS 屏幕变黑。我重申,这不是 OS 启动模式,而是 MSI 所称的 OS 配置模式。Windows 10 已安装在 UEFI 启动模式下。其中禁用了传统启动(也称为 CSM)。术语 CSM & UEFI 出现在此 BIOS 中的两个不同位置。一次是在启动模式(CSM + UEFI)中,另一次是在高级 OS 配置模式(CSM 或 UEFI)中。
答案1
在安全启动下,每个运行的代码都必须使用 UEFI BIOS 信任的密钥进行签名。通常所有内容都使用“用户密钥”进行签名,该密钥通常是 Microsoft 的密钥(因此 Microsoft 是您的计算机用户,而不是您。您以为您拥有您的计算机?可怜的您)。每个代码甚至操作系统引导加载程序都使用该密钥进行签名。是的,甚至 Linux 引导加载程序 (shim) 也由 Microsoft 签名。
UEFI GOP 是 UEFI 的图形标准。它必须 1) 受卡支持 2) 代码签名才能在 UEFI 安全启动下运行。如果不是这种情况,抱歉,黑屏。
但是在黑屏下,操作系统可能会启动,并且当它成功启动并运行其自己的(签名的)图形驱动程序时,它可能会重新启用屏幕,因为在那个阶段操作系统已经控制了硬件。
UEFI 兼容支持模块 (CSM) 本质上代表了传统 BIOS 提供的服务。因此它能够运行不支持 UEFI 的系统。
如果操作系统是在 CSM 下安装的,它会认为这台机器与 UEFI 不兼容,并以传统模式安装。如果切换到 UEFI,它将无法启动,因为这不是 UEFI 加载程序期望看到的。如果系统是在 UEFI 下安装的,它会检测到这一点并配置 BIOS,因此如果您随后切换到 CSM,它将无法启动,因为这不是传统 BIOS 加载程序期望看到的。可以将系统配置为以任何一种方式启动,但这不是很容易,我不知道如何在 Windows 中执行此操作。
我不知道 CPU-Z 中的这个复选框是什么意思。但是 BIOS 屏幕中的“未知设备”和“未知驱动程序”让我怀疑 BIOS 无法识别卡的 UEFI 支持。
为了进一步调查,您可以尝试切换到 UEFI 模式,但不要启用安全启动。这样您就可以在 UEFI 模式下运行未签名的代码。如果您的卡支持 UEFI 但代码未签名,那么这将起作用。这将允许您启动操作系统安装程序或恢复。在此阶段,在 UEFI 模式下配置操作系统启动,然后才启用安全启动。
理论上,可以翻转自己的密钥,但这很麻烦,因为您需要提取所有使用的二进制文件、签名,然后将其翻转到 BIOS 中,而且目前还没有 Windows 软件可以做到这一点。虽然有 Linux 软件可以做到这一点,但无数的 BIOS 错误使这条路非常痛苦。这就是为什么当 UEFI 和安全启动推出时,人们会如此热议,但你知道,微软垄断了计算机市场,用户很乐意接受这个事实并要求更多。喜欢 Windows 吗?接受它,不要试图闹事。
答案2
经过两天的思考和尝试,我在这个问题上又前进了一步。虽然问题还没有完全解决,但至少我现在确信我的 GT710 确实支持 UEFI 和 GOP,并且 GPU-Z 报告是正确的。
未解决的问题似乎是启用 UEFI GOP 后显示器/主板/GPU 与 HDMI 之间出现不兼容问题。目前我不清楚具体是什么不兼容。
在我将显示器连接到 GT710 的 VGA 输出(传统的 15 针连接器)后(它有 3 个选项:D-Sub、HDMI 和 DVI),我可以看到 BIOS,然后当“高级操作系统配置”设置设为 UEFI 时,我甚至可以看到正确检测到 GOP 驱动程序。然后,我还启用了安全启动,即便如此,一切都运行正常。
现在在 VGA 输出上,我可以通过按 Del 键随时“查看”BIOS,即使“高级操作系统配置”设置是 UEFI(实际上是 GOP),系统也能正确检测 GOP,但 MSI 使用的“UEFI”一词在这里似乎有点用词不当。它可能会让人误以为操作系统是在 CSM 或 UEFI 模式下启动的!此设置的更好约定可能是“VGA BIOS”或“UEFI GOP”
现在查看 BIOS 屏幕截图。现在 GOP 驱动程序在 VGA 上被检测到。我需要的只是从 VGA 而不是 HDMI 获取输出。
因此,HDMI 输出存在一些不兼容问题,我无法解释。我尝试更换 HDMI 电缆,但没有帮助。理想情况下,这种情况不应该发生。我现在无法解释。我只知道 GT710 卡支持 HDMI 1.4,而我的显示器是 HDMI 1.3。
将其连接到 HDMI 上,整个问题再次出现,黑色 BIOS,但它确实存在。我可以在黑屏上按 F6 然后按 F10,BIOS 成功重置为默认值,并以默认值重新启动,然后恢复为非 GOP,一切正常!
确实,MSI 技术支持给出的回复(尽管主板和显卡都是他们设计的)并不正确。我会根据这一新发现开一张新票据,我相信他们现在会说您的卡(实际上是他们设计的)不支持 HDMI(?)并关闭票据!
答案3
如果您有使用 DisplayPort 连接的 NVIDIA 卡,则还有另一种可能性。一些 Nvidia 卡上的 UEFI 支持开箱即用,仅包括 HDMI,而不包括 DisplayPort。以下供应商固件更新可以扩展现有的 UEFI 支持以包括 DisplayPort GPU 插件。
适用于 DISPLAYPORT 1.3 和 1.4 显示器的 NVIDIA 图形固件更新工具 https://www.nvidia.com/en-us/drivers/nv-uefi-update-x64/
答案4
如果您有使用 DisplayPort 连接的 NVIDIA 卡,则还有另一种可能性。一些 Nvidia 卡上的 UEFI 支持开箱即用,仅包括 HDMI,而不包括 DisplayPort。以下供应商固件更新可以扩展现有的 UEFI 支持以包括 DisplayPort GPU 插件。
适用于 DISPLAYPORT 1.3 和 1.4 显示器的 NVIDIA 图形固件更新工具https://www.nvidia.com/en-us/drivers/nv-uefi-update-x64/
这解决了使用 DisplayPort 连接时无法开机自检/BIOS 屏幕但可以启动 Windows 的问题 - 赞