2

Я установил Arch(Antergos), чтобы включить PCI-проход для KVM Vms, но если я запустил виртуальную машину, она упала. Я следовал этому уроку.

Мое оборудование:

  • Материнская плата: Asrock H97M Pro4
  • Процессор: Intel® Core ™ i5-4690, процессор @ 3,50 ГГц × 4
  • Графический процессор MSI GTX760 Twin Frozr
  • Ram: 16 ГБ
  • ОС: Antergos 64Bit

Прежде всего я

  • включил VT-d в UEFI
  • добавлено intel_iommu = "on" в GRUB_CMDLINE_LINUX_DEFAULT = "" в /etc /default //grub
  • обновленный grub

Мои группы IOMMU:

00:00.0 Host bridge [0600]: Intel Corporation 4th Gen Core Processor DRAM Controller [8086:0c00] (rev 06)
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06)
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06)
00:14.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB xHCI Controller [8086:8cb1]
00:16.0 Communication controller [0780]: Intel Corporation 9 Series Chipset Family ME Interface #1 [8086:8cba]
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I218-V [8086:15a1]
00:1a.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2 [8086:8cad]
00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]
00:1c.0 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 1 [8086:8c90] (rev d0)
00:1c.3 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev d0)
00:1c.4 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 5 [8086:8c98] (rev d0)
00:1d.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1 [8086:8ca6]
00:1f.0 ISA bridge [0601]: Intel Corporation 9 Series Chipset Family H97 Controller [8086:8cc6]
00:1f.2 SATA controller [0106]: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode] [8086:8c82]
00:1f.3 SMBus [0c05]: Intel Corporation 9 Series Chipset Family SMBus Controller [8086:8ca2]
02:00.0 PCI bridge [0604]: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge [1b21:1080] (rev 03)
04:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK104 [GeForce GTX 760] [10de:1187] (rev a1)
04:00.1 Audio device [0403]: NVIDIA Corporation GK104 HDMI Audio Controller [10de:0e0a] (rev a1)

Итак, мой GPU состоит из:

  • Контроллер VGA: 04: 00.0 (10de: 1187)
  • Аудио контроллер: 04: 00.1 (10de: 0e0a)

Затем я создал файл:/etc/modprobe.d/vfio.conf и написал

options vfio-pci ids=10de:1187,10de:0e0a

Затем я создал /etc/mkinitcpio.conf и добавил в MODULES = ""

vfio vfio_iommu_type1 vfio_pci vfio_virqfd

Перезагрузил мою машину и проверил, есть ли у gpu драйвер vfio

lspci -k

04:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 760] (rev a1)
    Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2847
    Kernel driver in use: vfio-pci
    Kernel modules: nouveau
04:00.1 Audio device: NVIDIA Corporation GK104 HDMI Audio Controller (rev a1)
    Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2847
    Kernel driver in use: vfio-pci
    Kernel modules: snd_hda_intel

Установлено несколько пакетов:

pacman -S qemu libvirt virt-manager
yaourt -S ovmf-git

Отредактировано /etc/libvirt/qemu.conf

nvram = [
    "/usr/share/ovmf/x64/ovmf_x64.bin:/usr/share/ovmf/x64/ovmf_vars_x64.bin"
]

запущен / включен libvirt

systemctl enable --now libvirtd
systemctl enable virtlogd.socket

Наконец я создал виртуальную машину:

  • Прошивка: UEFI
  • CPU: установлен флажок «Копировать конфигурацию процессора хоста»
  • вставлен диск Windows

Теперь все началось в виртуальной консоли, и все было хорошо! Затем я добавил свой графический процессор (устройства PCI) и запустил его снова. Теперь он разбился, и я не знаю почему! Там нет сообщений об ошибках.

Я надеюсь, что вы можете помочь мне и спасибо за попытку

1 ответ1

0

Вы не связали свой XML, но я собираюсь предположить, что вы не загружаете диск для своей видеокарты (если ваша видеокарта поддерживает UEFI).

  1. убедитесь, что ваша видеокарта поддерживает UEFI
  2. Получить видео ROM для вашей карты

Вы можете использовать https://www.techpowerup.com/vgabios/, чтобы сделать оба. Если вашей карты нет в списке или ПЗУ недоступно, вы можете просто спросить на форуме вашего производителя. Вот так я получил копию ПЗУ для моей видеокарты, чтобы решить ту же проблему, что и у вас.

Получив файл rom, используя virsh edit, попробуйте добавить следующее в вашу конфигурацию xml

   <hostdev>
     ...
     <rom file='/etc/fake/boot.bin'/>
     ...
   </hostdev>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .