Montare un disco Virtualbox sul PC

Virtualbox ed i dischi VDI, ovvero:

Come possiamo usare un disco di Virtualbox come fosse un disco vero?

Virtualbox ed una Slackware fresca di installazione

Virtualbox è un grande software di virtualizzazione: permette di far girare qualsiasi sistema su un emulatore e, nel contempo, permette di testare, provare e verificare il funzionamento di diversi sistemi o più di una distribuzione Linux... Eppoi, quando tutto si è provato, si rimuove ciò che non serve più Fico

Una gran comodità, non c'è che dire.

Ma se io volessi usare quei dischi come se fossero dei dischi realmente «montati» sul mio sistema, come potrei fare? Cioè, come posso avere i file disponibili in un disco virtuale per usarli e modificarli sul mio sistema «fisico & reale»?

La cosa non è affatto difficile usando, ovviamente, un altro sistema Linux: nel mio caso, ho usato la solita distribuzione Q4OS, basata su Debian.

Installiamo il software necessario

Per usare un disco virtuale (un «VDI» creato da una installazione di macchina virtuale di Virtualbox) è necessario installare un solo software, «qemu-nbd» che si ottiene installando due pacchetti: qemu e qemu-utils.

I due pacchetti sono disponibili sui repository standard e si installano in un attimo con il solito comando:

sudo apt install qemu qemu-utils

Successivamente, rimuovere il modulo «nbd» (che è quello che ci serve per questa operazione di mounting del disco) nel caso sia stato caricato automaticamente dall'installazione:

sudo rmmod nbd

E caricarlo nuovamente indicando un parametro importante (max-part=16: senza questo parametro, probabilmente non sarebbero disponibili le partizioni del disco, con conseguente impossibilità di accesso, anche se tutto sembra funzionare correttamente):

sudo modprobe nbd max_part=16

Il comando renderà disponibile un nuovo device:

ls -al /dev/nbd0
brw-rw---- 1 root disk 43, 0 27 feb 08.24 /dev/nbd0

che useremo per collegare ad esso il disco virtuale con il seguente comando:

sudo qemu-nbd -c /dev/nbd0 /home/user/VirtualBox\ VMs/Slackware/Slackware_server-disk001.vdi

Creare ora un apposito mount-point da usare per «montare» il disco virtuale (il nome è irrilevante):

sudo mkdir /mnt/vdi

ed ora è possibile montare il disco con il solito comando «mount»:

sudo mount /dev/nbd0p1 /mnt/vdi/

Come si vede, è stata aggiunta la partizione, specificandola con «p1» dopo il device «nbd0»; ora, il contenuto di questa partizione del disco virtuale è disponibile in /mnt/vdi.

Dopo aver finito di copiare, modificare e, in generale, lavorare sui file, possiamo rimuovere il disco virtuale montato ed il device, dato che non servono più. Cominciamo con lo smontare il disco:

sudo umount /mnt/vdi

Poi scollegare il device:

sudo qemu-nbd -d /dev/nbd0 
/dev/nbd0 disconnected

Volendo, possiamo anche rimuovere il modulo; in seguito, verificare che, con i successivi riavvii, non sia caricato senza il parametro «max-part=16», importante, come detto, per accedere alle singole partizioni:

sudo rmmod nbd

Senza il modulo, anche il device nbd0 scompare:

ls -al /dev/nbd0
ls: impossibile accedere a '/dev/nbd0': File o directory non esistente

In conclusione

Si tratta di un buon sistema per giocare con Linux ed i file virtuali di una installazione con Virtualbox; in questo modo i file e le configurazioni create in un ambiente virtuale possono essere facilmente copiati e modificati ed applicate ad un ambiente «reale» anche se questo non ha connessione di rete perché ancora in fase di installazione.

Valid XHTML 1.0 Transitional