Davanti ad un problema il matematico cerca di ricondurlo ad una formula matematica, il fisico cerca di risalire al fenomeno fisico che lo ha prodotto, l'informatico spegne e riaccende.

— Anonimo

Conversione da Virtualbox a KVM/QEMU

http://www.stenoweb.it/files/blog/virtualboxsun.png Siccome stò testando un interessante (anzi di più) progetto di virtualizzazione basato su KVM/QEmu a cui magari dedicherò una mini recensione, ho bisogno di convertire alcuni VDI di virtualbox nel formato qcow2 usato da KVM/QEmu per fare delle prove senza dover reinstallare da capo la VM. Ecco come si fà su Archlinux. Per gli altri penso cambi molto poco ...

Rimuovere Virtualbox addons

Per prima cosa bisogna rimuovere tutti le Virtuabox addons, sia che si tratti di una VM Windows che Linux.

vditool

Ora bisogna fare un doppio passaggio: prima convertire il file VDI in raw e poi quest'ultimo in qcow2. Se qualcuno conosce un metodo alternativo me lo dica pure.
Per convertire un VDI ho bisogno dell'utility vditool di Virtualbox, ne trovate una copia .
Ora ho dovuto fare qualche piccola operazione per poter utilizzare l'utility, altrimenti non trova le librerie di cui ha bisogno.

sudo cp vditool /opt/virtualbox
sudo chmod +x /opt/virtualbox/vditool
sudo ln -s /opt/virtualbox/VBoxDD.so /lib/VBoxDD.so
sudo ln -s /opt/virtualbox/VBoxRT.so /lib/VBoxRT.so
sudo ln -s /opt/virtualbox/VBoxVMM.so /lib/VBoxVMM.so
sudo ln -s /opt/virtualbox/VBoxDDU.so /lib/VBoxDDU.so
sudo ln -s /opt/virtualbox/VBoxDD2.so /lib/VBoxDD2.so
sudo ln -s /opt/virtualbox/VBoxREM.so /lib/VBoxREM.so

Ora lanciando
/opt/virtualbox/vditool

dovrei vedere le sue opzioni :
vditool    Copyright (c) 2004-2005 InnoTek Systemberatung GmbH.

Usage: vditool [Params]
Commands and params:
NEW Filename Mbytes - create new image;
DD Filename DDFilename - create new image from DD format image;
CONVERT Filename - convert VDI image from old format;
DUMP Filename - debug dump;
RESETGEO Filename - reset geometry information;
COPY FromImage ToImage - make image copy;
COPYDD FromImage DDFilename - make a DD copy of the image;
SHRINK Filename - optimize (reduce) VDI image size.


Ok. Funziona.

NB : Interessante il parametro SHRINK ...

Ora possiamo lanciarci nella conversione.

/opt/virtualbox/vditool COPYDD winxp.vdi winxp.img

Attenzione: l'immagine creata sarà della dimensione full del VDI. Quindi se avete deciso per un VDI da 50GB, il file raw avrà queste dimensioni !

qemu-img

Ora il secondo passo, convertiamo il file raw creato nel formato qcow2 di qemu. Per questo c'e' il comando apposito qemu-img:

qemu-img convert -f raw winxp.img -O qcow2 winxp.qcow2

Il file risultante sarà dimagrito nuovamente e sarà (quasi) pronto per essere utilizzato da qemu.

Caio ho trovato anche questa soluzione con virtualbox 2.X
VBoxManage clonehd disk0.vdi disk0.img --format RAW

Il comando mi torna un errore di questo tipo:
----------------------------------------------
[!] FAILED calling a->virtualBox->OpenHardDisk2(src, srcDisk.asOutParam()) at line 369!
[!] Primary RC = VBOX_E_IPRT_ERROR (0x80BB0005) - Runtime subsystem error
[!] Full error info present: true , basic error info present: true
[!] Result Code = VBOX_E_IPRT_ERROR (0x80BB0005) - Runtime subsystem error
[!] Text = Could not get the storage format of the hard disk '/home/gixeco/.VirtualBox/legacy_unique-flat.vdi' (VERR_FILE_NOT_FOUND)
[!] Component = HardDisk2, Interface: IHardDisk2, {ed6e2525-c2fd-42a4-917a-7a9045ac9e15}
[!] Callee = IVirtualBox, {339abca2-f47a-4302-87f5-7bc324e6bbde}
------------------------------------------------

Ovviamente il file esiste, anche lanciandolo con il ./ , il VBoxManage si aspetta di trovarsi i files .vdi nella $HOME dell'utente, nel mio caso è su un altro file system (e lì rimane!). Sapete nulla riguarda al set d'ambiente a cui il VBoxManage fa riferimento ?

p.s. neanche linkando si riesce...

Solo una domanda: ma secondo te, a me che devo convertire una VM, cosa importa degli inutili e fastidiosi orpelli pubblicitari?
Perchè devi costringermi a guardare qualcosa che non mi interessa minimamente, anzi mi infastidisce?
Peccato veramente, perchè il tuo Blog è ben fatto... :(

Ho letto solo ora il post riguardante gli ADS.
Chiedo scusa se ho postato senza leggerlo, comunque continuo a trovarmi in disaccordo sul fatto di voler bloccare chi non permette al browser di visualizzare gli annunci.
Non sto ovviamente a spiegare quì le mie ragioni, ma se ti va... bhe ti ho lasciato la mia mail per poterne discuterne serenamente in privato.

Ciao, quando converto un file .DIV (quello creato dalla macchina virtuale virtualbox) e lo lancio su KVM\QEMU ottengo da parte di windows xp una amata schermata blue (tutto liscio con macchine virtuali linux) Il problema dovrebbe essere sul tipo di chipset\controller hd virtuale usato incompatibile. Sai mica come risolverlo?

In our previous page, we ran down the four premiere sharing
sites for both photos and videos. These services are something that many marketers
engage in to cut the time and expense of marketing so that they
can focus on other things that are necessary in their business.
On the right hand side you will see "add annotation" click it and then click
"note" a text box will appear on the video and you can add
text to that box by writing in "Note" to the right of the video.

Hey there! Do you use Twitter? I'd like to follow you if that would be okay.

I'm absolutely enjoying your blog and look forward to new updates.