跳转到内容

安装前的 BIOS/UEFI 设置 ​

硬件与准备提到过三个动手前的确认项。这篇把每一项在 BIOS 里具体该怎么找、怎么开,以及 Secure Boot 和断电恢复这两个容易被忽略的选项讲清楚。

已经装好系统的机器改 BIOS 设置要谨慎

下面的设置在装系统之前改动最安全。如果是对一台已经在跑的 PVE 主机改 BIOS(比如事后想开虚拟化或 Secure Boot),涉及的风险包括:改动引导相关选项可能导致系统无法启动,远程机器改错设置可能让你彻底失去访问(需要物理接触或 IPMI/带外管理)。

  • 前置条件:确认有物理访问或 IPMI/iDRAC/iLO 这类带外管理手段作为退路。
  • 回退方法:绝大多数改动可以在 BIOS 里改回原值;如果是改了引导模式(Legacy/UEFI)导致系统起不来,需要重新调整回原来的模式,而不是就地修复。
  • 影响范围:仅影响这台宿主机的启动和该项功能本身,不涉及虚拟机磁盘数据。

四项要确认的设置 ​

设置常见位置常见叫法建议
CPU 虚拟化Advanced → CPU Configuration 附近Intel VT-x、AMD-V、SVM Mode、Virtualization Technology打开,跑虚拟机的前提
IOMMU同上,或单独的 IOMMU / SR-IOV 分类Intel VT-d、AMD-Vi、IOMMU需要硬件直通才打开,其余场景可以不开
Secure BootBoot 或 Security 分类Secure Boot、OS Type见下文,按需决定
断电恢复行为Power 分类Restore on AC Power Loss、AC Back Function、After Power Loss建议设为 Power On,见下文

不同厂商(Dell、HPE、Supermicro、消费级主板厂商)的菜单命名和层级差别很大,找不到时直接翻主板/服务器手册里的 BIOS 设置章节,或者搜索"你的主板型号 + 对应功能名"。

虚拟化和 IOMMU:先看清楚要不要用到 ​

  • 只跑虚拟机和容器:只需要打开 CPU 虚拟化,IOMMU 可以先不管。
  • 打算做显卡、HBA、USB 直通:CPU 虚拟化和 IOMMU 都要打开,而且要确认主板固件真的支持——这一点买之前就该在CPU 与内存怎么选里确认过。

开启后,装完系统在宿主机 shell 确认:

sh
# 有输出说明虚拟化标志位存在
grep -oE '(vmx|svm)' /proc/cpuinfo | head -1

# KVM 模块已加载
lsmod | grep kvm

IOMMU 是否真正生效需要看内核启动参数和分组情况,属于硬件直通章节的内容,具体见开启 IOMMU。

Secure Boot:现在可以开了,但要知道代价 ​

早期版本的 PVE 不支持 Secure Boot,很多教程会建议直接关掉它。这个建议已经过时:从 PVE 8.1(2023 年底)开始,官方提供了经过签名的引导链(一个由 Microsoft 签名的 shim,加上签名过的内核),新装的系统默认会启用 Secure Boot 支持,已有的 UEFI 安装也可以通过官方步骤转换过去,不需要重装。

开着 Secure Boot 会遇到的额外步骤

Secure Boot 开启后,内核只加载经过信任签名的模块。PVE 官方内核自带的模块没问题,但通过 DKMS 编译的第三方驱动(例如某些网卡的 out-of-tree 驱动,或者 NVIDIA 相关驱动)需要额外把签名密钥注册成 MOK(Machine Owner Key),否则模块加载不了。这一步官方 DKMS 集成会自动处理大部分场景,遇到网卡驱动相关的情况可参考网卡芯片兼容性。

拿不准的话:不需要装第三方驱动、也没有历史包袱的全新安装,可以直接保持 Secure Boot 开启(安装程序默认支持);正在维护一台老系统、已经装了需要 DKMS 编译的驱动,先读官方的 Secure Boot 配置说明再决定要不要开。

断电恢复行为:建议开 ​

Restore on AC Power Loss(或类似名称)决定了机器在意外断电后来电时是自动开机还是保持关机等人手动按。对放在不方便到达位置的机器(机柜、储藏室),建议设成自动开机,否则一次停电就要专程跑一趟。

自动开机不是万能的

它解决的是"来电后机器要不要自己启动",不能替代 UPS 解决"断电瞬间的数据安全"问题。两者是不同层面的保护,UPS 相关的选型见UPS 与断电保护。

检查结果 ​

BIOS 改完、系统装好后,确认:

  1. grep -oE '(vmx|svm)' /proc/cpuinfo 有输出。
  2. 如果开了 IOMMU,能在内核启动参数或 dmesg | grep -i iommu 里看到相关信息(详细核实方法见硬件直通章节)。
  3. Secure Boot 状态和你的预期一致:可以在 Web UI 或 mokutil --sb-state(需要装了 mokutil)确认。
  4. 模拟一次断电(直接拔电源测试有风险,更安全的方式是在维护窗口内通过 IPMI 或电源管理确认设置生效)。

常见问题 ​

BIOS 里没有 IOMMU 相关选项。 可能是被厂商固件隐藏或阉割,先确认主板型号是否官方支持 VT-d/AMD-Vi;部分主板需要先开启 CPU 虚拟化,IOMMU 选项才会出现。

开启 Secure Boot 后系统起不来,报 shim 签名错误。 通常发生在内核更新之后引导链没跟上,官方 Wiki 的 Secure Boot Setup 页面有对应的修复步骤;不确定怎么处理时,可以先在 BIOS 里临时关闭 Secure Boot 恢复访问,再按官方步骤重新配置。

改了断电恢复设置,但停电后机器还是没自动开。 部分电源或主板需要额外确认 ATX 电源本身的"开机保持"跳线或开关设置,纯软件设置可能不是唯一决定因素。

延伸阅读 ​

Proxmox VE 非官方中文使用指南,与 Proxmox Server Solutions GmbH 无隶属关系。