Kvm создание виртуальной машины windows

Установка Windows на KVM для опытных системных администраторов не составит труда. Тем не менее, в процессе развертывания ОС и создания под неё виртуальной машины могут встретиться ряд нетривиальных проблем, связанных с особенностями KVM. О них я и расскажу.


Если вам интересна тематика Debian и связанных с ним приложений, рекомендую обратиться к тегу Debian на моем блоге


Содержание

  • 1 Установка Windows на KVM
    • 1.1 Конфигурация виртуальной машины
    • 1.2 Установка Windows
    • 1.3 Настройка Windows

К настоящему моменту у меня уже есть сервер с KVM. На нем также сконфигурирована сеть и хранилище гостевых дисков. Все это я подробно расписал в своей предыдущей статье Установка гипервизора KVM.

Для создания виртуальной машины я буду использовать утилиту virt-install.

Конфигурация виртуальной машины

Есть ряд базовых параметров, без указания которых создание виртуальной машины с помощью virt-install невозможно – это имя ВМ, объем оперативной памяти, настройки диска и параметры установки. Тем не менее, для наглядности я укажу и другие опции, которые так или иначе используются не реже обязательных.

Команда для создания виртуальной машины:

virtinstall \

name 2012r2test01 \

ram=2048 \

vcpus=2 \

ostype=windows \

disk pool=guest_images,size=30,bus=virtio,format=qcow2 \

cdrom /home/bq/iso/2012r2.iso \

network bridge=kvmbr0,model=virtio \

graphics vnc,listen=0.0.0.0,password=Qwerty1234 \

boot cdrom,hd,menu=on

Некоторые пояснения:

  • -os-type windows – Устанавливает более подходящие аппаратные настройки для конкретной ветки ОС;
  • –disk pool=guest_images – Создает виртуальные диски в данном хранилище;
  • –graphics vnc,listen=0.0.0.0 – Устанавливаем тип графики. Адрес прослушки необходим, чтобы к vnc могли подключаться удаленные админы. По дефолту разрешены только локальные подключения.

Назначение остальных параметров очевидно.

Примечание: забегая вперед скажу, что во время установки нужно будет подсунуть дополнительный iso-диск с PV-драйверами. Возможно у вас возникнет искушение сразу в команде создания ВМ прописать два загрузочных диска CDROM. Должен предостеречь от этого. Дело в том, что одновременно два загрузочных диска не поддерживается и, более того, система по умолчанию будет грузиться с указанного последним диска. Если этот диск не загрузочный, то вы увидите ошибку Could not read from CDROM (code 0004) и вероятнее всего будете думать а что же не так с моим виндовым исошником, но по факту система даже не дойдет до того, чтобы начать с него грузиться.

Если в процессе создания виртуальной машины вы получили ошибку:

ERROR internal error: /usr/lib/qemu/qemu-bridge-helper —use-vnet —br=kvmbr0 —fd=24: failed to communicate with bridge helper: Transport endpoint is not connected

