Windows. Установка в kvm

2024-05-29 · 3 мин. для прочтения

Установка Windows на KVM.

Содержание

1 Пререквизиты

  • Необходимо иметь установленный libvirt (см. Виртуализация. Libvirt).
  • Можно устанавливать с помощью какого-либо графического интерфейса управления qemu, например с помощью virt-manager:
  • Gentoo:
    emerge app-emulation/virt-manager
    
  • Рекомендуется использовать драйвера Virtio для Windows.
  • Работа через устройства Virtio осуществляется быстрее, чем через эмуляцию SCSI и т.д.
  • Gentoo:
    emerge app-emulation/virtio-win
    
  • Можно просто скачать с репозитория:
  • Скачаем драйвера для qemu:
    wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso
    
  • Проще всего использовать образ iso-диска и подмонтировать его как второй cdrom.

2 Установка Windows

  • При установке следует выбрать пункт о дополнительной конфигурации перед установкой.
  • На этом этапе следует добавить второй виртуальный cdrom с драйверами virtio-win.
  • У жёсткого диска установите шину VirtIO.
  • В разделе Обзор убедитесь, что для чипсета выбрано значение Q35, а для прошивки — UEFI.
  • Для запуска Windows 11 под QEMU KVM необходимы Secureboot и TPM, в файле конфигураций это выглядит так:
    <os>
      <type arch="x86_64" machine="q35">hvm</type>
      <loader readonly="yes" type="pflash">/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader>
      <nvram template="/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd"/>
      <boot dev="hd"/>
    </os>
    
    ...
    
    <tpm model="tpm-tis">
      <backend type="emulator" version="2.0"/>
    </tpm>
    

3 Использование virt-install

  • Конфигурацию можно создать с помощью virt-install:

    virt-install \
        --connect qemu:///system \
        --disk /var/lib/libvirt/images/Win11_24H2_Russian_x64.iso,device=cdrom \
        --disk /var/lib/libvirt/images/virtio-win.iso,device=cdrom \
        --disk pool=default,size=120,bus=virtio,format=qcow2 \
        --name windows11 \
        --os-variant=win11 \
        --machine q35 \
        --ram 4096 \
        --memballoon driver.iommu=on \
        --vcpus=2 \
        --network network=default,model=virtio \
        --graphics spice \
        --channel spicevmc \
        --hvm \
        --virt-type=kvm \
        --features kvm_hidden=on,smm=on \
        --tpm backend.type=emulator,backend.version=2.0,model=tpm-tis \
        --boot uefi \
        --check path_in_use=off \
        --boot cdrom,hd,menu=on
    
    • --name windows11 : название виртуальной машины;
    • --os-type=win11 : тип ОС;
    • --cdrom /var/lib/libvirt/images/Win11_24H2_Russian_x64.iso : путь к ISO-образу установочного диска ОС;
    • --graphics spice : графическая консоль;
    • --disk pool=default,size=160,bus=virtio,format=qcow2 : хранилище;
      • образ виртуальной машины будет создана в пространстве хранения объёмом 160 ГБ, которое автоматически выделяется из пула хранилищ default;
      • образ диска для этой виртуальной машины будет создан в формате qcow2;
    • --ram 4096 : объём оперативной памяти;
    • --vcpus=2 : количество процессоров;
    • --network network=default : виртуальная сеть default;
    • --hvm : полностью виртуализированная система;
    • --virt-type=kvm : использовать модуль ядра KVM, который задействует аппаратные возможности виртуализации процессора.
  • В качестве видео-интерфейса ставим QXL.

  • После установки драйверов следует перевести в Virtio.

4 После установки

  • Поменяйте в настройках типы устройств:
    • сетевую карту на Virtio;
    • видео на Virtio.
  • Установите сертификат RedHat с CD-диска.
  • Установите драйвера Virtio.

5 Общая папка

  • Будем использовать встроенный метод создания общей папки с помощью virt-manager.
  • Нажмите на значок с надписью Показать виртуальное оборудование (Show virtual hardware details) на панели инструментов.
  • Нажмите Память (Memory) на левой панели.
    • Проверьте, что выбрана опция Включить общую память (Enable shared memory).
    • Нажмите Применить.
  • Внизу нажмите Добавить оборудование (Add hardware).
    • Выберите Файловая система (File system) на левой панели в окне добавления нового оборудования.
    • Затем выберите Driver=virtiofs на вкладке Подробности.
    • Нажмите на browse > browse local и выберите путь к хосту из вашей системы Linux.
    • В целевом пути укажите любое имя.
  • Установите в системе Windows WinFSP (FUSE для Windows).
  • Установите virtio-win-guest-tools.exe.
  • Откройте меню “Пуск” и найдите “Службы”.
    • Найдите службу Служба VirtIO-FS (VirtIO-Sevice-FS).
    • Щелкните правой кнопкой мыши и нажмите “Запустить”, чтобы запустить службу.
    • Можно запустить из командной строки:
      sc start VirtioFsSvc
      
    • Установите её на автозапуск (VirtIO-Sevice-FS > Properties > Startup type > Manual to Automatic).
  • После запуска службы откройте Проводник, и вы должны увидеть метку монтирования, которую вы создали в первом шаге выше, и которая должна быть отображена как диск Z:.

6 Буфер обмена

Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Мои научные интересы включают физику, администрирование Unix и сетей.