pve直通硬件后虚拟机不开机,提示d3状态

pve直通部分设备(显卡,nvme)提示

pve kernel: vfio-pci 0000:06:00.0: Unable to change power state from D3hot to D0, device inaccessible

一般出现在 Proxmox VE (PVE)PCIe直通 时,说明设备在绑定 vfio-pci 驱动后无法从低功耗状态(D3hot)恢复到正常工作状态(D0)。

1. 确保 BIOS 设置正确

  • 开启:

    • VT-d(Intel)或 SVM/IOMMU(AMD)

    • 禁用 ASPM / PCIe Power Saving 选项

    • 如果有 “Above 4G Decoding”,务必开启

2. 内核启动参数调整

编辑 /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_aspm=off"

(AMD 改成 amd_iommu=on)

更新 grub:

update-grub
update-initramfs -u
reboot

3. 强制绑定 vfio-pci 提前接管设备

/etc/modprobe.d/vfio.conf 里写入:

options vfio-pci ids=1002:67df,1002:aaf0 disable_idle_d3=1

其中 ids=xxxx:yyyylspci -nnk 查设备 ID,
disable_idle_d3=1 可以避免设备进入 D3。

然后:

update-initramfs -u
reboot

4. 启用 pci-stubreset_method

有的设备不支持标准复位,可以尝试:

echo "vendor device reset_method=bus" > /sys/bus/pci/devices/0000:06:00.0/reset_method

或加到 udev 规则里自动应用。

5. 如果是显卡直通

  • 确保显卡没有被宿主机加载 AMDGPU/NVIDIA 驱动。

  • 有的老显卡需要 romfile 才能直通成功。


 建议先试 在 vfio.conf 里加 disable_idle_d3=1,这是最常见的解决办法。

版权声明:
作者:laop
链接:https://laopy.dpdns.org/252.html
来源:LPY-老朋友
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>