Skip to main content

Проброс PCI в VM

Делая проброс PCI в VM может быть ошибка при старте VM “TASK ERROR: cannot prepare PCI pass-through, IOMMU not present”

На китайских платах может быть так, что функционал VT-d есть, но не работает. Решается переборкой ядра.

1. Редактируем файл /etc/kernel/cmdline

БЫЛО:

root=ZFS=rpool/ROOT/pve-1 boot=zfs

СТАЛО:

root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on iommu=pt

Применяем:

pve-efiboot-tool refresh

2. Редактируем файл /etc/modules

БЫЛО: 

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

СТАЛО:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

Применяем:

update-initramfs -u -k all

И наконец ребутимся

reboot