游戏主机上与 DMA 相关的 BIOS 设置
游戏主机上的虚拟化、Above 4G Decoding、Resizable BAR、CSM、Secure Boot 和 PCIe 版本如何决定 DMA 方案能否初始化,以及改动每一项分别可能搞坏什么。
简短回答
决定 DMA 方案能否初始化的固件设置有六项:虚拟化(VT-x/SVM 与 VT-d/IOMMU)、Above 4G Decoding、Resizable BAR、CSM、Secure Boot,以及 PCIe 插槽版本。每次只改一项,每次改动都记下来;主板自己的说明书比任何清单都更可信。
本页内容10
警告
改 BIOS 之前先看这里
固件菜单没有统一标准:同一个设置在不同厂商那里叫法不同,有些选项还藏在别的选项后面。正确的取值也因主板、芯片组和固件版本而异,所以要弄清每个设置管什么、会搞坏什么,而不是闭着眼照着清单改。你的主板说明书和随固件提供的说明,优先级高于任何通用建议(包括我们的),两者有出入时以它们为准。改这些设置可能导致游戏或 Windows 出问题,所以打开菜单之前,先把打算动的每一项的当前值记下来。靠这份记录,你才能把机器恢复到能用的状态。
哪些设置有影响,各自有什么风险
推荐值只是常见的初始值,并非放之四海而皆准。先看风险那一列——大家最常跳过的就是这一列,事后才后悔。
| 设置 | 作用 | 常见初始值 | 改动风险 |
|---|---|---|---|
| Intel VT-x / AMD SVM | CPU 虚拟化扩展,让虚拟机监控程序(hypervisor)和基于虚拟化的系统功能得以运行 | 通常开启。少数方案明确要求关闭——以你的软件附带的说明为准 | 关闭后,Hyper-V、WSL、安卓模拟器、沙盒以及基于虚拟化的 Windows 安全功能都会失效 |
| Intel VT-d / AMD IOMMU | 为 PCIe 设备做设备级地址转换。它决定设备如何访问系统内存,也是 DMA 重映射的基础 | 按固件提供商针对你这块主板具体型号给出的说明来设。初始化失败时,最常被点名的就是这一项 | 改动它可能导致其他不相干的设备直通失效;在部分平台上,它还会与 Windows 的内核隔离(Core Isolation)和内存完整性功能相互影响 |
| Above 4G Decoding | 允许固件把设备内存窗口映射到 4 GB 地址边界以上 | 任何现代 UEFI 系统上都应开启。必须先开启它,Resizable BAR 选项才会出现 | 仍以传统模式启动的主板可能会隐藏这个选项,或者开启后无法通过 POST 自检 |
| Resizable BAR / Smart Access Memory | 允许设备暴露一块大内存窗口,而不是传统的小窗口 | 搭配现代显卡时开启。对于内存读取方案,要实测而不是想当然——有些配置开启后表现会不一样 | 它会改变 PCIe 内存地址布局,所以切换一次之后,原本正常的方案可能就不工作了。切换前后都要记录状态 |
| CSM / Legacy 启动 | 兼容性支持模块,让系统以传统 BIOS 模式而非 UEFI 模式启动 | 关闭。Above 4G Decoding、Resizable BAR 和 Secure Boot 都以 UEFI 启动为前提 | 如果 Windows 是在传统 MBR 模式下安装的,关闭 CSM 后系统将无法启动,直到把磁盘正确转换为止 |
| Secure Boot | 用固件信任的密钥逐一校验每个启动组件 | 开启,除非有具体原因必须关闭。目前有好几款反作弊要求开启它 | 关闭后,可能完全进不了游戏。在未签名的启动路径上开启它,Windows 会无法启动 |
| PCIe 插槽版本(Auto / Gen3 / Gen4) | 锁定插槽允许协商的链路速率 | 先用 Auto。如果某个插槽和扩展卡始终无法稳定完成链路训练,强制降一代是合理的解决办法 | 强制降代会减少共用这些通道的其他设备(包括显卡)的带宽 |
| PCIe 拆分(bifurcation) | 把一个插槽的通道拆成几组,让多个设备共用 | 保持 Auto,除非转接卡或载板的文档明确写了需要的拆分方式 | 拆分方式设错,可能导致这个插槽上的所有设备消失,显卡也不例外 |
| XMP / EXPO 内存配置文件 | 套用比内存条默认设置更快的时序配置 | 排查任何问题期间,保持原样不动 | 处于稳定边缘的内存配置会造成随机读取失败和 DTB 错误,症状和内存映射(MMAP)有问题一模一样 |
大多数选项“找不到”,都能用依赖顺序解释:先关闭 CSM,再开启 Above 4G Decoding,Resizable BAR 的开关就会出现。
虚拟化是一个设置还是两个?
大家说“虚拟化”时,好像它只是一个开关,其实有两个,作用各不相同。Intel 的 VT-x 和 AMD 的 SVM 是 CPU 扩展,让虚拟机监控程序得以运行,Hyper-V、WSL 和虚拟机需要的就是它。Intel 的 VT-d 和 AMD 的 IOMMU 作用在设备一侧,负责转换并限制 PCIe 设备能访问的地址。DMA 卡就是一块读取内存的 PCIe 设备,所以提供商的说明和初始化失败信息里点名的,都是设备侧的这个设置。不要以为这两个设置总是同开同关,也不要以为在一块主板上管用的取值换到另一块主板上照样管用。
Above 4G Decoding 和 Resizable BAR 改变了什么
Above 4G Decoding 让固件可以把设备内存窗口放在 4 GB 边界以上,任何配了大内存和现代显卡的系统都需要它。Resizable BAR 建立在它之上,允许设备声明一块比传统小窗口大得多的内存窗口。这两个设置都会改变 PCIe 内存地址布局,而内存读取方案恰恰在意这一点。所以切换 Resizable BAR 有时能修好初始化问题,有时反而会制造问题——要把它当作一次单独的、有记录的改动来测试。如果关闭它时方案工作正常,那就保持关闭,这是完全合理的配置。
警告
关闭 CSM 会让 Windows 无法启动吗?
CSM 是这些设置里最危险、也最少有人真正搞懂的一项。如果 Windows 是在 CSM 开启时安装的,磁盘很可能是 MBR 分区,启动路径是传统模式。在这种状态下关闭 CSM,等于拆掉了机器赖以启动的那条路径,下次开机只能进到固件界面,然后就停在那里。要恢复,先重新开启 CSM、正常进入系统,然后再决定要不要用 Microsoft 自己的工具把磁盘转换为 GPT。转换要有计划地做,并且先做好备份,不要在排查板卡问题的中途去做。动这个设置之前,先确认自己处于哪种模式:“系统信息”里的“BIOS 模式”会显示 UEFI 或“传统”(Legacy)。
PCIe 版本与拆分
如果板卡是“看不见”而不是“工作不正常”,原因多半在这两个设置上。插槽和扩展卡无法稳定完成链路训练时,把它锁低一代往往就稳定了,这是合理的解决办法。拆分则是另一回事:它为多设备载板拆分插槽的通道,拆分方式设错,插槽上的设备会直接消失。除非转接卡或适配器自己的文档写明了需要哪种拆分,否则保持 Auto。如果板卡根本没有被枚举出来,先重新插一遍,再考虑改这两个设置。
如何一次只改一项固件设置
方法比单个设置更重要:大多数漫长的排查,起因都是有人一口气改了六项,然后改不回去了。
- 第一次改动之前,把打算动的每个菜单页连同当前值拍照或记录下来
- 在 Windows 里运行 msinfo32,查看“BIOS 模式”,确认启动模式,这样你就知道 Windows 是否依赖 CSM 启动
- 只改一项设置,保存,然后完整进入 Windows
- 重新跑一遍板卡测试,把结果记在这一项改动名下
- 如果这次改动让情况变糟,先改回去,再尝试下一项
- 遵循依赖顺序:先关闭 CSM,再开启 Above 4G Decoding,然后才是 Resizable BAR
- 排查期间,内存配置文件、风扇曲线和超频设置一律不要碰
- 得到一套能用的配置后,把它记在下次固件更新之后你仍然找得到的地方
固件设置引起的问题
下面每一种情况的根源都在固件而不在软件;无论遇到哪一种,都要先重新插一遍板卡。
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 板卡完全没有被枚举——两台机器上都看不到设备 | 没有插到底,或者固件里该插槽被禁用、拆分方式设错 | 重新插好板卡,确认卡扣已经扣上。然后检查插槽是否已启用、拆分是否为 Auto,确认无误后再换插槽试 |
| 主板固件更新前正常,更新后失败 | 更新把设置重置成了优化默认值 | 对照你的书面记录检查菜单,把之前改过的值恢复回去——这正是要保留那份记录的原因 |
| 关闭 CSM 后 Windows 无法启动 | 系统是在传统 MBR 模式下安装的,去掉传统启动路径就等于去掉了唯一的启动路径 | 重新开启 CSM 回到 Windows,然后要么在做好备份的前提下有计划地把磁盘转换为 GPT,要么保持 CSM 开启 |
| 开启 Resizable BAR 后,方案立刻无法初始化 | 底层的 PCIe 内存地址布局变了 | 把 Resizable BAR 关回去,确认方案恢复正常,然后把这个能用的状态记下来,作为你的配置 |
| 原本稳定的机器出现随机读取失败和 DTB 错误 | 内存配置处于稳定边缘,或者固件更新重新套用了这种配置 | 把内存恢复到默认频率,重新测试,并重新生成内存映射,然后再去怀疑板卡或固件 |
| 说明书里写了的设置,你的菜单里却没有 | 厂商会把选项藏在它的依赖项后面,或者藏在高级模式里 | 按依赖链操作(先关闭 CSM,再开启 Above 4G Decoding),然后在菜单首页找高级模式或专家模式的切换开关 |
BIOS 设置常见问题
哪一个设置最重要?
没有通用答案。CSM、Above 4G Decoding、Resizable BAR 这条依赖链牵动的其他选项最多。设备侧的虚拟化设置(VT-d 或 IOMMU)是提供商说明里最常点名的一项,所以请按针对你这块主板发布的说明操作。
要不要直接加载优化默认值,从头再来?
设置已经乱成一团时,这有时是最快的重置办法,前提是先把当前设置记下来。之后,内存配置文件、启动顺序和风扇曲线大概率都得重新设置。
更新主板固件是个好主意吗?
这是正常维护,有时确实能解决 PCIe 枚举问题,但它也会重置你的设置,还可能改变可用的选项。把它当成一个有计划的步骤来做,不要在排查别的问题的中途去更新。
副机(第二台电脑)上也要改这些设置吗?
不用。副机上不插板卡,所以它的固件与板卡初始化毫无关系。副机上要关注的是 USB 和电源设置,另有一篇指南专门讲。
关闭虚拟化能让什么东西更安全吗?
不能。它改变的是机器上能运行哪些软件,而不是会不会被检测到,所以不要把固件开关当作安全措施。
论坛帖子和我的固件提供商说法矛盾,该听谁的?
以主板文档,以及针对你这一版固件和这一版主板发布的说明为准。通用清单是按别人的硬件写的,照搬可能会把一台原本正常的机器搞坏。
资料来源
除上面列出的来源外,其余内容来自实机测试:团队在自己的主板上逐项记录了每个固件设置的实际效果。即便如此,你的主板说明书仍然优先。
- 01
- 02TPM 2.0 and Secure Boot requirement (Activision Support)
“当前反作弊要求开启 Secure Boot”这一说法的出处
support.activision.com
继续阅读
仍然没有解决?在 Discord 提交工单
全部指南