После включения 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 теряет локальный видеовывод. Перед перезагрузкой убедитесь, что веб-интерфейс хоста доступен по сети, а сетевые настройки заданы корректно — иначе доступ к управлению будет потерян.
Добавление GPU в виртуальную машину
Когда passthrough активен, карту нужно назначить конкретной ВМ. Выключите виртуальную машину, откройте её настройки и выберите Добавить другое устройство → PCI-устройство. В списке выберите видеокарту, затем повторите операцию для её аудиофункции. Оба устройства должны быть добавлены, иначе драйвер в гостевой системе может работать некорректно.
Далее — критически важные параметры, о которых шла речь в начале статьи. В настройках ВМ на вкладке «Параметры VM → Дополнительно → Изменить конфигурацию» добавьте:
pciPassthru.use64bitMMIO = TRUE
hypervisor.cpuid.v0 = FALSE
Первый параметр выделяет 64-битное адресное пространство под ресурсы карты — без него ВМ с современным GPU часто не стартует. Второй скрывает от гостевой системы признак гипервизора, что помогает против ошибки 43 на картах GeForce. Дополнительно зарезервируйте всю память виртуальной машины: установите флажок «Зарезервировать всю память гостевой ОС» в разделе памяти.
☑️ Чек-лист перед первым запуском ВМ с GPU
Режим загрузки гостевой ОС также имеет значение. Для 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 для резервного копирования). Для одиночного хоста с одной проброшенной картой бесплатной версии достаточно.