stderr=failed to parse default acl file `/etc/qemu/bridge.conf’

То нужно сделать как указано в статье Features/HelperNetworking, а именно (под пользователем root, разумеется):

  • создаем каталог, если он отсутствует:
  • создаем конфиг и сразу добавляем в него нужную запись (kvmbr0 – имя моста):

echo «allow kvmbr0» > /etc/qemu/bridge.conf

  • в дополнение к сделанному выставляем права 1:

chown root:kvm /usr/lib/qemu/qemubridgehelper && chmod 4750 /usr/lib/qemu/qemubridgehelper

Перезапускаем команду создания ВМ. Если все ОК, пришло время развернуть гостевую ОС.

Установка Windows

Подключаемся по VNC к только что созданной машине. Порт по умолчанию – 5900.

virsh vncdisplay 2012r2test01

Примечание: если к настоящему моменту виртуальных машин уже несколько и все используют VNC, то нужно определить порт подлючения. Для этого выполните команду

virsh vncdisplay 2012r2test01

Результат будет например вот такой – :1 – к нему нужно приплюсовать 5900 и, таким образом, корректный порт будет 5901.

Как только дойдете до этапа разметки дисков, доступных устройств для установки ОС вы не увидите, вместо этого будет предупреждение:

Нужно подсунуть драйверы VirtIO (исошник я взял отсюда 2), выполнив команду:

virsh attachdisk 2012r2test01 /home/bq/iso/virtiowin0.1.141.iso hda type cdrom

Далее возвращайтесь в окно установки ОС и найдите драйверы хранилища на только что смонтированном диске. Как драйверы будут найдены и система их определит, в списке дисков появятся нужные вам устройства. Но! Нужно не забыть вернуть диск с исошником ОС обратно в дисковод (иначе будет светиться предупреждение о невозможности установки ОС на HDD), для этого выполните команду:

virsh attachdisk 2012r2test01 /home/bq/iso/2012r2.iso hda type cdrom

Весь процесс более подробно вы можете увидеть ниже:

Дожидайтесь копирования файлов и установки системы. После этого нужно будет произвести небольшую настройку.

Настройка Windows

После установки ОС в системе останется часть не определенных устройств (например сетевой адаптер). Установить для них драйверы придется вручную через диспетчер устройств Windows как показано на записи ниже:

После установки всех драйверов система готова к работе.

Время на прочтение
6 мин

Количество просмотров 155K

Хотим мы того или нет, но программы, для которых необходима Windows, никуда из офисов не исчезли. В ситуации, когда их использование безальтернативно, лучше иметь виртуальную ОС, например для того, чтобы подключиться к аудио-конференции через Skype for Business.

В этой статье я расскажу, как можно с минимальными издержками установить гостевую ОС Windows на гипервизоре QEMU с помощью графического интерфейса virt-manager. Мы нанесем на карту все подводные камни и рифы, а жучков аккуратно посадим в банку.

Подготовка

Самый первый шаг — настройка параметров ядра. Обязательна поддержка KVM и vhost-net, желательна поддержка туннельных интерфейсов[1] и сетевого моста[2]. Полный список на Gentoo вики-странице QEMU.

Подготовьте дисковое пространство. Я выделил 70 GiB, и Windows 8.1 за пару месяцев использовала почти 50 GiB так, что для обновления до 10-й версии места на диске не хватило.

Далее, нам понадобится набор редхатовских драйверов virtio-win. Если у вас установлен RedHat, достаточно запустить

[root@server ~]# yum install virtio-win

и образ iso будет записан в каталог /usr/share/virtio-win/. Также можно его скачать с репозитариев Fedora.
Убедитесь, что поддержка аппаратной виртуализация включена в BIOS/UEFI. Без этого KVM не будет активирован, а virt-manager выдаст вот такую ошибку.

В качестве проверки можно прочитать файл устройства.

(2:506)$ ll /dev/kvm
crw-rw----+ 1 root kvm 10, 232 ноя 9 02:29 /dev/kvm

Если файл не обнаружен, а опции ядра выставлены верно, значит дело в настройках BIOS/UEFI.
Устанавливаем нужные пакеты.

(5:519)$ sudo emerge -av qemu virt-manager

Для RedHat 7 достаточно установить только virt-manager, так как QEMU устанавливается по умолчанию.

[root@server ~]# yum install virt-manager

Дебианщикам надо установить пакет qemu.

root# aptitute install qemu

Можно теперь переходить к установке.

Запуск и инсталляция

Запускаем virt-manager и создаем новую виртуальную машину из локального хранилища.

Указываем путь к установочному iso образу Windows.

Далее, на 3-м и 4-м шаге будет выбор количества CPU, объем RAM и размер дискового пространства, после чего на 5-м шаге следует выбрать дополнительные конфигурации перед настройкой.

Окно дополнительных настроек нужно для того, чтобы выполнить финт ушами. Его смысл в том, чтобы добавить виртуальный флопарь с драйверами из набора virtio-win. Это даст возможность изменить тип жесткого диска: удалить диск с шиной IDE и добавить его же, но с шиной VirtIO. Подробно, в доках RedHat.

Прописываем драйвер /usr/share/virtio-win/virtio-win.vfd и добавляем виртуальный флоппи-диск. Затем переходим на вкладку [Шина] Диск № и проделываем финт с заменой шины диска: удаляем с IDE и добавляем с VirtIO.

Чуть не забыл сказать, для чего нужен этот фокус. Специалисты утверждают, что с шиной VirtIO, производительность диска ощутимо выше.

В принципе, уже можно начинать инсталляцию, но мы забыли добавить CD-ROM с драйверами virtio-win, а они нам пригодятся, когда диспетчер устройств засверкает желтыми иконками вопросительного знака.

Ну вот теперь можно начать установку.

Ну хорошо, начали мы установку. А что, если установщик Windows попросит сменить диск? Мне из-за этого пришлось пару раз прервать и начать всю карусель заново, но с вами такого уже не случится.

(qemu) change ide1-cd0 /tmp/windows_8.1_x64_disk2.iso

Драйвера и доводка

По окончанию процесса установки диспетчер устройств недосчитается некоторых драйверов. Предположительно, это могут быть:

Ethernet Controller
PCI Simple Communication Controller
SCSI Controller

Нужно скормить им драйвера из набора virtio-win, что подключены через IDE CD-ROM в предыдущем разделе.

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

Вот весь список, а это соседняя страница RedHat доков, где установка драйверов показана подробнее.

  • Balloon, the balloon driver, affects the PCI standard RAM Controller in the System devices group.
  • vioserial, the serial driver, affects the PCI Simple Communication Controller in the System devices group.
  • NetKVM, the network driver, affects the Network adapters group. This driver is only available if a virtio NIC is configured. Configurable parameters for this driver are documented in Appendix E, NetKVM Driver Parameters.
  • viostor, the block driver, affects the Disk drives group. This driver is only available if a virtio disk is configured.

Оборудование

Тут постепенно начинается область безграничных возможностей и 101 способов сделать по-своему, поэтому я покажу, как это работает у меня, а вы можете настроить более точно под свои нужды.

У меня выбран дисплей Сервер Spice и звуковое устройство ich6. Нет, конечно, если у вас уйма времени и желание во всем разобраться до самых тонкостей — дерзайте и пробуйте альтернативные подходы, но у меня звук взлетел, вернее завибрировал, только с такими настройками. Во второй части, посвященной прогулке по граблям и отлову багов, я расскажу об этом подробнее. В закладке видео я выставил QXL, ибо с этой опцией, благодаря волшебному драйверу, мне удалось добиться нормального разрешения экрана.

Подключаться к ВМ можно разнообразно.

  1. Через графический интерфейс virt-manager
  2. Выбрать дисплей VNC-сервер и подключаться через vnc-клиента
  3. Установить Spice-клиента и подключаться через него
  4. К Windows можно подключиться через rdp, если включен терминальный сервер

У меня вариант 3, для Gentoo это программа spice-gtk

$ eix spice-gtk
[I] net-misc/spice-gtk
     Доступные версии:      0.31 ~0.32-r1 ~0.32-r2 **9999 {dbus gstaudio gstreamer gstvideo gtk3 +introspection libressl lz4 mjpeg policykit pulseaudio python sasl smartcard static-libs usbredir vala webdav PYTHON_SINGLE_TARGET="python2_7 python3_4" PYTHON_TARGETS="python2_7 python3_4"}
     Установленные версии:  0.31(16:05:41 18.06.2016)(gtk3 introspection pulseaudio python usbredir -dbus -gstreamer -libressl -lz4 -policykit -sasl -smartcard -static-libs -vala -webdav PYTHON_SINGLE_TARGET="python2_7 -python3_4" PYTHON_TARGETS="python2_7 python3_4")
     Домашняя страница:     http://spice-space.org https://cgit.freedesktop.org/spice/spice-gtk/
     Описание:              Set of GObject and Gtk objects for connecting to Spice servers and a client GUI

Сеть

Сеть для ВМ можно настроить по-разному, на Хабре умельцы уже об этом писали. Я перепробовал несколько способов, и в конце простота опять взяла вверх. Сама ВМ запускается из под рута[3], но графический интерфейс spice-gtk — из под обычного непривилегированного пользователя. Это позволяет решить дилемму: для сетевых опций нужны права рута, а для звукового демона pulseaudio, рут запрещен. Я пробовал навешать все права на обычного пользователя, но ничего не получалось, то pulse не пульсирует, то сеть не создается, там много а тут мало. В итоге решил так и доволен. Буду рад, если в комментариях будет найден лучший способ.

Такой простой выбор сетевых опций дает результат превосходящий ожидания. Создаются 3 дополнительных сетевых интерфейса: virbr0, virbr0-nic, vnet0.

$ ip addr
...
4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:cc:2a:1e brd ff:ff:ff:ff:ff:ff
    inet 192.168.102.1/24 brd 192.168.102.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:cc:2a:1e brd ff:ff:ff:ff:ff:ff
11: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:fb:50:45 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fefb:5045/64 scope link 
       valid_lft forever preferred_lft forever

В iptables создается свод правил, вот основные:

$ sudo iptables -L
...
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             192.168.102.0/24     ctstate RELATED,ESTABLISHED
ACCEPT     all  --  192.168.102.0/24     anywhere 

Windows ВМ:

C:\Users\user>ipconfig

Windows IP Configuration
Ethernet adapter Ethernet 2:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::90c3:a458:6645:7b9a%7
   IPv4 Address. . . . . . . . . . . : 192.168.102.203
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.102.1

Tunnel adapter isatap.{BD8F0DA4-92A8-42BD-A557-23AC89AED941}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Tunnel adapter IPHTTPSInterface:

   Connection-specific DNS Suffix  . :
   IPv6 Address. . . . . . . . . . . : 2620:0:a13:8a7:51af:79ae:92b8:828a
   Temporary IPv6 Address. . . . . . : 2620:0:a13:8a7:b49d:81fe:e509:16e7
   Link-local IPv6 Address . . . . . : fe80::51af:79ae:92b8:828a%15
   Default Gateway . . . . . . . . . :

Повторяю, все это libvirtd создает сам, ничего для этого делать не надо. В результате имеем нормальный роутинг между хостом и ВМ, можно обмениваться файлами по ssh / scp. Можно пойти дальше и создать шару на Windows, а на Linux хосте настроить samba, но мне это показалось избыточным.

В завершение

Трудно рассказать в одной статье обо всех аспектах Windows + QEMU/KVM, поэтому завершим в следующей. А там будет самый смак, командный интерфейс, разрешение экрана максимум 1024×768, Сцилла pulseaudio и Харибда сети, команда virsh и настройка ВМ из конфиг файла, фейл с tpm, двоичный синтаксис устройств и прочие тихие радости.


  1. ↑TUN/TAP interfaces
  2. ↑Ethernet bridging
  3. ↑От английского root

Running a Windows virtual machine alongside Linux has its benefits. With a Windows virtual machine set up, you don’t have to wrap your head around compatibility layers or look for open-source alternatives to your favorite Windows apps. Additionally, if you’re a developer, it becomes easy to test your software on multiple operating systems.

Kernel-based Virtual Machine, or KVM is your best bet when it comes to setting up a Windows virtual machine on Linux. But how do you go about creating a new KVM and installing Windows on it?

1. Install and Configure the Necessary KVM Software

As a first step, you need to check if your CPU supports virtualization and whether it’s enabled on your system. To do so, run:

 grep -Ec '(vmx|svm)' /proc/cpuinfo 
check virtualization support on linux

Output greater than 0 denotes that virtualization is enabled and you can proceed. If otherwise, restart your PC, go to the BIOS options, and enable virtualization support.

If this is your first time working with KVM, you must understand Kernel-based Virtual Machines and how they work.

Once virtualization is set up, install the required KVM packages from your distro’s repositories. The installation command will vary depending on the distro you’re using.

On Debian and Ubuntu-based distributions, run:

 sudo apt install qemu-kvm libvirt-daemon bridge-utils virt-manager 

On Arch Linux and its derivatives:

 sudo pacman -S qemu-kvm libvirt bridge-utils virt-manager 

Install KVM packages on Fedora and RHEL with:

 sudo dnf install @virtualization 

Next, enable and start the libvirt daemon by running:

 sudo systemctl enable libvirtd
sudo systemctl start libvirtd

Check whether libvirtd is running properly with:

 sudo systemctl status libvirtd 

If the output returns «active» in green, you can safely proceed. If it displays «inactive» in red, run the above commands again.

Finally, add your user to the libvirt and kvm groups with:

 sudo usermod -aG libvirt $(whoami)
sudo usermod -aG kvm $(whoami)

2. Download the Windows 10 ISO

With virtualization configuration out of the way, you’re now ready to create a virtual machine. But first, download the Windows 10 ISO file that you’ll use to boot the VM.

Head over to the Windows 10 downloads page and scroll down to select Windows 10 (multi-edition ISO) from the Select edition dropdown menu. Then, click Confirm.

download windows 10 iso file

Select the appropriate language and hit Continue. You’ll now have two options to download the 64- and 32-bit editions of Windows 10. Click on the one you wish to install.

Download: Windows 10 (Free)

3. Create a New KVM Using virt-manager

Launch Virtual Machine Manager by typing virt-manager in the command line or from the applications menu. Click the Create a new virtual machine option (the desktop icon with a play button in the middle) to continue.

create a new kvm virtual machine

Continue with the default selection—Local install media—and click Forward.

local media install kvm linux

Click Browse > Browse Local and select the downloaded Windows 10 ISO file from your storage. Click Open to select the ISO image. Virtual Machine Manager will automatically detect the OS. Click Forward to proceed.

select windows iso file in virt-manager

Specify the amount of memory and CPU cores you want to allocate to the virtual machine. For starters, half of your computer’s actual memory will be more than enough. Regarding CPU cores, select anything ranging from one-third to half of the available cores. Once done, hit Forward.

configure memory and cpus for kvm

On the following window, make sure Enable storage for this virtual machine is checked off. Then, specify the size of the disk image (50GB will suffice) and click Forward.

allocate storage space for windows kvm

Type in the virtual machine’s name and click Finish once you’ve reviewed the VM specifications.

review the specifications of the windows kvm

Virtual Machine Manager will now create the machine and boot it up right after.

4. Install Windows 10 on the KVM

A new Virtual Machine Manager window will pop up, within which you can see your Windows machine booting. The screen will turn blue and you’ll see the Windows Setup box appear.

Select the Language to install, Time and currency format, and Keyboard or input method from the list of available options. Once done, hit Next > Install Now.

windows installation in kvm

The setup process will now start and you’ll be asked to enter a product key. Type in the product key if you have one. Otherwise, select I don’t have a product key.

enter windows product key

There are different versions of Windows 10 you can install. Choose the one you’d like to install and click Next. On the following screen, check off the box next to I accept the license terms and click Next.

select windows edition

Select Custom: Install Windows only (advanced) since the virtual machine doesn’t have Windows installed on it already.

upgrade or custom install windows in a kvm

On the next screen, partition the drive using the New, Delete, and Format options if you’d like to have multiple drives. For those who like to set up a single partition, click Next.

Windows will now start installing on the virtual machine. You’ll go through these steps: Copying Windows files, Getting files ready for installation, Installing features, Installing updates, and Finishing up.

windows installing inside a kvm

The virtual machine might restart several times during installation, so don’t fret and let Windows Setup do its work.

After Windows has finished installing, you’ll see the Cortana Welcome screen. Click the little microphone icon at the bottom left to turn off Cortana. Next, select your geographical location and click Yes.

selecting geographical region windows install

Choose a keyboard layout and click Yes. If you want to add a second layout, select Add layout. Otherwise, click Skip. You might have to wait for several minutes after this step.

Next, add your Microsoft account to continue. If, as a Linux user, you don’t prefer sharing your email information, use a dummy email address and password for now. Windows will throw an incorrect password error. Then, click Next to skip adding the correct email address

adding microsoft account windows installation

On the following screen, enter your name and password. Next, select and answer three security questions to continue.

set up user name and password

The Choose privacy settings for your device screen will appear. Disable all the options if you don’t like to share usage data with Microsoft. Then, click Accept.

allow data usage statistics

Skip the Let’s customize your experience screen and select Not now when it asks you to share personal information with Cortana. Following that, Windows will customize a few other things for you before booting you to the desktop.

windows running inside a kvm

If you don’t fancy KVM, why not go for other hypervisors like VirtualBox or VMware to install Windows?

You Aren’t Limited to Just KVM on Linux

That’s how easy it was to install Windows 10 using a KVM on Linux. But don’t stop here. Try all sorts of Linux distros and other open-source operating systems by installing them in virtual machines.

You’re not limited to using Kernel-based Virtual Machine on Linux. If you want, you can even go for other hypervisors like VirtualBox or VMware to install Windows on your Linux machine.

В данной статье мы подробно рассмотрим как правильно настроить систему виртуализации KVM/libvirt в Fedora и установим в качестве гостевой ОС Microsoft Windows 10.

Введение

Многие пользователи для запуска виртуальных машин до сих пор предпочитают использовать VirtualBox, поэтому в данной статье мы решили рассмотреть альтернативу, имеющую ряд серьёзных преимуществ:

  • нет необходимости в установке out-of-tree модулей ядра, т.к. они уже входят в его состав;
  • корректная работа на конфигурациях с активной технологией UEFI Secure Boot;
  • более быстрая работа гипервизора за счёт отсутствия необходимости переключения между режимами ядра и пользователя.

Первым делом установим ряд необходимых пакетов:

sudo dnf install libvirt qemu-kvm virt-manager

По окончании активируем автоматическую загрузку сервиса libvirtd при помощи systemd:

sudo systemctl enable --now libvirtd.service

Внимание! Сразу после этого действия может отключиться текущее сетевое соединение из-за изменения в конфигурации адаптеров и появления новых виртуальных. Это нормальное явление. Именно по этой причине не следует пытаться установить KVM через SSH подключение.

Перезагрузим систему:

sudo systemctl reboot

Выбор режима работы KVM

KVM поддерживает работу в двух режимах:

  • системный сеанс — qemu:///system — виртуальные машины будут запускаться с повышенными правами от имени пользователя libvirt с полноценной поддержкой сети и общими для всех пулами данных;
  • пользовательский сеанс — qemu:///session — виртуальные машины будут запускаться с правами текущего пользователя с индивидуальным пулом и поддержкой сети при помощи qemu-bridge.

Более полное сравнение можно найти здесь (на английском языке).

Системный сеанс считается enterprise-ready решением, а пользовательский наиболее безопасным.

Настройка системного сеанса KVM

Настройка прав доступа

Для работы с виртуальными машинами внутри системного сеанса необходимо состоять в особой группе libvirt, поэтому добавим нашу основную учётную запись в неё:

sudo usermod -a -G libvirt $(whoami)

Создание подключения к пулу

Запустим Менеджер виртуальных машин (virt-manager) из меню используемой графической среды.

Главное окно Virt Manager

Главное окно Virt Manager

Если в списке отсутствует пункт QEMU/KVM, добавим его, вызвав диалог создания нового подключения через меню ФайлДобавить соединение.

Создание подключения

Создание подключения

В поле Гипервизор выберем пункт QEMU/KVM, затем установим флажок в чекбокс Подключаться автоматически и нажмём Подключиться. Новый пункт появится в списке как показано на скриншоте выше.

Создание каталогов для образов

По умолчанию предлагается использовать каталог /var/lib/libvirt/images для хранения дисковых образов виртуальных машин, однако место внутри корневого раздела у большинства ограничено, поэтому мы создадим новое на отдельном разделе диска.

Внимание! Для системного сеанса не следует указывать в качестве хранилища каталоги, расположенные внутри /home, т.к. SELinux настроен на полную блокировку доступа к домашним каталогам пользователей для любых системных сервисов и по этой причине гипервизор не сможет работать с ними.

В главном окне менеджера выделим пункт QEMU/KVM, затем в меню Правка выберем пункт Свойства подключения и переключимся на вкладку Пространство данных.

Стандартные настройки хранения образов

Стандартные настройки хранения образов

Создадим новый раздел диска, отформатируем его в любую поддерживающую Unix-права доступа файловую систему (рекомендуется ext4 или xfs), пропишем в /etc/fstab и смонтируем например в качестве /media/virt.

Перейдём в созданный раздел и создадим два каталога: images для дисковых образов виртуальных машин и iso для ISO образов, из которых будет производиться установка операционных систем:

sudo mkdir /media/virt/{images,iso}
sudo chown $(whoami):libvirt /media/virt/{images,iso}

В левой панели окна менеджера пространств данных нажмём кнопку Добавить пул (с символом плюс).

Добавление нового пула

Добавление нового пула

В поле Название для пула с дисковыми образами укажем images, Типкаталог в файловой системе, а Target Path — каталог на диске (в нашем случае — созданный ранее /media/virt/images). Нажмём Готово и пул появится в списке. Подтвердим сохранение изменений.

Повторим то же самое, но для ISO образов:

  • название — iso;
  • target path — /media/virt/iso.

Настроенные пулы хранения данных и образов

Настроенные пулы хранения данных и образов

Если всё сделано верно, в левой панели появятся два новых пула — images и iso. Выберем каждый и убедимся, что в чекбоксе Автозапуск при загрузке установлен флажок. Если это не так, исправим и нажмём Применить.

Пул с именем default теперь допускается удалить, хотя это и не обязательно. Для этого выберем его, нажмём кнопку Остановить пул, а затем Удалить пул и подтвердим намерение.

На этом базовая настройка завершена и можно приступать к установке гостевых операционных систем.

Настройка пользовательского сеанса KVM

Создание подключения к сеансу

Запустим Менеджер виртуальных машин (virt-manager) из меню используемой графической среды.

Главное окно Virt Manager

Главное окно Virt Manager

В главном окне менеджера виртуальных машин, нажмём правой кнопкой мыши по QEMU/KVM, затем в контекстном меню выберем вариант Отключиться и Удалить. Подтвердим удаление.

В меню Файл выберем Добавить соединение.

Создание пользовательского сеанса KVM

Создание пользовательского сеанса KVM

В поле Гипервизор выберем пункт QEMU/KVM сеанс пользователя, затем установим флажок в чекбокс Подключаться автоматически и нажмём Подключиться. Новый пункт появится в списке.

Создание каталогов для образов

По умолчанию предлагается использовать каталог ~/.local/share/libvirt/images для хранения дисковых образов виртуальных машин, однако для удобства мы создадим новые.

Это опциональное действие. Можно использовать пул default для любых целей.

В главном окне менеджера выделим пункт QEMU/KVM сеанс пользователя, затем в меню Правка выберем пункт Свойства подключения и переключимся на вкладку Пространство данных.

Настройки пула пользовательского сеанса

Настройки пула пользовательского сеанса

Создадим два каталога: images для дисковых образов виртуальных машин и iso для ISO образов, из которых будет производиться установка операционных систем:

mkdir -p ~/virt/{images,iso}

В левой панели окна менеджера пространств данных нажмём кнопку Добавить пул (с символом плюс).

Добавление пользовательского пула

Добавление пользовательского пула

В поле Название для пула с дисковыми образами укажем images, Типкаталог в файловой системе, а Target Path — каталог на диске (в нашем случае — созданный ранее ~/virt/images). Нажмём Готово и пул появится в списке. Подтвердим сохранение изменений.

Повторим то же самое, но для ISO образов:

  • название — iso;
  • target path — ~/virt/iso.

Настроенные пулы пользовательского сеанса

Настроенные пулы пользовательского сеанса

Если всё сделано верно, в левой панели появятся два новых пула — images и iso. Выберем каждый и убедимся, что в чекбоксе Автозапуск при загрузке установлен флажок. Если это не так, исправим и нажмём Применить.

Пул с именем default теперь допускается удалить, хотя это и не обязательно. Для этого выберем его, нажмём кнопку Остановить пул, а затем Удалить пул и подтвердим намерение.

Настройка сети в пользовательском сеансе

Создадим сетевой мост для виртуальных машин:

sudo nmcli con add type bridge autoconnect yes ifname virbr0 ipv4.method shared ipv4.address 192.168.122.1/24

Добавим основное проводное соединение в качестве ведущего для моста:

sudo nmcli con add type bridge-slave autoconnect yes ifname enp3s0 master virbr0

Здесь вместо enp3s0 укажем физический интерфейс проводного соединения (может быть получен из вывода nmcli device status).

Разрешим использование моста в qemu-bridge-helper:

echo allow virbr0 | sudo tee -a /etc/qemu/bridge.conf

Добавим правила для файрвола:

sudo firewall-cmd --zone libvirt --add-interface virbr0 --permanent
sudo firewall-cmd --zone libvirt --add-service dhcp --permanent
sudo firewall-cmd --zone libvirt --add-service dhcpv6 --permanent
sudo firewall-cmd --zone libvirt --add-service dns --permanent
sudo firewall-cmd --reload

На этом настройка пользовательского сеанса завершена и можно приступать к установке гостевых операционных систем.

Подготовка к установке

Для установки нам потребуются:

  1. официальный ISO образ операционной системы Windows 10, который можно скачать с официального сайта Microsoft (30-дневная пробная версия);
  2. ISO образ с набором драйверов Virtio для гостевых операционных систем;
  3. образ дискеты с драйверами Virtio для ранней стадии установки.

Скачаем указанные образы, скопируем их в каталог /media/virt/iso (системный сеанс), либо ~/virt/iso (пользовательский сеанс).

Создание гостевой ОС Windows 10

На главной панели инструментов нажмём кнопку Создать виртуальную машину или выберем одноимённый пункт из меню Файл.

В появившемся окне мастера на первом шаге выберем пункт Локальный ISO или cdrom.

Мастер создания виртуальной машины

Мастер создания виртуальной машины

На втором шаге мастера нажмём кнопку Обзор, выберем из списка загруженный ранее ISO образ и нажмём Выбор тома.

Оставляем флажок в чекбоксе Automatically detect from installation media/source, чтобы Virt Manager самостоятельно подобрал оптимальные параметры для виртуальной машины и жмём Вперёд.

Установка гостевой ОС из ISO образа

Установка гостевой ОС из ISO образа

Указываем выделяемый виртуальной машине объём оперативной памяти и количество ядер процессора.

Выбор ресурсов CPU и GPU

Выбор ресурсов CPU и GPU

Теперь создадим локальный дисковый образ для гостевой ОС.

Выбор пространства данных для VM

Выбор пространства данных для VM

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

Создание нового тома внутри пула

Создание нового тома внутри пула

В левой панели переключимся на пул images, затем нажмём кнопку Создать том.

Создание нового тома

Создание нового тома

Создадим новый том для гостевой ОС:

  • название — любое, но без пробелов и русских букв;
  • формат — qcow2;
  • максимальный размер — не менее 40 ГБ.

Выбор созданного тома хранения данных

Выбор созданного тома хранения данных

Выберем созданный том в списке и нажмём кнопку Выбор тома.

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

Финальный шаг мастера создания VM

Финальный шаг мастера создания VM

Обязательно установим флажок в Проверить конфигурацию перед установкой и нажмём Готово.

Настройка гостевой ОС Windows 10

Мы не будем подробно описывать все параметры конфигурации гостевой ОС, а лишь остановимся лишь на самых важных, от правильной установки которых зависит успех всей нашей задачи.

Переключимся на страницу SATA диск 1, выберем пункт Дополнительные параметры и изменим шину диска с SATA на VirtIO.

Тонкие настройки виртуального накопителя

Тонкие настройки виртуального накопителя

Здесь же допускается явно задать серийный номер накопителя, который будет передан гостевой ОС (если не указано, то генерируется автоматически), а также включить поддержку процедуры TRIM в случае если хранилище было создано на SSD накопителе.

Нажмём кнопку Добавить оборудование, выберем тип Хранилище.

Подключение дискеты с драйверами

Подключение дискеты с драйверами

Изменим Тип устройства на Устройство чтения дискет, затем установим точку в Выбрать или создать дополнительное пространство данных и нажмём кнопку Настроить.

Выбор файла образа дискеты с драйверами

Выбор файла образа дискеты с драйверами

В появившемся окне переключимся на пул iso, выберем образ дискеты, нажмём Выбор тома, а затем Готово.

Переключимся на страницу Видео и в поле Модель убедимся, что установлено значение QXL. Если это не так, внесём правки.

Все остальные параметры оставим по умолчанию и нажмём кнопку Начать установку.

Установка гостевой Windows 10

Запускаем стандартную установку данной ОС, выбираем редакцию, вводим или пропускаем (для получения 30 дневной пробной версии) серийный номер, принимаем лицензионное соглашение с конечным пользователем, затем Выборочная установка ибо нам требуется создать разделы на диске и установить драйвер VirtIO для ранней стадии загрузки системы.

Когда появится сообщение об ошибке о том, что не удалось загрузить драйверы, нажмём кнопку Загрузить, а затем в появишемся окне разрешим автоматический поиск при помощи нажатия OK.

Ошибка, связанная с отсутствием драйвера VirtIO

Ошибка, связанная с отсутствием драйвера VirtIO

Укажем версию драйвера Red Hat VirtIO SCSI controller для Windows 10 и нажмём Далее.

Ручная установка драйвера VirtIO

Ручная установка драйвера VirtIO

С этого момента программа установки наконец обнаружит наш виртуальный накопитель и предложит создать разделы, а затем установить на него операционную систему.

Далее весь процесс установки вполне стандартный и описывать его мы не будем.

Установка драйверов Virtio гостевой ОС

По окончании установки сразу завершаем работу виртуальной машины (ПускВыключение), нажимаем кнопку Показать виртуальное оборудование на панели инструментов, переходим на страницу SATA CDROM 1, жмём Browse и внутри пула iso выбираем ISO-образ с гостевыми драйверами Virtio.

Подключение образа гостевых драйверов

Подключение образа гостевых драйверов

Применим изменения, а затем перейдём на страницу Дисковод 1, нажмём кнопку Удалить и Применить, т.к. он более нам не требуется.

Удаление образа FDD с драйверами

Удаление образа FDD с драйверами

На панели инструментов нажмём кнопку Показать графическую консоль, а затем Включить виртуальную машину.

Откроем Проводник Windows, перейдём на виртуальный CD диск D: и запустим программу установки virtio-win-gt-x64.exe.

Запуск установки гостевых дополнений Virtio

Запуск установки гостевых дополнений Virtio

Выберем рекомендуемые Red Hat компоненты.

Выбор компонентов пакета драйверов Virtio

Выбор компонентов пакета драйверов Virtio

Разрешим установку драйверов с цифровой подписью Red Hat, нажав Установить.

Подтверждение установки драйверов Virtio

Подтверждение установки драйверов Virtio

Установка гостевых дополнений SPICE

Для того, чтобы в гостевой ОС появилась полная поддержка обмена данными с буфером обмена хостовой ОС, динамическое изменение разрешения виртуального дисплея и т.д., установим внутри гостя пакет SPICE Guest Tools по прямой ссылке.

Запустим скачанный файл и выполним установку всех предложенных по умолчанию компонентов, включая дополнительные драйверы виртуального дисплея QXL. Перезагрузим виртуальную машину для вступления изменений в силу.

Установка окончена.

Cover image for Install windows 11 virtual machine on KVM, libvirt, qemu, virt-manager in Linux, fedora 36/37, RPM based distribution

The following tutorial will tech you how to create a virtual machine on Linux, first we are going to install the virtual machine tools.

Install and configure the virtual machine tools

Install the virtual machine tools grouped in @virtualization, some packages are: virt-manager, libvirt, qemu-kvm, etc. Source, full virtualization on fedora workstation linux.

sudo dnf install @virtualization

Enter fullscreen mode

Exit fullscreen mode

Edit the libvirtd configuration to enable a regular user the system administration privileges.

sudo vim /etc/libvirt/libvirtd.conf

Enter fullscreen mode

Exit fullscreen mode

Set the domain socket group ownership to libvirt.

unix_sock_group = "libvirt"

Enter fullscreen mode

Exit fullscreen mode

Adjust the UNIX socket permissions for the R/W socket.

unix_sock_rw_perms = "0770"

Enter fullscreen mode

Exit fullscreen mode

Start and enable the libvirtd service.

sudo systemctl start libvirtd
sudo systemctl enable libvirtd

Enter fullscreen mode

Exit fullscreen mode

Add your user to the libvirt group.

sudo usermod -aG libvirt $(whoami)

Enter fullscreen mode

Exit fullscreen mode

Install the secure boot tool package

It is needed when you are configuring the virtual machine, windows 11 need it. To install run the following command.

sudo dnf install edk2-ovmf

Enter fullscreen mode

Exit fullscreen mode

Source, secure boot

Install TPM

We need to install the Software Trusted Platform Module Emulator it will be used when being customizing the virtual machine configuration, close virt-manager and got to the link below, download and install swtpm-tools-0.7.3-1.20220427gitf2268ee.fc36.x86_64.rpm, select according your distribution number, will select that for fedora 36 and today its the last version.

swtpm-tools rpm fedora centos redhat

Go to the directory where you downloaded the package and install it with dnf package manager.

cd Downloads
sudo dnf install ./swtpm-tools-0.7.3-1.20220427gitf2268ee.fc36.x86_64.rpm

Enter fullscreen mode

Exit fullscreen mode

Create a Pool to store the virtual machines

Before create a virtual machine first we will create a pool. A pool is a directory and you can use a partition for example. You can create the virtual machine in the default directory, but if you are thinking format your root directory in the future and want to preserve the virtual machine , save it in a new pool is a good option.

Source, new pool using a partition.

We will use a LVM partition forvm-vmtest and You do not need to mount the partition.

  ~                                                                                                                                                                       
❯ lsblk
NAME             MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                8:0    0 447.1G  0 disk 
└─sda1             8:1    0   100G  0 part 
  └─forvm-vmtest 253:0    0   100G  0 lvm  
sdb                8:16   0   1.8T  0 disk 
├─sdb1             8:17   0   839G  0 part /run/media/chris/New Volume
├─sdb2             8:18   0  27.9G  0 part 
└─sdb3             8:19   0  93.2G  0 part 
  └─vg2-vms      253:1    0  93.2G  0 lvm  
sdc                8:32   0 223.6G  0 disk 
├─sdc1             8:33   0   100M  0 part /boot/efi
├─sdc2             8:34   0    16M  0 part 
├─sdc3             8:35   0   100G  0 part 
├─sdc4             8:36   0   123G  0 part /
└─sdc5             8:37   0   509M  0 part 
sdd                8:48   1     0B  0 disk 
sr0               11:0    1  1024M  0 rom  
zram0            252:0    0     8G  0 disk [SWAP]

Enter fullscreen mode

Exit fullscreen mode

Select the QEMU/KVM drop-dawn tab then in the menu select Edit>Connection Details.

virt-manager-1

virt-manager-2

Click in the Storage tab, click in bottom left corner the Add Pool plus symbol button.

virt-manager-3

Type and select the following data.

In Name type any name you like, in my case vmtest.

In the type select fs:Pre-Formatted Block Device.

In target path, you can create a directory in your home or any place of your directory system it will be the mount point, if it doesn’t exist yet it will be created, in my case it will be mounted in my root «/» directory with the following name. /vmtest.

in Format auto.

In the source path, select the device partition, in my case can use /dev/mapper/forvm-vmtest or /dev/forvm/vmtest.

Click in Finish.

virt-manager-4

You can enable Autostart On Boot option of the new pool vmtest created if you like.

If the State of the pool is Inactive, click in the bottom left side the play button to start the pool. Click in Apply.

virt-manager-5

Create the windows 11 virtual machine

Click in the create a new virtual machine button.

virt-manager-6

Select Local install media, click in Forward.

virt-manager-7

Select the ISO image file, click in Browse, Click in Browse Local, select your windows 11 image iso file, click Open.

virt-manager-8

virt-manager-9

Enable automatically detect from the installation media. So far windows 11 is not an option there, but windows 10 option works fine for now. Then click in Forward.

virt-manager-10

Select the memory and cpu, its depent of your host machine capacity. For memory you can use 8192MiB which is equivalent to 8GiB, for cpu 2. Click Forward.

virt-manager-11

Enable storage for the virtual machine, select Select or Create custom storage, click in manage.

virt-manager-12

Select the new pool in my case vmtest, click in the plus symbol to Create a new volume . Its important to use as capacity a minimum value of 65GiB.

As name. you can use win11, in format qcow2, as capacity 65GiB.
Click in Finish.

virt-manager-13

virt-manager-14

Select the new created volume win11.qcow2, click in Choose Volume.

virt-manager-15

Then click Forward.

virt-manager-16

Fix the name to win11 if you like. Enable customize configuration before install, click Finish.

virt-manager-17

In the new window select in firmware option:

UEFI x86_64:/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd

Click the Apply button to save the current change.

virt-manager-18

In the left side bar, click in Boot options. In Boot device order enable SATA CDROM 1 and set that as the highest boot priority using the up arrow next to it.

Click Apply.

virt-manager-19

virt-manager-20

In the left side bar in the bottom click in Add Hardware, in the new window add a virtual TPM module, click in TPM, in Type select Emulated, click in Advanced options drop-dawn, in Model select CRB, in Version select 2.0. Click Finish.

virt-manager-21

Click the Apply button if you haven’t saved the changes yet.
Then in the top left corner click in Begin Installation button.

virt-manager-22

Installing Windows 11, soon the tutorial

Go to the web

Install Guest tools in the virtual machine

Install spice-guest-tools

After install the windows 11 virtual machine, you can install spice-guest-tools to enable copy and paste, drag and drop files from host to guest, and fix screen resolution.

Power on the virtual machine and from inside the windows 11 virtual machine, go to here and download spice-guest-tools and install inside the virtual machine.

virt-manager-23

virt-manager-24

Bonus: Enable Auto resize VM with window if it isn’t enable

If the Auto resize VM with window is not enable, you can install the latest virtio-win-guest-tools. Go to this direct link and download it, run it and install inside the virtual machine.

virt-manager-25

virt-manager-26

virt-manager-27

Source getlabsdone website, install windows 11 vm on KVM

  • Konica minolta bizhub 163 драйвер windows 10
  • Ksm активатор windows 10 скачать
  • Komodo edit как установить на windows
  • Kvm скачать для windows 10
  • Konica minolta bizhub 162 драйвер windows 10