Files
live-campus-mcs-p-2027.2/Semaine_01/Jour_01.md
gauvainboiche 86507edd68 Initial commit
2025-10-22 10:04:12 +02:00

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"