Я потратил последние 24 часа, пытаясь настроить восстановление VM из резервной копии на PROXMOX 7.1-4. Обновлялся с более старой версии. Вот характеристики оборудования: Материнская плата: Supermicro X10DRi-T (BIOS: 3.4a) Процессоры: Intel Xeon E5-2698v3 Аппаратный проброс работал отлично, пока я не обновил BIOS (BIOS 3.1 на тот момент) и не перешёл на PROXMOX 7.1-4. Я включил VT-d и добавил `intel_iommu=on` в `/etc/default/grub`. Я запустил `update-grub`, `initramfs -u -k -all`, и даже `proxmox-boot-tool refresh`, но ошибка не исчезает. Если я запускаю `dmesg | grep -e DMAR -e IOMMU`, то получаю следующий вывод, который, судя по моему скромному опыту, указывает на то, что IOMMU должно быть включено и работать...но это не так.
```
[ 0.012983] ACPI: DMAR 0x0000000079F573F8 000170 (v01 ALASKA A M I 00000001 INTL 20091013)
[ 0.013036] ACPI: Reserving DMAR table memory at [mem 0x79f573f8-0x79f57567]
[ 3.444698] DMAR: Host address width 46
[ 3.444701] DMAR: DRHD base: 0x000000fbffc000 flags: 0x0
[ 3.444709] DMAR: dmar0: reg_base_addr fbffc000 ver 1:0 cap d2078c106f0466 ecap f020de
[ 3.444714] DMAR: DRHD base: 0x000000c7ffc000 flags: 0x1
[ 3.444719] DMAR: dmar1: reg_base_addr c7ffc000 ver 1:0 cap d2078c106f0466 ecap f020de
[ 3.444723] DMAR: RMRR base: 0x0000007bc18000 end: 0x0000007bc27fff
[ 3.444726] DMAR: ATSR flags: 0x0
[ 3.444729] DMAR: RHSA base: 0x000000c7ffc000 proximity domain: 0x0
[ 3.444731] DMAR: RHSA base: 0x000000fbffc000 proximity domain: 0x1
[ 3.444735] DMAR-IR: IOAPIC id 3 under DRHD base 0xfbffc000 IOMMU 0
[ 3.444738] DMAR-IR: IOAPIC id 1 under DRHD base 0xc7ffc000 IOMMU 1
[ 3.444741] DMAR-IR: IOAPIC id 2 under DRHD base 0xc7ffc000 IOMMU 1
[ 3.444743] DMAR-IR: HPET id 0 under DRHD base 0xc7ffc000
[ 3.444746] DMAR-IR: x2apic is disabled because BIOS sets x2apic opt out bit.
[ 3.444747] DMAR-IR: Use 'intremap=no_x2apic_optout' to override the BIOS setting.
[ 3.445518] DMAR-IR: Enabled IRQ remapping in xapic mode
```
Помимо этого, не удаётся загрузить никакие модули vfio. Если я добавлю `vfio-pci` в `/etc/modules` и запущу `initramfs -u -k -all`, а затем перезагружусь, то любые скрипты, которые я пишу, чтобы переопределить драйвер ядра по умолчанию, не работают должным образом. Драйвер вообще не загружается. Что ещё более странно, я сделал абсолютно то же самое на сервере AMD EPYC и всё заработало без проблем. Всё прошло без сучка и задорин. Я пробросил кучу устройств. Работало отлично. Так почему что-то, что раньше работало нормально, вдруг перестало работать после обновления программного обеспечения?... В этот момент я думаю о том, можно ли просто пробросить устройства через iSCSI или virtio и оставить PROXMOX, чтобы он обрабатывал устройство PCI_e.
```
[ 0.012983] ACPI: DMAR 0x0000000079F573F8 000170 (v01 ALASKA A M I 00000001 INTL 20091013)
[ 0.013036] ACPI: Reserving DMAR table memory at [mem 0x79f573f8-0x79f57567]
[ 3.444698] DMAR: Host address width 46
[ 3.444701] DMAR: DRHD base: 0x000000fbffc000 flags: 0x0
[ 3.444709] DMAR: dmar0: reg_base_addr fbffc000 ver 1:0 cap d2078c106f0466 ecap f020de
[ 3.444714] DMAR: DRHD base: 0x000000c7ffc000 flags: 0x1
[ 3.444719] DMAR: dmar1: reg_base_addr c7ffc000 ver 1:0 cap d2078c106f0466 ecap f020de
[ 3.444723] DMAR: RMRR base: 0x0000007bc18000 end: 0x0000007bc27fff
[ 3.444726] DMAR: ATSR flags: 0x0
[ 3.444729] DMAR: RHSA base: 0x000000c7ffc000 proximity domain: 0x0
[ 3.444731] DMAR: RHSA base: 0x000000fbffc000 proximity domain: 0x1
[ 3.444735] DMAR-IR: IOAPIC id 3 under DRHD base 0xfbffc000 IOMMU 0
[ 3.444738] DMAR-IR: IOAPIC id 1 under DRHD base 0xc7ffc000 IOMMU 1
[ 3.444741] DMAR-IR: IOAPIC id 2 under DRHD base 0xc7ffc000 IOMMU 1
[ 3.444743] DMAR-IR: HPET id 0 under DRHD base 0xc7ffc000
[ 3.444746] DMAR-IR: x2apic is disabled because BIOS sets x2apic opt out bit.
[ 3.444747] DMAR-IR: Use 'intremap=no_x2apic_optout' to override the BIOS setting.
[ 3.445518] DMAR-IR: Enabled IRQ remapping in xapic mode
```
Помимо этого, не удаётся загрузить никакие модули vfio. Если я добавлю `vfio-pci` в `/etc/modules` и запущу `initramfs -u -k -all`, а затем перезагружусь, то любые скрипты, которые я пишу, чтобы переопределить драйвер ядра по умолчанию, не работают должным образом. Драйвер вообще не загружается. Что ещё более странно, я сделал абсолютно то же самое на сервере AMD EPYC и всё заработало без проблем. Всё прошло без сучка и задорин. Я пробросил кучу устройств. Работало отлично. Так почему что-то, что раньше работало нормально, вдруг перестало работать после обновления программного обеспечения?... В этот момент я думаю о том, можно ли просто пробросить устройства через iSCSI или virtio и оставить PROXMOX, чтобы он обрабатывал устройство PCI_e.
