Подробный гайд: IOMMU в BIOS/UEFI

Настройка IOMMU в BIOS/UEFI: включение VT-d и AMD-Vi для виртуализации, PCI Passthrough и защиты от DMA-атак в Linux и Windows

2026.05.21                  


Подробный гайд: IOMMU в BIOS/UEFIПодробный гайд: IOMMU в BIOS/UEFI

Что такое IOMMU?

IOMMU (Input-Output Memory Management Unit) — это аппаратный модуль управления памятью для устройств ввода-вывода, который обеспечивает:
  • Защиту памяти от несанкционированного DMA-доступа устройств
  • Изоляцию устройств в виртуализированных средах («песочница» для DMA)
  • Возможность прямого проброса устройств (PCI Passthrough) в виртуальные машины
  • Поддержку современных античитов (FACEIT, Vanguard и др.)

На платформах Intel технология называется VT-d, на AMDAMD-Vi или IOMMU.


Шаг 1: Проверка поддержки оборудования

Перед настройкой убедитесь, что ваше оборудование поддерживает IOMMU:

Компонент Требования
Процессор Intel с поддержкой VT-d (начиная с Core 2 Duo) или AMD с AMD-Vi (Ryzen, FX, EPYC)
Материнская плата Чипсет с поддержкой IOMMU (уточняйте в спецификациях)
BIOS/UEFI Актуальная версия прошивки с опцией IOMMU/VT-d
ОС Поддержка в ядре (Linux 2.6.29+, Windows 10/11 с Hyper-V, Proxmox, ESXi)

Проверка поддержки в Linux:

# Intel
grep -E "vmx|dmar" /proc/cpuinfo

# AMD  
grep -E "svm" /proc/cpuinfo

# Проверка таблиц ACPI
dmesg | grep -iE "dmar|iommu"

Шаг 2: Включение IOMMU в BIOS/UEFI

Пути к настройкам по производителям материнских плат

ASUS

Intel: Advanced → System Agent (SA) Configuration → VT-d
AMD:  Advanced → AMD CBS → NBIO Common Options → IOMMU
      или Advanced → PCI Subsystem Settings

MSI

Intel: Overclocking (OC) → CPU Features → Intel VT-d
AMD:  Settings → Advanced → PCI Subsystem Settings → IOMMU
      или Overclocking → Advanced CPU Configuration → AMD CBS

Gigabyte / AORUS

Intel: Settings/Chipset → IO Ports → VT-d
AMD:  Settings → IO Ports → IOMMU
      или Settings → Miscellaneous → IOMMU

ASRock

Intel: Advanced → Chipset Configuration → VT-d
AMD:  Advanced → AMD CBS → NBIO Common Options → IOMMU

Ноутбуки и другие бренды

  • Lenovo: Configuration / Security → Virtualization
  • HP: Advanced System Options → Virtualization Technology
  • Dell: Virtualization Support → VT for Direct I/O

Совет:

Используйте встроенный поиск в современных UEFI — введите IOMMU, VT-d или AMD-Vi.


Дополнительные настройки для корректной работы

Для полной функциональности часто требуется включить:

Опция Описание Где найти
Аппаратная виртуализация SVM Mode (AMD) / Intel VT-x CPU Configuration
Secure Boot Требуется некоторыми античитами Boot / Security
TPM 2.0 / fTPM Аттестация доверенной загрузки Security / Advanced
DMA Protection Защита от DMA-атак (AMD) Security → AMD CBS
Control IOMMU Pre-boot Включение IOMMU до загрузки ОС (Intel) Advanced → VT-d Configuration

FACEIT, Vanguard и другие античиты требуют одновременного включения IOMMU + Secure Boot + TPM 2.0 + VBS для защиты от аппаратных читов.


Шаг 3: Настройка в ОС (Linux)

1. Добавление параметров ядра

Отредактируйте GRUB:

