ESXi 8.0.3U5 上配置显卡直通,本来想的是插上卡、勾上直通、开机装驱动,结果 VM 列表里虚拟机显示“已启动”,下面却挂着一行“需要重新引导”,点进控制台也看不到系统正常起来。这个状态我遇过不少次,网上问的人也多,但大部分回答要么让你反复重启虚拟机,要么直接让你重装系统,完全没讲到点子上。这篇文章就围绕这个状态,把显卡直通后出现“已启动/需要重新引导”的成因、排查顺序和处理方法完整拆一遍。刚接触 ESXi 直通的朋友可以按顺序看,已经被卡住的朋友可以直接跳到第 3 节和第 4 节先解决问题。
1. 先搞懂“已启动/需要重新引导”这行状态到底在说什么
1.1 电源状态和配置状态是两套信息,别混在一起看
ESXi 的 Web Client 里,虚拟机列表展示的“已启动”是电源状态(Power State),而旁边那个“需要重新引导”是配置状态(Configuration State)。这两个字段代表的信息完全不同:电源状态说明 VMX 进程已经被拉起,虚拟机“在运行”;配置状态说明 VMX 在启动过程中发现某个硬件配置没有生效,必须在一次新的引导流程里重新尝试初始化。
具体到显卡直通场景,这个“没有生效”的配置就是 PCIe 直通设备本身。直通设备要被虚拟机使用,中间要完成好几步:设备重置、BAR 空间映射、IOMMU DMA 重映射、中断分配。只要其中任何一步失败,VMX 不会让虚拟机直接挂掉,而是把设备状态标记成“等待重新初始化”,然后抛出一个“需要重新引导”的信号。所以你在界面上看到的就是:VM 开着,但里面根本没有正常亮屏,显卡设备实际上没有接管成功。
很多朋友遇到这个状态第一反应是“强制重启虚拟机”,结果发现重启完了还是老样子,原因就在这里——重启只是重新触发了一次初始化,如果最根本的条件不满足,重启多少次结果都一样。
1.2 最容易踩出这个状态的三种操作
第一种:在虚拟机开机状态下给 VM 添加 PCIe 直通设备。这个基本属于必踩雷。VMX 设计上就不支持热插拔一个完整的多功能显卡,添加设备后系统会提示“需要重新引导”,如果你这时候点了重启,设备往往会残留在一个半初始化状态,下次启动时还是起不来。
第二种:主机冷启动之后直接开机。ESXi 主机断电重启后,某些直通设备(尤其是独显)在硬件层面还没有被完全重置,上一轮的 DMA 映射状态还残留在设备里。VM 启动时 VMX 尝试接管设备却发现设备状态不干净,于是初始化失败,进入了“需要重新引导”的状态。
第三种:显卡 Option ROM 加载失败。这个多见于虚拟机固件还是传统 BIOS 的情况。现代显卡基本上只有 UEFI GOP 驱动,传统模式下找不到合法的 Option ROM,VMX 在准备阶段就读不到显卡的固件信息,自然没办法继续初始化设备。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 动手之前先过一遍:硬件与BIOS前置检查清单
2.1 VT-d、Above 4G Decoding 这些开关缺一不可
排查这类问题,我习惯先从硬件层开始,而不是一头扎进虚拟机配置里。因为显卡直通依赖的底层能力都在主板 BIOS 里,任何一个关键开关没开,后面所有操作都白费。
最重要的两个开关:一个是 CPU 的虚拟化重映射技术,Intel 叫 VT-d,AMD 叫 IOMMU。这个不开,直通设备根本无法进行 DMA 重映射,ESXi 直接不会让你启用直通。另一个是 PCIe 设备的大地址空间支持,BIOS 里通常叫 Above 4G Decoding,有些主板叫“PCIe 64-bit BAR Support”或者“Memory Hole for PCI MMIO”。这个名字里的“4G”指的是 32 位地址空间上限。现代显卡显存动不动就 8GB、16GB,显卡 BAR 动辄需要几个 GB 的地址空间,不开 Above 4G Decoding,BIOS 就没办法把显卡的 BAR 映射到 64 位地址区域,ESXi 拿到的设备地址空间会非常局促。
还有几个建
