2.2 KiB
L'infra avancée :
Exercice 1
Lancer une machine
qemu-img create -f qcow2 'C:\Program Files\qemu\testVM.qcow2' 10G
qemu-system-x86_64 -m 2048 -hda 'C:\_VMs\testVM.qcow2' -cdrom 'D:\Users\GaWin\Downloads\_Compressed\debian-13.1.0-amd64-netinst.iso' -boot d
Pour lancer une machine depuis le disque :
qemu-system-x86_64 -m 4096 -smp 4 -hda 'C:\_VMs\testVM.qcow2' -boot c
- -boot d : Boot sur le CD/ROM
- -boot c : Boot sur le Disque Dur
- m XXXX : Alloue une mémoire RAM fixe
- smp X : Alloue un nombre de coeurs virtuels fixe
Pour convertir le .qcow2 en .vdi, dans l'interface c'est plus clair.
Exercice 2
Créer une VM
Pour refaire une VM en CLI :
vboxmanage createvm --basefolder="C:\_VMs\VirtualCreationCLI" --register --name "VirtualBoxCLI"
vboxmanage storagectl "VirtualBoxCLI" --name "sata-controller" --add sata --controller IntelAHCI --portcount 1 --bootable on
vboxmanage storageattach "VirtualBoxCLI" --storagectl "sata-controller" --port 0 --device 0 --type hdd --medium ".\test_copy.vdi"
vboxmanage modifyvm "VirtualBoxCLI" --memory 4096 --cpus 4
Convertir un disque virtuel .qcow2 en CLI
https://github.com/michaelrudy/qemu-img-convert
D'abord, dans la VM d'origine, il faut préparer la transition :
sudo tee /etc/dracut.conf.d/hyperv.conf >/dev/null <<'EOF'
add_drivers+=" hv_vmbus hv_storvsc hv_netvsc hv_utils "
hostonly="no"
EOF
sudo dracut -f --kver "$(uname -r)"
ls -lh /boot/initramfs-$(uname -r).img ### pour confirmer
cat /etc/fstab
blkid
sudo shutdown -h now
qemu-img convert -f qcow2 -O vhdx -o subformat=dynamic .\test.qcow2 .\test_copy.vhdx
Bizarrement, pour que la conversion soit prise en compte par Hyper-V, il faut lancer cette commande :
fsutil sparse setflag .\test_copy.vhdx 0
Cloner une VM en CLI
Exporter pour VirtualBox
vboxmanage clonevm "VirtualBoxCLI" --basefolder ".\NewVirtualBoxCLI" --name "NewVirtualBoxCLI" --register
Exporter pour HyperV
Export-VM -Name "HyperVCLI" -Path "C:\_VMs\HyperVCLI" -CaptureLiveState CaptureSavedState
Import-VM -Name "NewHyperVCLI" -Path "C:\_VMs\HyperVCLI\{ID-de-ses-morts}.vmcx" -Copy -GenerateNewId -VirtualMachinePath "C:\_VMs\NewHyperVCLI" -VhdDestinationPath "C:\_VMs\NewHyperVCLI"