sudo nano /etc/default/grub

Добавьте в строку GRUB_CMDLINE_LINUX_DEFAULT:

# Для Intel:
intel_iommu=on iommu=pt

# Для AMD:
amd_iommu=on iommu=pt

Параметр iommu=pt (pass-through) улучшает производительность, пропуская транзакции, не требующие трансляции.


2. Применение изменений

# Debian/Ubuntu:
sudo update-grub

# RHEL/CentOS/Fedora:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

# Перезагрузка:
sudo reboot

3. Проверка активации

# Проверка параметров загрузки:
cat /proc/cmdline

# Логи ядра:
dmesg | grep -E "DMAR|IOMMU"

# Наличие групп IOMMU:
ls /sys/kernel/iommu_groups/

# Детальная информация:
sudo dmesg | grep -i "iommu\|dmar"

Ожидаемый вывод:

[    0.000000] DMAR: IOMMU enabled
[    0.961424] DMAR: Intel(R) Virtualization Technology for Directed I/O

Шаг 4: Проверка и анализ групп IOMMU (для PCI Passthrough)

Для проброса устройств в ВМ критически важно, чтобы устройство находилось в отдельной группе IOMMU.

Скрипт для просмотра групп:

#!/bin/bash
shopt -s nullglob
for g in /sys/kernel/iommu_groups/*; do
    echo "IOMMU Group ${g##*/}:"
    for d in $g/devices/*; do
        echo -e "\t$(lspci -nns ${d##*/})"
    done
done

Если GPU и другие устройства находятся в одной группе с системными устройствами, проброс может быть невозможен без аппаратных модификаций (ACS override, перепрошивка BIOS).


Устранение неполадок

Проблема Возможное решение
Опция IOMMU отсутствует в BIOS Обновите BIOS/UEFI до последней версии; убедитесь, что включена виртуализация (VT-x/SVM)
IOMMU включён, но не определяется в ОС Проверьте /proc/cmdline; убедитесь, что параметр intel_iommu=on / amd_iommu=on применён
Система не загружается после включения IOMMU Отключите IOMMU, обновите ядро ОС, проверьте совместимость устройств
Слишком мало групп IOMMU Проверьте поддержку ACS на чипсете; при необходимости используйте pcie_acs_override (с осторожностью)
Конфликт с Secure Boot Убедитесь, что загрузчик и ядро подписаны; в некоторых случаях требуется отключить Secure Boot временно для настройки

Особый случай: Античиты (FACEIT, Vanguard)

Если вы включаете IOMMU для игр:

  1. Убедитесь, что все 4 компонента включены: IOMMU, Secure Boot, TPM 2.0, VBS
2. Проверьте статус в Windows:
   msinfo32
Ищите строки:
  • «Безопасная загрузка»: Вкл.
  • «Режим виртуализации на основе безопасности»: Вкл.
    1. Обновите драйверы сетевого адаптера и чипсета
    2. При ошибках — временно отключите IOMMU для диагностики, затем включите по одному компоненту

Чек-лист быстрой настройки

  • [ ] Проверена поддержка CPU и материнской платы
  • [ ] Обновлён BIOS/UEFI до актуальной версии
  • [ ] В BIOS включены: IOMMU/VT-d, VT-x/SVM, Secure Boot, TPM 2.0
  • [ ] В Linux добавлены параметры ядра: intel_iommu=on или amd_iommu=on
  • [ ] Выполнен update-grub / grub2-mkconfig и перезагрузка
  • [ ] Подтверждена активация через dmesg | grep -i iommu
  • [ ] Проверены группы IOMMU для целевых устройств

Важно:

На некоторых платформах (особенно ноутбуках и OEM-системах) опции IOMMU могут быть скрыты или заблокированы производителем. В таких случаях обратитесь к документации вендора или рассмотрите использование внешних решений (например, внешние GPU через Thunderbolt с поддержкой VT-d).