Проброс видеокарты в ESXi: полное руководство по настройке GPU Passthrough

После включения passthrough для видеокарты в веб-интерфейсе ESXi и перезагрузки хоста виртуальная машина с проброшенным GPU нередко отказывается стартовать с ошибкой о недостатке памяти или «Invalid memory setting». Причина почти всегда одна: видеокарта требует резервирования всей выделенной ВМ памяти, а этот параметр не выставлен. Добавьте в настройках виртуальной машины параметр pciPassthru.use64bitMMIO = TRUE и зарезервируйте всю память гостевой ОС — в большинстве случаев этого достаточно, чтобы машина запустилась.

Проброс видеокарты (GPU Passthrough) в VMware ESXi позволяет отдать физический графический адаптер целиком одной виртуальной машине. Это востребовано для рабочих станций с 3D-графикой, задач машинного обучения, рендеринга и игровых ВМ. Технология опирается на Intel VT-d или AMD-Vi (IOMMU), поэтому поддержка этих технологий процессором и материнской платой — обязательное условие.

В этом руководстве разберём подготовку оборудования, включение DirectPath I/O, назначение карты виртуальной машине и типичные ошибки: код 43 у NVIDIA, чёрный экран, конфликт с встроенной графикой хоста.

Требования к оборудованию и ПО

До начала настройки проверьте, что ваша платформа в принципе поддерживает проброс. Без аппаратной виртуализации ввода-вывода функция работать не будет, и никакие настройки в интерфейсе это не исправят.

  • 🖥️ Процессор с поддержкой Intel VT-d или AMD-Vi — проверяется в спецификации CPU на сайте производителя.
  • 🔌 Материнская плата с включённой опцией VT-d / IOMMU в BIOS/UEFI.
  • 🎮 Отдельная дискретная видеокарта для ВМ — встроенная графика обычно остаётся под управлением самого гипервизора.
  • 💾 Достаточный объём оперативной памяти: проброшенной ВМ память выделяется с полным резервированием.
  • 📦 Установленный VMware ESXi актуальной поддерживаемой версии с доступом к веб-интерфейсу Host Client.

Отдельный нюанс — видеокарты NVIDIA потребительского класса (GeForce). Драйверы этих карт содержат проверку на виртуальное окружение и могут завершать работу с ошибкой 43. Обход этой проверки существует, и мы рассмотрим его ниже, но на серверных и профессиональных картах (Quadro, Tesla, AMD Radeon Pro) такой проблемы нет.

Подготовка BIOS и хоста ESXi

Сначала зайдите в BIOS/UEFI сервера и включите опции виртуализации. Названия пунктов зависят от производителя платы: ищите Intel VT-d, IOMMU, SR-IOV или Above 4G Decoding в разделах Advanced, Chipset или North Bridge. Если точное расположение опции неизвестно, сверьтесь с документацией на вашу материнскую плату — на серверных и десктопных платах меню устроено по-разному.

Опция Above 4G Decoding особенно важна для современных видеокарт с большим объёмом видеопамяти: без неё прошивка может не выделить карте необходимое адресное пространство, и проброс завершится ошибкой. Заодно отключите CSM (Compatibility Support Module), если плата позволяет, — чистый UEFI-режим снижает число конфликтов при инициализации GPU.

Включение DirectPath I/O для видеокарты

Основная настройка выполняется в веб-интерфейсе Host Client. Порядок действий такой:

  • ⚙️ Откройте раздел Управление → Оборудование → PCI-устройства.
  • 🔍 Найдите в списке видеокарту по названию и её аудиофункцию HDMI/DP — это отдельное PCI-устройство, его тоже нужно пробросить.
  • ✅ Выделите оба устройства и нажмите «Переключить passthrough» (Toggle passthrough).
  • 🔄 Перезагрузите хост — изменения вступают в силу только после перезагрузки.

