Проверка наличия аппаратной поддержки виртуализации, должно возвращаться значение, отличное от 0
egrep -c '(vmx|svm)' /proc/cpuinfo
Проверка, что модули KVM загружены в ядре
lsmod | grep kvm
Установка пакетов
apt install qemu-kvm qemu-utils libvirt-clients libvirt-daemon-system virtinst
Установка пакетов с GUI программами управления (если необходимо)
apt install virt-manager virt-viewer
Создание хранилища
mkdir /srv/kvm-gp
virsh pool-define-as --name guest_images --type dir --target /srv/kvm-gp
virsh pool-start guest_images
virsh pool-autostart guest_images
Вывод информации о хранилище
virsh pool-list --all
virsh pool-info guest_images
Для доступа виртуальных машин в сеть необходимо
создать и настроить мост, я его назвал kvm-br0.
Создание виртуальной машины
virt-install \
--name WinXP \
--ram=2048 \
--vcpus=2 \
--os-type=windows \
--disk pool=guest_images,size=30,bus=virtio,format=qcow2 \
--cdrom /srv/iso/win_xp.iso \
--network bridge=kvm-br0,model=virtio \
--graphics vnc,listen=0.0.0.0,password=Qwerty1234 \
--boot cdrom,hd,menu=on
Если необходимо сохранить диск виртуальной машины не в хранилище, а в файле, то после --disk опции должны быть другие
--disk path=/srv/kvm-gp/WinXP.qcow2,size=30,bus=virtio,format=qcow2
Вывод номера порта, используемого для подключения по VNC; к полученному значению прибавить 5900
virsh vncdisplay <имя виртуальной машины>
Вывод список виртуальных машин
virsh -c qemu:///system list
Запуск, мягкое выключение, принудительное выключение, приостановка, перезагрузка виртуальной машины
virsh start <имя виртуальной машины>
virsh shutdown <имя виртуальной машины>
virsh destroy <имя виртуальной машины>
virsh suspend <имя виртуальной машины>
virsh reboot <имя виртуальной машины>
Подключение ISO-образа
virsh attach-disk <имя виртуальной машины> /srv/virtio-win-0.1.164.iso hda --type cdrom
Образы дискеты и ISO с драйверами для Windows можно скачать по адресу
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/