{"id":55,"date":"2007-08-17T15:35:27","date_gmt":"2007-08-17T13:35:27","guid":{"rendered":"http:\/\/freebox.blogdns.com\/index.php\/2007\/08\/17\/virtualizzare-con-qemu\/"},"modified":"2007-12-26T12:35:55","modified_gmt":"2007-12-26T11:35:55","slug":"virtualizzare-con-qemu","status":"publish","type":"post","link":"https:\/\/www.lorenzobraghetto.com\/index.php\/2007\/08\/17\/virtualizzare-con-qemu\/","title":{"rendered":"Virtualizzare con qemu"},"content":{"rendered":"<p><a href=\"http:\/\/it.wikipedia.org\/wiki\/QEMU\" target=\"_blank\">Qemu<\/a> \u00e8 un software open source utile a virtualizzare sistemi operativi all&#8217;interno di un sistema base. Quindi dalla propria linux box (ma esiste anche una versione per windows) puoi far girare una macchina virtuale con altri sistemi operativi.<\/p>\n<p>Qemu purtroppo sembra non apprezzare le partizioni di windows xp, almeno a me non funziona e pare che non sia l&#8217;unico; per\u00f2 ci sono altre possibilit\u00e0 come installare windows in un file immagine.<\/p>\n<p align=\"center\"><a href=\"http:\/\/picasaweb.google.it\/racing.inside\/Varie_blog\/photo#5099660528289042530\"><img decoding=\"async\" src=\"http:\/\/lh4.google.it\/racing.inside\/RsWiOze_0GI\/AAAAAAAAAK8\/bz1T1e75VSg\/s400\/Schermata-1.jpg\" \/><\/a><\/p>\n<p align=\"center\"><em>PCLinuxOS<sup>1<\/sup> da Ubuntu by qemu<\/em><\/p>\n<p align=\"center\"><!--more--><\/p>\n<p>Oltre a far partire altre partizioni con altri SO (per sapere quali la cosa migliore \u00e8 provare non c&#8217;\u00e8 una lista ufficiale), \u00e8 possibile fare il boot di una semplice iso, oppure molto interessante \u00e8 possibile usare dei file immagine come se fossero delle vere e proprie partizioni.<\/p>\n<p>Kqemu \u00e8 un modulo del kernel che permette a qemu di aumentare sensibilmente le prestazioni della macchina virtuale, \u00e8 stato recentemente rilasciato sotto GPL.<\/p>\n<p>KVM ha la stessa funzione di kqemu ma consente di sfruttare le caratteristiche degli ultimi processori che integrano le caratteristiche <a href=\"http:\/\/it.wikipedia.org\/wiki\/Virtualizzazione_X86#Intel_VT_.28IVT.29\" target=\"_blank\">Intel VT<\/a> e <a href=\"http:\/\/it.wikipedia.org\/wiki\/Virtualizzazione_X86#AMD_virtualization_.28AMD-V.29\" target=\"_blank\">AMD-V<\/a>.<\/p>\n<p><strong>INSTALLIAMO QEMU E KQEMU<\/strong><\/p>\n<p>Dopo questa pappardella passiamo all&#8217;azione:<\/p>\n<p class=\"code\">sudo apt-get install qemu module-assistant<\/p>\n<p> In questo modo installeremo qemu e con module-assistant ci prepariamo a compilare il modulo kqemu<\/p>\n<p class=\"code\">sudo m-a prepare<br \/>\nsudo m-a install kqemu<\/p>\n<p>Se tutto va bene il modulo sar\u00e0 stato compilato, ora lo carichiamo:<\/p>\n<p class=\"code\">sudo modprobe kqemu<\/p>\n<p>Ora guardiamo se \u00e8 stato creato \/dev\/kqemu, se non esiste lo creiamo noi, poi in ogni caso gli diamo i permessi giusti:<\/p>\n<p class=\"code\">sudo mknod \/dev\/kqemu c 250 0<br \/>\nsudo chmod 666 \/dev\/kqemu<\/p>\n<p><strong>KVM<\/strong><\/p>\n<p>Oltre a installare qemu e module-assitant dovermo installare kvm:<\/p>\n<p class=\"code\">sudo apt-get install qemu module-assistant kvm<\/p>\n<p>La procedura  per compilare il modulo \u00e8 identica a quella di kqemu con ovviamente kvm al posto di kqemu in tutti i passaggi. In pi\u00f9 cambia il nome del modulo da caricare con modprobe che dipende dal processore (kvm-intel per i processori intel e kvm-amd per quelli amd).<\/p>\n<p>IMPORTANTE: Da ora in avanti utilizzer\u00f2 il comando qemu, ma se usate kvm al posto di qemu scrivete kvm, la sintassi per il resto \u00e8 la stessa.<\/p>\n<p><strong>INIZIAMO A VIRTUALIZZARE \ud83d\ude09<br \/>\n<\/strong><\/p>\n<p>Kqemu dovrebbe essere a posto, ora analizziamo la sintassi di qemu, per esempio:<\/p>\n<p class=\"note\">qemu -boot a -hda immagine.img -fda grub-0.97-i386-pc.ext2fs -cdrom \/dev\/cdrom<\/p>\n<ul>\n<li>-boot indica il device con il quale eseguire il boot: a &#8211;&gt; floppy, c &#8211;&gt; hard disk, d &#8211;&gt; cdrom<\/li>\n<li>-hda indica quale file o device deve essere usato come hard disk nel sistema virtualizzato<\/li>\n<li>-fda indica quale file o device deve essere usato come floppy nel sistema virtualizzato<\/li>\n<li>-cdrom indica quale file o device deve essere usato come cdrom nel sistema virtualizzato<\/li>\n<\/ul>\n<p>In questo caso quindi abbiamo una macchina virtuale che fa il boot dal floppy (grub-0.97-i386-pc.ext2fs che \u00e8 un&#8217;immagine di un vero floppy bootable di grub) che ha un hard disk in \/dev\/hda (immagine.img) e un cdrom (che in questo caso \u00e8 il vero cdrom del nostro computer).<\/p>\n<p>Un altro esempio per iniziare a capire pu\u00f2 essere un semplice boot di una live:<\/p>\n<p class=\"code\">qemu -boot d -cdrom immagineiso.iso<\/p>\n<p>Avviamo una macchina facendo il boot dal cdrom (-boot d) e come cdrom mettiamo l&#8217;immagine iso(-cdrom immagineiso.iso), poi naturalmente se abbiamo bisogno dell&#8217;hard disk per passarci dei file siamo liberi di usare un vero device o un immagine come hard disk nel sistema virutalizzato (-hda ecc&#8230;).<\/p>\n<p><strong>LE IMMAGINI<\/strong><\/p>\n<p>Il tool qemu-img ci permette di creare comprimere e convertire dei file immagine utili alla virtualizzazione, esempio:<\/p>\n<p class=\"code\">qemu-img create -f [formato] immagine.img 2G<\/p>\n<p> Cos\u00ec creiamo un immagine del formato che decidiamo noi grande 2gb; i formati disponibili sono:<\/p>\n<ul>\n<li>raw: \u00e8 il parametro di default, ovvero se non viene specificato -f al momento della creazione il file assumer\u00e0 il formato raw. Ha il pregio della portabilit\u00e0 , pu\u00f2 essere adoperato con pi\u00f9 programmi di virtualizzazione.<\/li>\n<li>qcow: vecchio formato usato da QEMU per mantenere la compatibilit\u00e0 con versioni precedenti alla 0.9.0, supporta la compressione e la cifratura.<\/li>\n<li>qcow2: miglior formato fra quelli in uso soprattutto se l\u2019immagine creata servir\u00e0 solo per QEMU (versione &gt;= 0.9.0), lo spazio occupato sul disco rigido del sistema operativo ospitante avr\u00e0 le dimensioni usate realmente dalla virtual machine. Supporta la compressione e la cifratura.<\/li>\n<li>cow: vecchio formato usato da QEMU che tra l\u2019altro non funziona su Windows.<\/li>\n<li>cloop: \u00e8 comodo per creare immagini di cd rom avviabili come knoppix o live disto.<\/li>\n<li>vmdk: \u00e8 il formato usato da Vmware 3 e 4.<\/li>\n<\/ul>\n<p align=\"right\">(descrizione immagini da <a href=\"http:\/\/www.valent-blog.eu\/2007\/05\/12\/gestione-file-immagine-e-monitor-di-qemu\/\" target=\"_blank\">valent-blog.eu)<\/a><\/p>\n<p>Facciamo un esempio pratico, voglio provare l&#8217;ultima beta di Ubuntu (Gutsy Gibbon) ma non ho voglia di partizionare l&#8217;hard disk e non mi basta la live.<\/p>\n<p class=\"code\">qemu-img create gutsy.img 4G<br \/>\nqemu -boot d -hda gutsy.img -cdrom Gutsy.iso<\/p>\n<p>Partizioniamo e installiamo come se fosse tutto normale, poi dal primo avvio diamo un semplice:<\/p>\n<p class=\"code\">qemu gutsy.img<\/p>\n<p> \u00c8 possibile poi comprimere un immagine, normalmente l&#8217;immagine occupa tutto lo spazio che la macchina virtuale ha disponibile, quindi se abbiamo creato un immagine di 4gb l&#8217;immagine occuper\u00e0 realmente 4gb sul nostro hard disk anche se all&#8217;interno c&#8217;\u00e8 spazio vuoto. Per comprimere questo spazio diamo<\/p>\n<p>qemu-img create -c gutsy.img<\/p>\n<p>Nella prossima puntata virtualizziamo GNU\/Hurd<\/p>\n<p>Buona virtualizzazione<\/p>\n<p>[1]Si la volevo provare&#8230;seconda su distrowatch&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Qemu \u00e8 un software open source utile a virtualizzare sistemi operativi all&#8217;interno di un sistema base. Quindi dalla propria linux box (ma esiste anche una versione per windows) puoi far girare una macchina virtuale con altri sistemi operativi. Qemu purtroppo sembra non apprezzare le partizioni di windows xp, almeno a me non funziona e pare [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,3,42,8,47],"tags":[],"class_list":["post-55","post","type-post","status-publish","format-standard","hentry","category-informatica","category-gnulinux","category-smanettamenti","category-software","category-virtualizzazione"],"_links":{"self":[{"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/posts\/55","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/comments?post=55"}],"version-history":[{"count":0,"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/posts\/55\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/media?parent=55"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/categories?post=55"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/tags?post=55"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}