На Ubuntu 19.10 в качестве хоста я пытаюсь выполнить сквозную передачу графического процессора в Windows 10 в качестве гостя. Я успешно изолировал свой GTX 1060 и передал его внутрь виртуальной машины в virt-manager (libvirt doc) (домашняя страница) .
Когда я пытаюсь установить Windows, она сначала копирует файлы в процессе установки. Затем он перезапускает виртуальную машину, и когда Windows продолжает процесс установки, Ubuntu зависает навсегда. Я перезагрузил Ubuntu, попробовал еще раз, и то же самое происходит на том же месте.
Подробно обо всем, что я сделал для включения сквозной передачи, можно узнать здесь: Транзитная передача KVM-GPU: группа 15 нежизнеспособна. Убедитесь, что все устройства в iommu_group привязаны к их драйверу шины vfio. '
Но вкратце: я редактировал / etc / initramfs-tools / modules
и / etc / modules
], чтобы включить все 4 устройства pci в мою группу iommu 15. Однако только GTX 1060 использовалась vfio-pci
, когда я запускал lspci -nnv
после перезагрузки. Поэтому я вручную отвязал их и вставил в vfio-pci с помощью небольшого скрипта, который я написал:
echo -n "0000:07:00.1" > /sys/bus/pci/drivers/snd_hda_intel/unbind
echo -n "0000:07:00.1" > /sys/bus/pci/drivers/vfio-pci/bind
echo -n "0000:07:00.2" > /sys/bus/pci/drivers/xhci_hcd/unbind
echo -n "0000:07:00.2" > /sys/bus/pci/drivers/vfio-pci/bind
echo -n "0000:07:00.3" > /sys/bus/pci/drivers/nvidia-gpu/unbind
echo -n "0000:07:00.3" > /sys/bus/pci/drivers/vfio-pci/bind
после этого я могу успешно запустить установку моей виртуальной машины Windows 10, но она зависает во время установки. Возможно ли это связано с тем, что я сделал?
PS: Я не могу просто заблокировать драйвер noveau, потому что графический процессор хоста также от NVIDIA. Поэтому мне нужно вручную отвязать каждое устройство.
Вам почти наверняка потребуется внести в черный список драйверы устройств nouveau и nvidia и настроить сценарий запуска, который выполняет указанную выше привязку к vfio-pci, а затем явно загружает драйверы ядра nouveau / nvidia, чтобы позволить Они связывают аппаратные устройства, которые вы еще не привязывали явно к vfio-pci в своем скрипте до этого момента. После того, как драйвер на стороне хоста испортил устройство, устройство больше не работает для сквозной передачи pci в большинстве настроек.