GNU/Linux >> Linux Esercitazione >  >> Linux

Accedi e modifica le immagini del disco della macchina virtuale con Libguestfs

I libguestfs è una libreria C e una raccolta di strumenti su questa libreria per creare, visualizzare, accedere e modificare le immagini del disco della macchina virtuale in Linux. Puoi guardare all'interno delle immagini del disco, modificare i file che contengono, crearli da zero, ridimensionarli e molto altro. Non richiede libvirt o KVM e non richiede nemmeno i privilegi di root. Red Hat sponsorizza lo sviluppo di libguestfs. Supporta molte distribuzioni Linux e varianti Unix come Mac OS.

Libguestfs funziona con quasi tutti i file system Linux (ext2/3/4, XFS, btrfs, ecc.), i file system Windows (vfat e ntfs), i file system Mac OS e BSD, i volumi LVM2, le partizioni del disco MBR e GPT, i dischi RAW , QCOW2, VirtualBox VDI, VMWare VMDK e Hyper-V VHD/VHDX. Può persino accedere a file locali e dispositivi locali come CD e DVD ISO, schede SD o in remoto tramite FTP, HTTP, SSH, iSCSI, NBD, GlusterFS, Ceph, Sheepdog e molto altro.

Caratteristiche di Libguestfs

Usando gli strumenti libguest, possiamo svolgere molte attività come elencate di seguito:

  • Crea macchine virtuali guest,
  • Clone macchine virtuali,
  • Crea macchine virtuali,
  • Personalizza le macchine virtuali,
  • Scripting delle modifiche alle macchine virtuali,
  • Ispeziona le immagini della macchina virtuale,
  • Visualizza e modifica i file all'interno dei computer guest,
  • Copia file e directory da e verso macchine virtuali,
  • Visualizza informazioni su filesystem, dispositivi, LVM,
  • Archivia, carica e scarica file
  • Monitoraggio del disco utilizzato/statistiche libere,
  • Formatta dischi virtuali,
  • Ridimensiona i dischi virtuali,
  • Esecuzione di backup
  • Monta e smonta il filesystem guest nel sistema host,
  • P2V (conversione di una macchina fisica per l'esecuzione virtualizzata su KVM, OpenStack, oVirt, Red Hat Virtualization),
  • V2V (conversione di una macchina guest da un hypervisor esterno per l'esecuzione su KVM),
  • Visualizza i file di registro,
  • Unisci le modifiche nel registro di Windows nei guest di Windows,
  • e molto altro.

Puoi eseguire tutte queste attività tramite una shell con script chiamata guestfish o una shell di salvataggio interattiva virt-rescue .

Installa libguestfs su Linux

Esegui il seguente comando per installare libguestfs su Debian, Ubuntu:

$ sudo apt install libguestfs-tools

Su CentOS, RHEL:

$ sudo dnf install libguestfs-tools

Una volta installato, controlla la versione di guestfish usando il comando:

$ guestfish --version
guestfish 1.40.2

Accedi e modifica le immagini del disco della macchina virtuale con Libguestfs

Assicurati che le macchine guest siano spente. Non devi modificare le immagini live per nessun motivo. Potrebbe causare la corruzione permanente del disco e la perdita di dati. Eseguire sempre il backup delle immagini del disco prima di apportare modifiche.

1. Guscio di pesce ospite

Guestfish, abbreviazione di guest filesystem shell, è una shell interattiva per la modifica di filesystem di macchine virtuali e immagini disco.

1.1. Accedi alle immagini disco esistenti e monta manualmente i filesystem guest

Innanzitutto, carichiamo un'immagine disco esistente da ispezionare.

Esegui il seguente comando da per entrare nella shell interattiva di guestfish:

$ guestfish

Risultato di esempio:

Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.

Type: ‘help’ for help on commands
      ‘man’ to read the manual
      ‘quit’ to quit the shell

><fs>

Qui, > indica il prompt di pesce ospite.

..e poi aggiungi le immagini del disco usando il comando:

><fs> add ~/CentOS_8_Server.img

Quindi, esegui il comando seguente per avviare la libreria e allegare (avviare) l'immagine del disco:

><fs> run

Ci vorranno alcuni secondi la prima volta. Gli avvii successivi finiranno molto più velocemente.

Ora devi elencare e montare manualmente i filesystem guest.

Per visualizzare l'elenco dei filesystem nel disco, eseguire questo comando dal prompt di guestfish:

><fs> list-filesystems

Risultato di esempio:

/dev/sda1: ext4
/dev/cl/root: xfs
/dev/cl/swap: swap

Monta un filesystem:

><fs> mount /dev/cl/root /

Visualizza punti di montaggio:

><fs> mountpoints 
/dev/cl/root: /

Allo stesso modo, monta gli altri filesystem.

1.2. Accedi alle immagini disco esistenti e monta automaticamente i filesystem guest

Invece di elencare e montare manualmente i filesystem guest, puoi lasciare che guestfish ispezioni automaticamente le immagini e monti i filesystem usando -i segnala come sotto.

$ guestfish -a CentOS_8_Server.img -i

Ecco,

  • -a (--add) il parametro rileverà automaticamente il formato dell'immagine del disco. Per ignorare questo e specificare un formato particolare, usa il --formato opzione.
  • -i (--inspector) - Ispeziona i dischi e monta i filesystem.
  • CentOS_8_Server.img - nome dell'immagine del disco. Ho questa immagine nella mia directory attuale.

Questo comando caricherà l'immagine data, monterà i file system guest e ti atterrerà all'interno della shell guestfish.

Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.

Type: ‘help’ for help on commands
      ‘man’ to read the manual
      ‘quit’ to quit the shell

Operating system: CentOS Linux release 8.2.2004 (Core) 
/dev/cl/root mounted on /
/dev/sda1 mounted on /boot

><fs>

Se hai utilizzato "-i" parametro, non è necessario elencare e montare manualmente i filesystem guest. I filesystem verranno montati automaticamente. Inoltre, non è necessario avviare la libreria e allegare l'immagine del disco da soli. Se ne occuperà Guestfish stesso.

1.3. Accedi alle macchine virtuali invece delle sole immagini disco

Guestfish ha un'opzione per accedere alle macchine virtuali (domini) invece delle immagini del disco.

Innanzitutto, ottieni il nome delle macchine virtuali usando il comando:

$ virsh list --all
 Id   Name            State
--------------------------------
 -    centos8-uefi    shut off
 -    nginx_centos8   shut off

Per accedere alla VM denominata "centos8-uefi", usa l'opzione -d o --domain come di seguito.

$ guestfish -d centos8-uefi -i
1.4. Visualizzazione e modifica del contenuto delle immagini disco

Guestfish supporta centinaia di comandi per visualizzare e modificare le immagini del disco a tuo piacimento. Sarai sopraffatto se guardi nell'intera pagina man. Quindi è meglio sapere prima come ottenere aiuto.

Elenca tutti i comandi

Se non sai da dove iniziare, apri semplicemente la sezione della guida usando il comando:

><fs> help

Per elencare tutti i comandi disponibili insieme a una breve descrizione, esegui:

><fs> help -l

Richiedi aiuto per un comando specifico

Per ottenere aiuto su qualsiasi comando, ad esempio mkdir, esegui:

<fs> help mkdir

Vediamo ora alcuni esempi.

Elenca i dispositivi a blocchi

Per elencare tutti i dispositivi a blocchi nell'immagine, esegui:

><fs> list-devices 
/dev/sda

Elenca le partizioni

Per elencare tutte le partizioni rilevate su tutti i dispositivi a blocchi, eseguire:

><fs> list-partitions 
/dev/sda1
/dev/sda2

Elenca i contenuti della directory

Per elencare i file in una determinata directory, esegui:

><fs> ls /root
.bash_history
.bash_logout
.bash_profile
.bashrc
.cshrc
.tcshrc

Visualizza il contenuto del file

Per visualizzare il contenuto di un file, eseguire:

><fs> cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Thu Feb  6 06:43:28 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root     /                       xfs     defaults        0 0
UUID=5e675dd6-7f64-46cd-8535-3617f3cf870b /boot                   ext4    defaults        1 2
/dev/mapper/cl-swap     swap                    swap    defaults        0 0

Crea directory

Il comando seguente creerà una directory denominata "otechnix" nella directory /root nel sistema guest.

><fs> mkdir /root/ostechnix

Crea file vuoti

Per creare un file vuoto all'interno della macchina guest, fai:

><fs> touch /root/ostechnix/file.txt

Verifica se il file è stato creato:

><fs> ls /root/ostechnix/
file.txt

Crea file con contenuti

Per creare un file con alcuni contenuti, usa scrivi comando:

><fs> write /root/ostechnix/file2.txt https://ostechnix.com

Il comando precedente creerà file2.txt nella directory /root/otechnix/ e scriverà "https://otechnix.com".

Puoi verificarlo usando il comando "cat":

><fs> cat /root/ostechnix/file2.txt 
https://ostechnix.com

Aggiungi contenuti a file esistenti

Per aggiungere nuovo contenuto alla fine di un file già creato, usa il comando "write-append":

<fs> write-append /root/ostechnix/file2.txt /about

Il comando precedente aggiungerà la parola "/about" alla fine del contenuto del file1.txt.

Verifica se la riga è stata aggiunta, usa il comando cat:

><fs> cat /root/ostechnix/file2.txt 
https:/ostechnix.com/about

Modifica file

Per modificare un file sulla macchina ospite, usa il comando "modifica":

><fs> edit /root/ostechnix/file.txt

Il file specificato si aprirà nell'editor predefinito.

Rimuovi file e directory

Per rimuovere un file dal computer guest:

><fs> rm /root/ostechnix/file2.txt 
><fs> rm /root/ostechnix/file.txt

Per rimuovere una directory, usa il comando "rmdir":

><fs> rmdir /root/ostechnix/

Copia file o directory locali nell'immagine disco

Il comando "copy-in" copia i file o le directory locali in modo ricorsivo nell'immagine del disco.

Il comando seguente copierà il file otechnix.txt dal sistema locale a /root/otechnix/ nell'immagine del disco.

<fs> copy-in ostechnix.txt /root/ostechnix/

Verificalo utilizzando ls comando:

<fs> ls /root/ostechnix/
file.txt
ostechnix.txt

Copia file o directory dall'immagine disco al sistema host

Allo stesso modo, possiamo copiare i file o le directory da un'immagine disco al sistema host locale usando il comando "copy-out" come di seguito.

<fs> copy-out /root/ostechnix/ /home/sk/Downloads/

Nell'esempio sopra, sto copiando la directory /root/otechnix/ nella directory Download nel sistema host.

Scarica file sul sistema host

È lo stesso del comando di copia.

Guestfish ti consente di scaricare e caricare contenuti dalla macchina ospite alla macchina host e viceversa.

La sintassi generale per scaricare i file:

download <guest_file_location> <host_file_location>

Il comando seguente scaricherà il file "/etc/fstab" dalla macchina guest nella directory /home/sk/Downloads/ nel sistema host KVM.

<fs> download /etc/fstab /home/sk/Downloads/fstab

Carica file dal sistema host al sistema guest

Questo è lo stesso del comando di copia-in.

Per caricare un file dal tuo sistema host al computer guest, esegui:

><fs> upload /home/sk/Downloads/fstab /etc/fstab

Qui sto caricando /home/sk/Downloads/fstab file dal mio sistema locale a /etc/fstab nella macchina ospite.

Visualizza la pagina del manuale di guestfish

Per visualizzare le pagine man di guestfish:

><fs> man

Esci da guestfish

Per uscire dal guscio di guestfish, esegui:

><fs> exit

Quello che abbiamo visto finora è che abbiamo avuto accesso, montato, ispezionato e modificato le immagini del disco esistenti. Guestfish può anche aiutarti a creare nuove immagini disco all'istante.

1.5. Creazione di nuove immagini disco

I seguenti comandi devono essere eseguiti al di fuori della shell guestfish. In altre parole, dovrebbero essere eseguiti nel tuo terminale host.

Ricordi che abbiamo aggiunto le immagini esistenti usando -a parametro? Sì. Per creare una nuova immagine del disco, andiamo su -N (--nuovo) parametro.

Per creare una nuova immagine disco e avviarla automaticamente, esegui il seguente comando dal prompt del terminale host (non nel guestfish):

$ guestfish -N fs

Questo comando creerà un nuovo disco denominato "test1.img" nella directory corrente e ti atterra all'interno del prompt di guestfish. Questo disco conterrà una singola partizione, con un filesystem vuoto. Per impostazione predefinita, la dimensione del disco sarà 1 GB . Se esegui lo stesso comando la prossima volta, creerà un nuovo disco chiamato "test2.img" con dimensione 1G e così via.

Invece di creare un disco da 1G di dimensioni fisse, è possibile creare anche un'immagine disco di dimensioni personalizzate.

Per creare un disco vuoto da 500 MB , esegui:

$ guestfish -N disk:500M

Puoi anche creare un'immagine disco formattata con un file system specifico. Ad esempio, il comando seguente creerà un disco 1G con un ext4 -partizione formattata, chiamata test1.img nella directory corrente:

$ guestfish -N fs:ext4

Crea un disco da 500 MB con un VFAT -partizione formattata e montarla:

$ guestfish -N fs:vfat:500M -m /dev/sda1

Crea un disco vuoto da 500 MB chiamato blankdisk.img (invece del nome predefinito test1.img):

$ guestfish -N blankdisk.img=disk:500M
1.6. Aggiunta di immagini del disco remoto

Non solo immagini disco locali, possiamo anche aggiungere dischi che si trovano su un server SSH, FTP, HTTP o TFTP remoto.

Aggiungi un disco che si trova su un server SSH remoto:

$ guestfish -a ssh://[email protected]/disk.img

Sostituisci il nome utente e l'indirizzo IP nel comando precedente con il tuo.

Aggiungi un disco che si trova su un server FTP remoto:

$ guestfish -a ftp://[email protected]:port/disk.img
$ guestfish -a ftps://[email protected]:port/disk.img

Aggiungi un disco che si trova su un server HTTP remoto:

$ guestfish -a http://[email protected]:port/disk.img
$ guestfish -a https://[email protected]:port/disk.img

Aggiungi un disco che si trova su un server TFTP remoto:

$ guestfish -a tftp://[email protected]:port/disk.img

2. Accedi, visualizza e modifica le immagini del disco senza entrare nella shell di guestfish

Libguestfs fornisce molti altri comandi equivalenti per accedere, visualizzare e modificare le immagini del disco, senza entrare effettivamente nella shell di guestfish.

2.1. guestmount

Il comando Guestmount viene utilizzato per montare un filesystem guest sull'host utilizzando FUSE e libguestfs.

Il comando seguente monterà centos8-uefi fulesystem della macchina guest in ~/guestvm/ nel sistema host.

$ mkdir ~/guestvm/
$ sudo guestmount -d centos8-uefi -i ~/guestvm/

Verifica il contenuto della directory di montaggio:

$ sudo ls -l ~/guestvm

Risultato di esempio:

total 16
lrwxrwxrwx.  1 root root    7 May 11  2019 bin -> usr/bin
dr-xr-xr-x.  6 root root 4096 Jul 18 15:46 boot
drwxr-xr-x.  2 root root    6 Jul 18 15:23 dev
drwxr-xr-x. 78 root root 8192 Jul 25 17:54 etc
drwxr-xr-x.  2 root root    6 May 11  2019 home
lrwxrwxrwx.  1 root root    7 May 11  2019 lib -> usr/lib
lrwxrwxrwx.  1 root root    9 May 11  2019 lib64 -> usr/lib64
drwxr-xr-x.  2 root root    6 May 11  2019 media
drwxr-xr-x.  2 root root    6 May 11  2019 mnt
drwxr-xr-x.  2 root root    6 May 11  2019 opt
drwxr-xr-x.  2 root root    6 Jul 18 15:23 proc
dr-xr-x---.  2 root root  135 Jul 18 15:46 root
drwxr-xr-x.  2 root root    6 Jul 18 15:23 run
lrwxrwxrwx.  1 root root    8 May 11  2019 sbin -> usr/sbin
drwxr-xr-x.  2 root root    6 May 11  2019 srv
drwxr-xr-x.  2 root root    6 Jul 18 15:23 sys
drwxrwxrwt.  7 root root  119 Jul 25 18:44 tmp
drwxr-xr-x. 12 root root  144 Jul 18 15:24 usr
drwxr-xr-x. 20 root root  278 Jul 18 15:45 var

Per smontarlo, esegui:

$ sudo umount ~/guestvm

Per maggiori dettagli, fare riferimento alle pagine man.

$ man guestmount
2.2. virt-cat

Comando Virt-cat eseguito per visualizzare il contenuto di un file archiviato in un'immagine disco o in una macchina virtuale.

$ sudo virt-cat -a CentOS_8_Server.img /etc/fstab

Oppure,

$ sudo virt-cat -d centos8-uefi /etc/fstab

Risultato di esempio:

#
# /etc/fstab
# Created by anaconda on Sat Jul 18 05:53:25 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root     /                       xfs     defaults        0 0
UUID=6a7f6481-5eb3-4589-ad19-b2291ddfcda1 /boot                   ext4    defaults        1 2
UUID=6906-5D0A          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/mapper/cl-swap     swap                    swap    defaults        0 0
2.3. copia-virtuale

Il comando Virt-copy-in viene utilizzato per copiare file e directory dall'host a un'immagine disco o a una macchina virtuale.

$ sudo virt-copy-in -a CentOS_8_Server.img ostechnix.txt /root/

Oppure,

$ sudo virt-copy-in -d centos8-uefi ostechnix.txt /root/
2.4. copia virtuale

Il comando Virt-copy-out viene utilizzato per copiare file e directory da un'immagine disco o da una macchina virtuale.

$ sudo virt-copy-out -a CentOS_8_Server.img /root/ostechnix.txt ~/Downloads

Oppure,

$ sudo virt-copy-in -d centos8-uefi /root/ostechnix.txt ~/Downloads

I comandi precedenti copieranno il file /root/otechnix.txt dal disco della macchina virtuale nella directory ~/Downloads nel sistema host locale.

2.4. virt-df

Il comando Virt-df mostra lo spazio libero su un filesystem della macchina guest.

Visualizza lo spazio libero su un'immagine disco:

$ sudo virt-df -a CentOS_8_Server.img

Risultato di esempio:

Filesystem                                Size       Used  Available  Use%
CentOS_8_Server.img:/dev/sda1             976M       260M       649M   27%
CentOS_8_Server.img:/dev/cl/root           17G       1.4G        16G    9%

Visualizza lo spazio su disco su una macchina virtuale:

$ sudo virt-copy-in -d centos8-uefi /root/ostechnix.txt ~/Downloads

Risultato di esempio:

Filesystem                                Size       Used  Available  Use%
centos8-uefi:/dev/sda1                    599M       6.6M       592M    2%
centos8-uefi:/dev/sda2                    976M       121M       788M   13%
centos8-uefi:/dev/cl/root                  16G       1.2G        15G    8%
2.5. modifica virtuale

Modifica un file in un'immagine disco o in una macchina virtuale.

$ sudo virt-edit -a CentOS_8_Server.img /root/ostechnix.txt

Oppure,

$ sudo virt-edit -d centos8-uefi /root/ostechnix.txt

Questo comando aprirà il file remoto nell'editor predefinito. Basta apportare le modifiche e salvare e chiudere il file.

2.6. virt-filesystem

Elenca filesystem, partizioni, dispositivi a blocchi, LVM in una macchina virtuale o immagine disco.

$ sudo virt-filesystems -a CentOS_8_Server.img -l

Oppure,

$ sudo virt-filesystems -d centos8-uefi -l

Risultato di esempio:

Name          Type        VFS   Label  Size         Parent
/dev/sda1     filesystem  vfat  -      629145600    -
/dev/sda2     filesystem  ext4  -      1073741824   -
/dev/cl/root  filesystem  xfs   -      17620271104  -

Per visualizzare i dettagli della partizione, aggiungi --partitions nel comando precedente:

$ sudo virt-filesystems -d centos8-uefi --partitions
/dev/sda1
/dev/sda2
/dev/sda3

Allo stesso modo, puoi utilizzare --logical-volumi , --gruppi-di-volume , --volumi-fisici , --block-devices per elencare quegli elementi.

2.7. virt-ispettore

Virt-inspector viene utilizzato per visualizzare la versione del sistema operativo e altre informazioni su un'immagine disco o una macchina virtuale.

$ sudo virt-inspector -a CentOS_8_Server.img

Oppure,

$ sudo virt-inspector -d centos8-uefi
2.8. virt-ls

Virt-ls viene utilizzato per visualizzare i file e le directory e le loro dimensioni, attributi, checksum in un'immagine disco o in una macchina virtuale.

$ sudo virt-ls -R -a CentOS_8_Server.img / | less

Oppure,

$ sudo virt-ls -R -d centos8-uefi /root

Puoi usare la maggior parte delle normali opzioni/flag del comando "ls" con il comando virt-ls.

2.9. registro virtuale

Virt-log viene utilizzato per visualizzare i file di registro da un'immagine disco o da una macchina virtuale.

$ sudo virt-log -a CentOS_8_Server.img

Oppure,

$ sudo virt-log -d centos8-uefi
2.10. coda virtuale

Il comando Virt-tail viene utilizzato per seguire i file di registro in un'immagine disco o in una macchina virtuale.

$ sudo virt-tail -a CentOS_8_Server.img /var/log/messages

Oppure,

$ sudo virt-tail -d centos8-uefi /var/log/messages

Ci sono molti altri comandi disponibili. Ti suggerisco di fare riferimento al sito libguestfs collegato alla fine di questa guida.

Leggi successivo:

  • Crea rapidamente immagini di macchine virtuali con Virt-builder
  • Visualizza le statistiche dei sistemi di virtualizzazione con Virt-top in Linux
  • Come salvare macchine virtuali con Virt-rescue

Risoluzione dei problemi

Ecco le soluzioni per alcuni problemi comuni.

1. libguestfs non funziona senza i permessi di root su Ubuntu

Potresti riscontrare questo errore quando provi ad accedere alle immagini del disco su Ubuntu:

libguestfs: error: /usr/bin/supermin exited with error status 1.
To see full error messages you may need to enable debugging.
Do:
  export LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1
and run the command again.  For further information, read:
  http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs

Per risolvere questo problema, esegui:

$ sudo chmod 0644 /boot/vmlinuz*

Potrebbe essere necessario aggiungersi a kvm gruppo:

$ sudo usermod -a -G kvm sk

Sostituisci "sk" nel comando precedente con il tuo nome utente.

  1. Se hai già installato libvirt o KVM sul tuo sistema e provi a usare gli strumenti libguesfs come utente root, dovresti vedere questo errore di autorizzazione:
libguestfs: error: could not create appliance through libvirt.

Try running qemu directly without libvirt using this environment variable:
export LIBGUESTFS_BACKEND=direct

Original error from libvirt: Cannot access backing file '/root/CentOS_8_Server.qcow2' of storage file '/tmp/libguestfsiPjmga/overlay1.qcow2' (as uid:107, gid:107): Permission denied [code=38 int1=13]

Questo è causato da libvirt, e così accade solo quando si usa il backend libvirt. Per risolvere questo problema, passa al backend diretto impostando questa variabile di ambiente:

export LIBGUESTFS_BACKEND=direct

Per renderlo permanente, aggiungi questa riga al tuo ~/.bashrc file.


Linux
  1. Come convertire VMDK (Virtual Machine Disk) in VDI usando VBoxManage?

  2. Come utilizzare gli strumenti libguestfs per modificare le immagini del disco della macchina virtuale (VM) in CentOS/RHEL/Fedora?

  3. [Risolto]:come impedire la sincronizzazione dell'orologio della macchina virtuale con la macchina host e impostare l'ora dell'orologio indipendente?

  4. Espandi e riduci i volumi con Gestione disco

  5. Avvia un sistema operativo nativo su un disco rigido come una macchina virtuale

Come esportare e importare macchine virtuali KVM in Linux

Come clonare la macchina virtuale in VirtualBox

Come creare una macchina virtuale con Vagrant e VirtualBox

Guida introduttiva a Vagrant e VirtualBox – Parte 1

Migra la macchina virtuale da VMware ESXi a Proxmox VE

Come aumentare lo spazio su disco virtuale VM su VirtualBox e VMware