После перезагрузки статус устройств в том же разделе должен смениться на «Активно». Если статус остался «Неактивно», возможные причины: VT-d не включён в BIOS, устройство занято гипервизором или плата не поддерживает проброс данного слота. Проверьте также, что карта и её аудиочасть находятся в отдельной группе IOMMU — на некоторых платах несколько устройств делят одну группу, и тогда пробрасывать придётся все вместе.

⚠️ Внимание: после включения passthrough для единственной видеокарты ESXi теряет локальный видеовывод. Перед перезагрузкой убедитесь, что веб-интерфейс хоста доступен по сети, а сетевые настройки заданы корректно — иначе доступ к управлению будет потерян.

📊 Для каких задач вы пробрасываете видеокарту в ESXi?
Игровая виртуальная машина
Работа с 3D и CAD
Машинное обучение и вычисления
Видеомонтаж и рендеринг

Добавление GPU в виртуальную машину

Когда passthrough активен, карту нужно назначить конкретной ВМ. Выключите виртуальную машину, откройте её настройки и выберите Добавить другое устройство → PCI-устройство. В списке выберите видеокарту, затем повторите операцию для её аудиофункции. Оба устройства должны быть добавлены, иначе драйвер в гостевой системе может работать некорректно.

Далее — критически важные параметры, о которых шла речь в начале статьи. В настройках ВМ на вкладке «Параметры VM → Дополнительно → Изменить конфигурацию» добавьте:

pciPassthru.use64bitMMIO = TRUE

hypervisor.cpuid.v0 = FALSE

Первый параметр выделяет 64-битное адресное пространство под ресурсы карты — без него ВМ с современным GPU часто не стартует. Второй скрывает от гостевой системы признак гипервизора, что помогает против ошибки 43 на картах GeForce. Дополнительно зарезервируйте всю память виртуальной машины: установите флажок «Зарезервировать всю память гостевой ОС» в разделе памяти.

☑️ Чек-лист перед первым запуском ВМ с GPU

Выполнено: 0 / 6

Режим загрузки гостевой ОС также имеет значение. Для Windows рекомендуется прошивка EFI в настройках ВМ — в сочетании с UEFI-режимом хоста это даёт наиболее предсказуемую инициализацию видеокарты. После установки ОС поставьте VMware Tools, а затем штатный драйвер GPU с сайта NVIDIA или AMD.

Типичные ошибки и их решение

Даже при правильной настройке первая попытка запуска часто заканчивается ошибкой. Ниже — самые распространённые сценарии.

Проблема Вероятная причина Решение
ВМ не стартует, ошибка памяти Не зарезервирована память, нет 64-битного MMIO Зарезервировать всю RAM, добавить pciPassthru.use64bitMMIO
Ошибка 43 в диспетчере устройств Драйвер GeForce обнаружил гипервизор Добавить hypervisor.cpuid.v0 = FALSE
Чёрный экран в консоли ВМ Вывод идёт на физические порты карты Подключить монитор к GPU или использовать RDP/Parsec
Passthrough не активируется VT-d выключен или устройство занято хостом Проверить BIOS, перезагрузить хост, сменить слот
Карта отваливается под нагрузкой Питание, перегрев, конфликт MSI Проверить БП и температуру, обновить драйвер

Отдельно остановимся на чёрном экране — это не всегда неисправность. Когда видеокарта проброшена, изображение гостевой ОС выводится на физические разъёмы карты, а не в веб-консоль ESXi. Подключите монитор напрямую к GPU либо настройте удалённый доступ: RDP для Windows, Parsec или Moonlight для задач, где важна низкая задержка.

Что делать, если ошибка 43 не исчезла после hypervisor.cpuid.v0

