16 avril 2024

Virtualisation avec Qemu

Il est possible de lancer des VM très simplement sous linux en installant un seul paquet 😉

Installation de Qemu et OVMF

Arch: sudo pacman -S qemu (optionally « qemu-arch-extra » for more architectures)
Debian/Ubuntu: sudo apt install qemu
Fedora: sudo dnf install qemu

sudo dnf install edk2-ovmf.noarch

Créer un disque virtuel

qemu-img create -f qcow2 Image.img 10G

Lancer la machine virtuelle

qemu-system-x86_64 :Définir l’architecture utilisée pour la VM
enable-kvm : Activer KVM
cdrom : Chemin vers le fichier ISO pour le cdrom
boot menu=on : Afficher un menu pour selectionner le périphérique de boot
drive file : Chemin vers le fichier image du disque dur
cpu host = Utiliser directement le CPU hôte plutôt que d’émuler un CPU
m 4G = Définir la quantité de mémoire de la vm
vga virtio -display sdl,gl=on : Optimiser la carte graphique (meilleure performance)

qemu-system-x86_64 -enable-kvm -cdrom ~/Téléchargements/linuxmint-21.3-cinnamon-64bit.iso -boot menu=on -drive file=mint.img -cpu host -m 4G -vga virtio -display sdl,gl=on

Particularités pour Windows 11

Lancer une puce TPM 2.0 virtuelle avant de lancer la vm Win11

sudo mkdir /tmp/emulated_tpm
sudo swtpm socket --tpmstate dir=/tmp/emulated_tpm --ctrl type=unixio,path=/tmp/emulated_tpm/swtpm-sock --log level=20 --tpm2

Option à ajouter au lancement de la vm

-bios /usr/share/edk2/ovmf/OVMF.xxxx.fd
--chardev socket,id=chrtpm,path=/tmp/emulated_tpm/swtpm-sock -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0

Exemple :

sudo qemu-system-x86_64 -enable-kvm -boot menu=on -drive file=win11.img -cpu host -smp 12 -m 4096 -vga virtio -display sdl,gl=on -cdrom iso/Win11_23H2_EnglishInternational_x64v2.iso  --chardev socket,id=chrtpm,path=/tmp/emulated_tpm/swtpm-sock -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0 -bios /usr/share/edk2/ovmf/OVMF.amdsev.fd