In parole semplici, Qemu è un programma software gratuito e open source; utilizzato per creare macchine virtuali sopra altri sistemi operativi Linux proprio come VirtualBox e il lettore workstation VMware. Non solo Linux, ma è anche possibile installare questo software su Windows e MacOS per testare diverse distribuzioni Linux. Tuttavia, la maggior parte degli utenti Linux preferisce utilizzare VirtualBox per la sua interfaccia facile da usare e un'ampia gamma di compatibilità hardware. Sebbene VMware Workstation Player sia disponibile anche per Linux, limitato in termini di funzionalità rispetto a VirtualBox. In tali circostanze, sono disponibili un paio di noti software di virtualizzazione hardware open source con il proprio ambiente di sistema operativo Linux che possono convertire qualsiasi macchina bare metal in una piattaforma di virtualizzazione completa. Parliamo di tali piattaforme in qualche altro articolo.
Qui in questo articolo tutorial di Qemu Ubuntu, vedremo come installare e configurare questo emulatore di macchina open source e strumento di virtualizzazione su Ubuntu.
Possiamo eseguire sistemi operativi e programmi eseguendo il codice ospite direttamente sulla CPU host utilizzando questo software. Supporta la virtualizzazione utilizzando il modulo kernel KVM in Linux. Quando si utilizza KVM, è possibile virtualizzare x86, server e PowerPC incorporato, POWER a 64 bit, S390, ARM a 32 bit e 64 bit e guest MIPS.
Tutorial Qemu Ubuntu: come installare tramite il terminale di comando
Per installare Qemu su Ubuntu esegui i seguenti comandi indicati di seguito.
Nota: Abbiamo utilizzato Ubuntu 18.04 per installare e creare una macchina virtuale basata sul kernel, ma i comandi forniti qui sono gli stessi per le versioni precedenti come Ubuntu 17.04, Ubuntu 16.04, Ubuntu 15.04... Mentre scrivo questo tutorial l'ultima versione diQemu era 3.1.0.
- Vai aUbuntu
- Apri lo strumento terminale della riga di comando su Ubuntu. La scorciatoia èCTRL+ALT+T.
- Sul terminale esegui il comando seguente:
sudo apt-get install qemu
- Installa il pacchetto KVM, il comando è
sudo apt-get install qemu-kvm
- Per verificare la versione di Qemu utilizzare il comando seguente
apt show qemu-system-x86
- Per il controllo della versione KVM
kvm -version
Uscita del campione
h2s@h2s-VirtualBox:~$ sudo apt-get install qemu [sudo] password for h2s: Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: binfmt-support cpu-checker ibverbs-providers ipxe-qemu ipxe-qemu-256k-compat-efi-roms libaio1 libcacard0 libfdt1 libibverbs1 libiscsi7 libnl-route-3-200 librados2 librbd1 librdmacm1 libsdl1.2debian libspice-server1 libusbredirparser1 libxen-4.9 libxenstore3.0 libyajl2 msr-tools qemu-block-extra qemu-slof qemu-system qemu-system-arm qemu-system-common qemu-system-mips qemu-system-misc qemu-system-ppc qemu-system-s390x qemu-system-sparc qemu-system-x86 qemu-user qemu-user-binfmt qemu-utils seabios sharutils Suggested packages: qemu-user-static samba vde2 qemu-efi openbios-ppc openhackware openbios-sparc sgabios ovmf debootstrap sharutils-doc bsd-mailx | mailx The following NEW packages will be installed: binfmt-support cpu-checker ibverbs-providers ipxe-qemu ipxe-qemu-256k-compat-efi-roms libaio1 libcacard0 libfdt1 libibverbs1 libiscsi7 libnl-route-3-200 librados2 librbd1 librdmacm1 libsdl1.2debian libspice-server1 libusbredirparser1 libxen-4.9 libxenstore3.0 libyajl2 msr-tools qemu qemu-block-extra qemu-slof qemu-system qemu-system-arm qemu-system-common qemu-system-mips qemu-system-misc qemu-system-ppc qemu-system-s390x qemu-system-sparc qemu-system-x86 qemu-user qemu-user-binfmt qemu-utils seabios sharutils 0 upgraded, 38 newly installed, 0 to remove and 366 not upgraded. Need to get 54.9 MB/62.2 MB of archives. After this operation, 341 MB of additional disk space will be used. Do you want to continue? [Y/n] Y h2s@h2s-VirtualBox:~$ sudo apt-get install qemu-kvm [sudo] password for h2s: Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: qemu-kvm 0 upgraded, 1 newly installed, 0 to remove and 366 not upgraded. Need to get 13.2 kB of archives. After this operation, 120 kB of additional disk space will be used. Get:1 https://in.archive.ubuntu.com/ubuntu bionic-updates/main amd64 qemu-kvm amd64 1:2.11+dfsg-1ubuntu7.9 [13.2 kB] Fetched 13.2 kB in 2s (6,569 B/s) Selecting previously unselected package qemu-kvm. (Reading database ... 113459 files and directories currently installed.) Preparing to unpack .../qemu-kvm_1%3a2.11+dfsg-1ubuntu7.9_amd64.deb ... Unpacking qemu-kvm (1:2.11+dfsg-1ubuntu7.9) ... Setting up qemu-kvm (1:2.11+dfsg-1ubuntu7.9) ... Processing triggers for man-db (2.8.3-2) ...
Crea macchina virtuale
Dopo aver installato ilQemusul sistema host Ubuntu, è tempo di creare macchine virtuali.
Crea disco rigido virtuale
Il comando per creare un disco rigido virtuale è
qemu-img create Puppy.vdi 10G
Nota: Nel comando precedente Puppy.vdi è il nome del nostro disco rigido virtuale. Puoi nominarlo secondo la tua scelta. L'estensione.VDI creerà un formato immagine DISCO virtuale, se lo desideri puoi sostituirlo con i formati .img (formato immagine RAW) .vhd e .vmdk.
Possiamo anche usare ilFormati predefiniti del disco rigido virtuale di Qemuche sono .qcow2, .qed, .qcow e .cow.
Quindi, se lo stesso disco rigido che abbiamo creato sopra; deve essere creato nel formato disco Qemu, quindi il comando sarà
qemu-img create -f qcow2 Puppy.qcow 10G
10 Gè la quantità di spazio che vogliamo allocare sul disco rigido virtuale. Qui stiamo installando Puppy Linux che non richiede molto spazio, quindi abbiamo utilizzato 10 G (G sta per Giga Byte GB). Tuttavia, in questo tutorial utilizzeremo il formato disco VDI.
Avvia dall'immagine ISO
Dopo aver creato l'hard disk virtuale, avviamo l'ISO in ambiente Live. Stiamo utilizzando il tipo di sistema operativo Linux, ovvero l'immagine ISO di Puppy Linux risiedeva sul desktop del nostro Ubuntu.
qemu-system-x86_64 -boot d -cdrom Desktop/puppy.iso -m 512
Nel comando precedente, abbiamo utilizzato l'immagine ISO che si trova sulla nostra cartella desktop. Allo stesso modo, devi menzionare il percorso del tuo file ISO nel comando; il resto del comando rimarrà lo stesso. IL-Mindicato la quantità di RAM assegnata al sistema operativo guest dal sistema host, qui è 512 MB.
Esecuzione di Qemu per installare il sistema operativo sul disco rigido virtuale
Non appena esegui il comando precedente, il sistema operativo Linux guest inizierà ad avviarsi e potrà essere testato nell'ambiente livema per la sua installazione dobbiamo collegare il disco rigido virtuale.Quindi, ad esempio, vuoi installare anche il sistema operativo guest come Windows o qualsiasi altro Linux; allora dobbiamo dire al Qemu, ehi! ecco la guida.Basta digitare il nome del disco virtuale che hai creato sopra
qemu-system-x86_64 -boot d -cdrom Desktop/puppy.iso -m 512 -hda Puppy.vdi
Avvia direttamente dal CD ROM
Oltre ai file ISO, l'utente può anche avviare il sistema operativo direttamente dal CD ROM:
qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512
Nella riga di comando sopra, Qemu preleverà i file di avvio dall'unità disco CD-ROM.
Abilita i moduli di accelerazione KVM o Intel
Per accelerare le macchine virtuali QEMU, possiamo abilitare KVM o Intel HAXM. Quindi, per eseguire la VM più velocemente, usa le istruzioni-accel kvmO-abilita-kvmper KVM e-accel haxO-abilita-haxper IntelHAXM.
Per esempio:
qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512 -enable-kvm
O
qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512 -enable-hax
Avvio dal disco rigido virtuale
Dopo l'installazione del sistema operativo guest, ora se vogliamo avviare il nostro disco rigido virtuale per un ulteriore utilizzo o abbiamo già qualche immagine del disco rigido VDI o VHD, utilizzala semplicemente con il comando seguente.
qemu-system-x86_64 -hda (percorso del disco rigido virtuale)
qemu-system-x86_64 -hda puppy.vdi
Qemu img convertire
Questo strumento di virtualizzazione basato su comandi non solo può creare VM, ma consente anche agli utenti di convertire i formati di immagine. Ecco il comando per quello
qemu-img converte {nome_immagine} {nome_immagine}
Per esempio,vogliamo convertire il formato ISO o qcow2 in formato raw IMG che il comando precedente utilizzerà in questo modo
qemu-img convert /Desktop/ubutnu.iso /Desktop/new.img
Nota: Dobbiamo fornire il percorso completo in cui risiede l'immagine e anche dove vogliamo salvare quella convertita.
Responsabile virtuale per Qemu
Dopo aver eseguito il comando precedente e la procedura per installare una macchina virtuale su QEMU; potresti voler rinunciare a causa della sua complessità. Ma aspetta, c'è un metodo di creazione VM semplice e facile da usare su questo strumento di virtualizzazione. È dotandolo di un'interfaccia utente grafica proprio come quellaScatola virtuale. Quindi, se sei un nuovo utente e vuoi evitare di scrivere comandi lunghi, esegui quanto seguecomando per installare Virt Manager su Ubuntu.
sudo apt-get install qemu virt-manager virt-viewer libvirt-bin
Esempio di output per il comando precedente:
h2s@h2s-VirtualBox:~$ sudo apt-get install qemu virt-manager virt-viewer libvirt-bin [sudo] password for h2s: Reading package lists... Done Building dependency tree Reading state information... Done qemu is already the newest version (1:2.11+dfsg-1ubuntu7.9). The following additional packages will be installed: augeas-lenses bridge-utils dmeventd ebtables gir1.2-appindicator3-0.1 gir1.2-gtk-vnc-2.0 gir1.2-libosinfo-1.0 gir1.2-libvirt-glib-1.0 gir1.2-spiceclientglib-2.0 gir1.2-spiceclientgtk-3.0 libaugeas0 libdevmapper-event1.02.1 libgovirt-common libgovirt2 libgtk-vnc-2.0-0 libgvnc-1.0-0 liblvm2app2.2 liblvm2cmd2.02 libnetcf1 libosinfo-1.0-0 libphodav-2.0-0 libphodav-2.0-common libpython-stdlib libpython2.7 libpython2.7-minimal libpython2.7-stdlib libreadline5 libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5 libusbredirhost1 libvirt-clients libvirt-daemon libvirt-daemon-driver-storage-rbd libvirt-daemon-system libvirt-glib-1.0-0 libvirt0 libxml2-utils lvm2 osinfo-db python python-asn1crypto python-cairo python-certifi python-cffi-backend python-chardet python-cryptography python-dbus python-enum34 python-gi python-gi-cairo python-idna python-ipaddr python-ipaddress python-libvirt python-libxml2 python-minimal python-openssl python-pkg-resources python-requests python-six python-urllib3 python2.7 python2.7-minimal spice-client-glib-usb-acl-helper virtinst Suggested packages: augeas-doc augeas-tools libosinfo-l10n gstreamer1.0-plugins-bad gstreamer1.0-libav libvirt-daemon-driver-storage-gluster libvirt-daemon-driver-storage-sheepdog libvirt-daemon-driver-storage-zfs numad radvd auditd systemtap nfs-common zfsutils pm-utils thin-provisioning-tools python-doc python-tk python-cryptography-doc python-cryptography-vectors python-dbus-dbg python-dbus-doc python-enum34-doc python-openssl-doc python-openssl-dbg python-setuptools python-socks python-ntlm python2.7-doc ssh-askpass python-guestfs The following NEW packages will be installed: augeas-lenses bridge-utils dmeventd ebtables gir1.2-appindicator3-0.1 gir1.2-gtk-vnc-2.0 gir1.2-libosinfo-1.0 gir1.2-libvirt-glib-1.0 gir1.2-spiceclientglib-2.0 gir1.2-spiceclientgtk-3.0 libaugeas0 libdevmapper-event1.02.1 libgovirt-common libgovirt2 libgtk-vnc-2.0-0 libgvnc-1.0-0 liblvm2app2.2 liblvm2cmd2.02 libnetcf1 libosinfo-1.0-0 libphodav-2.0-0 libphodav-2.0-common libpython-stdlib libreadline5 libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5 libusbredirhost1 libvirt-bin libvirt-clients libvirt-daemon libvirt-daemon-driver-storage-rbd libvirt-daemon-system libvirt-glib-1.0-0 libvirt0 libxml2-utils lvm2 osinfo-db python python-asn1crypto python-cairo python-certifi python-cffi-backend python-chardet python-cryptography python-dbus python-enum34 python-gi python-gi-cairo python-idna python-ipaddr python-ipaddress python-libvirt python-libxml2 python-minimal python-openssl python-pkg-resources python-requests python-six python-urllib3 python2.7 python2.7-minimal spice-client-glib-usb-acl-helper virt-manager virt-viewer virtinst The following packages will be upgraded: libpython2.7 libpython2.7-minimal libpython2.7-stdlib 3 upgraded, 65 newly installed, 0 to remove and 363 not upgraded. Need to get 11.0 MB/15.8 MB of archives. After this operation, 57.5 MB of additional disk space will be used. Do you want to continue? [Y/n] y
Dopo aver eseguito il comando precedentevedrai unGestore della macchina virtualestrumento chiamatoVirtsul tuo sistema Ubuntu. Per accedere alle macchine virtuali di Virt Manager, andare su tutte le applicazioni e cliccare sull'icona Virt.
Quando Virt Manager si è aperto, fai clic sulla prima opzione dal lato sinistro nel menu in alto. Questa opzione ti fornirà una GUI guidata per la creazione e la configurazione di macchine virtuali. Il processo è lo stesso di VirtualBox.
Quindi seleziona l'avvio del supporto sull'immagine ISO e quindi assegna la RAM, il numero di CPU e il disco rigido virtuale.
Durante la creazione delle VM su Virt Virtual Manager per Qemu otterrai anche un'opzione di selezione della rete da cui possiamo selezionare le reti virtuali per le nostre macchine. Per impostazione predefinita, ilIl NAT "predefinito" della rete virtuale è selezionato, lascialo così com'è se non disponi di più connessioni. È nel NAT che utilizza l'intervallo di indirizzi IP dell'host per condividere la connessione Internet.
Quindi, in questo modo, possiamo utilizzare questo software alternativo a Virtualbox non solo su Ubuntu ma anche su altri sistemi operativi Linux diversi per creare macchine virtuali. Questo software di virtualizzazione ha i suoi vantaggi rispetto a VirtualBox, come una maggiore velocità poiché utilizza direttamente il modulo del kernel. Inoltre, se acquisisci familiarità con i suoi comandi, la configurazione delle VM sui server headless diventa un gioco da ragazzi. Tuttavia, supporta quasi ogni tipo di emulazione del sistema operativo ma rispetto a Linux per il sistema operativo guest Windows è un po' lento. In tali situazioni abilitare i moduli acceleratori KVM o Intel HAXM. Inoltre, il punto da notare è che nell'ultima versione il supporto KVM è stato abbandonato ma l'HAXM open source continuerà comunque.
Se hai riscontrato problemi nel seguire questo tutorial, faccelo sapere, la sezione commenti è tutta tua!
Altre risorse utili:














