# 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" ```