|
Virtualizzazione di Windows XP o altri SO su Ubuntu con Qemu Per commentare l' articolo o richiedere chiarimenti o aiuto, rimando alla copia dell' articolo sul mio Blog 
Iniziamo installando i pacchetti necessari: - aprite una shell e date un bel: sudo apt-get install build-essential qemu kqemu-source kqemu-common qemulator qemu-launcher # dove qemu è il vero e propio programma di virtualizzazione, kqemu è il modulo per l'accelerazione hardware, qemulator è un'ottima gui per non dover lanciare qemu da shell, qemu-launcher è un'altra ottima gui per qemu. - Installiamo il modulo Kqemu sudo module-assistant prepare sudo module-assistant build kqemu sudo module-assistant install kqemu - Ora per abilitare l'uso del modulo Kqemu anche agli utenti user: sudo gedit /etc/udev/rules.d/60-kqemu.rules #se usiamo Ubuntu sudo kate /etc/udev/rules.d/60-kqemu.rules #se usiamo Kbuntu e aggiungiamo (o modifichiamo così) la seguente riga: KERNEL=="kqemu", NAME="%k", MODE="0660", GROUP="kqemu" #(lasciate una riga bianca in fondo al file) - Adesso modifichiamo il file sudo kqemu #(nel mio caso era già così) sudo gedit /etc/modprobe.d/kqemu #kate se usate Kubuntu e aggiungiamo (o modifichiamo così) la seguente riga: options kqemu major=0 #(lasciate una riga bianca in fondo al file) - Abbiamo quasi finito di preparare il tutto ora aggiungiamo il gruppo kqemu e aggiungiamo il nostro utente a tal gruppo per poter usare l'accelerazione Hardware (kqemu) anche da user: sudo addgroup --system kqemu sudo adduser $USER kqemu - Infine aggiungiamo kqemu al file modules in modo che venga caricato all'avvio del pc: sudo gedit /etc/modules #kate se usate Kubuntu e aggiungete in fondo al file: kqemu #(lasciate una riga bianca in fondo al file) e carichiamo il modulo con un(se il comando va a buon fine nella shell non uscirà nessuna risposta!): sudo modprobe kqemu verifichiamo che kqemu sia caricato con: lsmod |grep kqemu avremo una risposta tipo: kqemu 180648 0 - Ora una chicca di default /dev/shm è impostato a un max di metà della ram fisica, ma se noi vogliamo dare maggior quantità di ram a qemu, lo possiamo fare editando il file fstab
sudo gedit /etc/fstab #kate se usate Kubuntu e modifichiamo o creiamo (io non avevo tale riga) la riga: none /dev/shm tmpfs defaults 0 0 con none /dev/shm tmpfs defaults,size=1000M 0 0 #dove 1000M equivale a 1GB nel mio caso nel vostro #dipende dalla ram installata nel vostro p,io ho #2GB+4GBswap #(lasciate una riga bianca in fondo al file) - A questo punto siamo a posta, MA per chi come me dispone di una cpu dual core con virtualizzazione nativa, possiamo abilitare oltre a kqemu anche kvm il modulodelkernel Linux per la virtualizzazione nativa, che sfrutta la virtualizzazione nativa di tali cpu ottenendo prestazioni quasi pari all'installazione sulla macchina reale!! - Innanzi tutto controlliamo che la nostra cpu supporti effettivamente la virtualizzazione nativa: da shell: egrep '(vmx|svm)' /proc/cpuinfo se esce una pappardella simile a quella che esce a me avete la virtualizzazione nativa, se non esce niente la vostra cpu non la supporta.
Risultato comando: flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy ts fid vid ttp tm stc flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy ts fid vid ttp tm stc - La nostra cpu supporta la virtualizzazione nativa quindi: sudo apt-get install kvm libvirt-bin ubuntu-vm-builder #ci tengo a precisare che basterebbe installare solo kvm # "Libvirt is a C toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes). The library aims at providing a long term stable C API for different virtualization mechanisms. It currently supports QEMU and KVM." # "This is the Ubuntu VM builder script which automates the process of creating a ready to use VM based on Ubuntu. You can pass command line options to add extra packages, remove packages, choose which version of Ubuntu, which mirror etc. On recent hardware with plenty of RAM, tmpdir in /dev/shm, and a local mirror, you can bootstrap a vm in less than a minute." #Io personalmente ho installato solo il modulo kvm - Ora aggiungiamo il nostro utente al gruppo kvm (per poter utilizzare il modulo anche da user) sudo adduser `id -un` kvm otterremo una risposta simile aquesta:
Aggiunta dell'utente «marco» al gruppo «kvm» ... Aggiunta dell'utente marco al gruppo kvm Eseguito. - Infine carichiamo il modulo kvm all'avvio (riapriamo il file modules): sudo gedit /etc/modules #kate se usate Kubuntu e aggiungete in fondo al file: kvm-amd #se AVETE una CPU AMD kvm-intel #se AVETE una CPU INTEL #(lasciate una riga bianca in fondo al file) e carichiamo il modulo con un (se il comando va a buon fine nella shell non uscirà nessuna risposta!): sudo modprobe kvm-amd #se AVETE una CPU AMD sudo modprobe kvm-intel #se AVETE una CPU INTEL verifichiamo che kvm sia caricato e attivo con: lsmod |grep kvm avremo una risposta tipo: kvm_amd 40972 0 kvm 176624 1 kvm_amd
- Abbiamo finito ora riavviamo il pc e al riavvio inizieremo a Virtualizzare! Ora che è tutto pronto creiamo l'immagine per il nostro disco virtuale dove verrà installato il nostro SO Virtuale - creare disco virtuale: /usr/bin/qemu-img create -f qcow2 /home/marco/vdisk.img 30000MB #dove qcow2 è il tipo di file immagine usato per creare il disco virtuale, questo tipo di file immagine è ad espansione dinamica cioè anche se la dimensione massima è impostata a 30GB avrà le dimensioni effettivamente utilizzate dal sistema virtuale
- Ora che abbiamo creato il file immagine possiamo lanciare la nostra macchina virtuale: - lanciare la macchina virtuale da file immagine:
sudo /usr/bin/qemu -usb -localtime -hda /home/marco/vdisk.img -cdrom /home/marco/KDE-Four-Live.i686-0.1.0.iso -boot d -m 512 -soundhw all - lanciare la macchina virtuale da cdrom:
sudo /usr/bin/qemu -usb -localtime -hda vdisk.img -cdrom /dev/scd0 -boot d -m 512 -soundhw all # dove /dev/scd0 dipende dal nome del device del vostro cdrom
- lanciare la macchina virtuale da HD:
- sudo /usr/bin/qemu -usb -localtime -hda vdisk.img -boot c -m 512 -soundhw all
#l'opzione per lanciare la macchina virtuale da HD : -boot c - lanciare la macchina virtuale da HD CON CDROM ATTIVATO - usb - LAN:
- sudo /usr/bin/qemu -smb /home/marco/Condivisa -usb -usb /dev/sdb1 -localtime -soundhw all -hda /vdisk.img -cdrom /dev/scd0 -boot c -m 512 -net nic,macaddr=00:90:F6:29:C8:39 -net user -monitor stdio
Leggenda: - -m 512 "Quantità di ram assegnata alla VM"
- -usb "abilitiamo uso usb alla VM"
- -hda "disco virtuale"
- -soundhw "abilitiamo scheda sonora"
- -net nic,macaddr=00:90:F6:29:C8:39 -net user "attiviamo scheda di rete" per default è già attiva.
- -monitor stdio "console di qemu serve per poter cambiare cdrom al volo e molto altro"
- -cdrom /dev/scd0 "attiviamo cdrom fisico"
lanciare la macchina virtuale con kvm (virtualizzazione Nativa della CPU per prestazioni quasi pari all'installazione Fisica: sudo kvm -m 1000 -localtime -usb -cdrom /media/ArchivioLinux2/DesktopBSD-1.6-i386-CD.iso -boot c /media/ArchivioLinux2/vdiskDesktopBSD.img -soundhw all Nel caso otteniate il seguente errore: "open /dev/kvm: Permission denied Could not initialize KVM, will disable KVM support Ubuntu does not support running KVM without hardware acceleration. Sorry." basta lanciare la macchina virtuale da root usando sudo ed ecco infine qualche altro comando utile: informazioni sull'mmagine: qemu-img info /vdisk.img qemu-img info /media/ArchivioLinux2/vdisk.img
CONVERTIRE FILE IMMAGINE: qemu-img convert -f qcow /vdisk.img -O qcow2 /media/Archivio/vdisk2.img Ed ecco la pagina Ufficiale di Qemu: http://bellard.org/qemu/ e la documentazione ufficiale: http://bellard.org/qemu/user-doc.html Ecco le due gui per l'uso di Qemu: 
Ed ecco XP Virtualizzato su Ubuntu: Nel Prossimo articolo parlerà dell'installazione di seamlessrdp per utilizzare un' applicazione Windows direttamente nel vostro desktop Linux (nel caso l'applicazione non sia utilizzabile con l'ottimo Wine)
Copyright 2008 Marco Gastaldello Licenza Articolo: Rilasciato nei termini della Licenza per Documentazione Libera GNU, Versione 1.1 o ogni versione successiva pubblicata dalla Free Software Foundation. è garantito il permesso di copiare, distribuire e/o modificare questo documento seguendo i termini della Licenza per Documentazione Libera GNU, Versione 1.1 o ogni versione successiva pubblicata dalla Free Software Foundation; senza Sezioni non Modificabili, e nessun Testo Copertina. Una copia della licenza è acclusa nella sezione intitolata "Licenza per Documentazione Libera GNU". |