Loading... 默认ProxmoxVE 只能支持硬盘、CPU型号直通。其他PCI硬件 或者 核心显卡的直通,还需要开启IOMMU分组功能 <!--more--> 操作PCI直通提示: No IOMMU detected, please activate it.See Documentation for further information. <!-- more --> ## 介绍 PCI直通允许您使用VM内的物理PCI设备(图形卡,网卡)(仅KVM虚拟化)。 如果“ PCI直通”设备,则该设备不再对主机可用。 注意: PCI直通是Proxmox VE中的一项实验功能* ## 启用IOMMU 您需要通过编辑内核命令行来启用IOMMU 。 首先打开grub的bootloader内核命令行配置文件: > [!NOTE] 编辑内核命令行 > 您可以在以下位置修改内核命令行,具体取决于所使用的引导程序 > [!Grub] > 内核命令行需要在文件`/etc/default/grub `中放置 > `GRUB_CMDLINE_LINUX_DEFAULT `变量 > 然后 运行 `update-grub`将其内容附加到`/boot/grub/grub.cfg`中的所有linux条目中 > [!Systemd-boot] > **Systemd-boot** > 内核命令行需要在`/etc/kernel/cmdline`中放置 > 要应用更改,请运行`pve-efiboot-tool refresh` > 将其设置为`loader/entries/proxmox-*.conf`中的配置文件 ### 首先打开grub的bootloader内核命令行配置文件: GRUB(传统引导) ``` nano /etc/default/grub ``` 或者 systemd-boot(UEFI) ``` nano /etc/kernel/cmdline ``` **对于GRUB**: 找到带有“ GRUB_CMDLINE_LINUX_DEFAULT”的行 **对于systemd-boot(UEFI)**创建用于systemd-boot的文件(格式为带有选项的单行) ### Intel CPU 对于Intel CPU,添加`intel_iommu=on`,例如: ``` GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" ``` 保存更改并更新grub: ``` update-grub ``` 或systemd-boot(UEFI): ``` pve-efiboot-tool refresh ``` 然后重新启动宿主机,从命令行运行 ``` dmesg | grep -e DMAR -e IOMMU ``` 如果没有输出,则说明有问题。 ### AMD CPU 对于AMD CPU 添加`amd_iommu=on`, 例如: ``` GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on" ``` 更改并更新grub: ``` update-grub ``` 或systemd-boot(UEFI): ``` pve-efiboot-tool refresh ``` 然后重新启动宿主机,从命令行运行 ``` dmesg | grep -e DMAR -e IOMMU ``` 如果没有输出,则说明有问题。 ``` update-initramfs -u -k all ``` ### PT模式 Intel和AMD芯片都可以使用附加参数 `iommu=pt`, 该参数的添加方法与上述相同 这仅在必要时启用IOMMU转换,从而可以提高VM中未使用的PCIe设备的性能. ## 然后是修改/etc/modules文件 ``` nano /etc/modules ``` 添加如下内容 ``` vfio vfio_iommu_type1 vfio_pci vfio_virqfd ``` 最后修改:2024 年 01 月 20 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 61 如果觉得我的文章对你有用,请随意赞赏