Проверьте, что параметр добавлен именно в конфигурацию ВМ, а не хоста, и ВМ была полностью выключена и включена (не перезагружена). Дополнительно убедитесь, что версия драйвера NVIDIA — актуальная: в старых ветках драйверов проверка виртуализации работала иначе. В крайнем случае попробуйте добавить параметр питания pciPassthru0.msiEnabled = FALSE — на части конфигураций это снимает конфликт прерываний.

Особенности карт NVIDIA и AMD

Карты AMD Radeon в целом менее капризны к виртуализации, но у них есть известная особенность — проблема сброса (reset bug) на некоторых поколениях: после выключения ВМ карта не всегда корректно возвращается в исходное состояние, и повторный запуск требует перезагрузки хоста. Проявление зависит от конкретной модели и версии ESXi, поэтому перед покупкой карты под passthrough стоит поискать отчёты владельцев именно этой модели.

У NVIDIA ситуация обратная: серверные и профессиональные линейки работают без ограничений, а потребительские GeForce требуют маскировки гипервизора. Ключевой параметр для GeForce — hypervisor.cpuid.v0 = FALSE: без него драйвер прекращает работу с кодом 43 сразу после установки.

⚠️ Внимание: не пробрасывайте видеокарту, на которой ESXi выводит свою консоль, если у хоста нет второго адаптера или встроенной графики. Сначала переключите загрузочный видеовывод на встроенную графику в BIOS, и только потом включайте passthrough для дискретной карты.

Проверка работоспособности и производительность

После установки драйверов убедитесь, что карта определилась корректно: в Windows откройте диспетчер устройств и диспетчер задач — на вкладке «Производительность» должен отображаться отдельный GPU. Для нагрузочной проверки подойдут штатные бенчмарки вроде FurMark или реальная рабочая задача.

Производительность проброшенной карты при корректной настройке близка к «голому железу», поскольку ВМ обращается к устройству напрямую через DirectPath I/O. Заметные потери обычно указывают на проблему: нехватку выделенных vCPU, конкуренцию за память или работу через удалённый рабочий стол вместо прямого вывода на монитор.

Если карта периодически пропадает из системы под нагрузкой, проверьте в первую очередь блок питания и дополнительные кабели питания GPU — в серверных корпусах разъёмы PCIe питания не всегда присутствуют изначально, и переходники могут давать просадки.

Часто задаваемые вопросы

Можно ли пробросить встроенную графику процессора в ESXi?

Теоретически passthrough для iGPU возможен на части платформ, но на практике встроенная графика часто используется самим гипервизором для консоли, а её проброс сопряжён с дополнительными ограничениями. Надёжнее использовать отдельную дискретную карту, а iGPU оставить хосту.

Можно ли разделить одну видеокарту между несколькими ВМ?

Классический passthrough отдаёт карту целиком одной ВМ. Разделение GPU между машинами — это другая технология: NVIDIA vGPU (требует поддерживаемых серверных карт и лицензий) либо функция vSGA/vSphere Bitfusion в зависимости от задачи. На потребительских картах совместное использование штатно не поддерживается.

Почему ВМ перестала запускаться после обновления ESXi?

Обновления гипервизора иногда сбрасывают настройки passthrough или меняют поведение PCI-устройств. Проверьте, что в разделе PCI-устройств статус карты снова «Активно», а пользовательские параметры конфигурации ВМ сохранились. Перед обновлением хоста полезно экспортировать конфигурацию ВМ.

Нужен ли монитор, подключённый к проброшенной карте?

Для установки ОС и первичной настройки — желателен: веб-консоль ESXi не показывает вывод проброшенного GPU. Дальше можно использовать заглушку HDMI/DP или программный виртуальный дисплей вместе с RDP, Parsec или Moonlight.

Работает ли проброс видеокарты в бесплатной версии ESXi?

Да, DirectPath I/O доступен и в бесплатной редакции гипервизора — ограничения бесплатной лицензии касаются других функций (vCenter, vMotion, API для резервного копирования). Для одиночного хоста с одной проброшенной картой бесплатной версии достаточно.