In eenvoudige woorden: de Qemu is een softwareprogramma dat gratis en open source is; gebruikt om virtuele machines te creëren over andere Linux-besturingssystemen heen, zoals VirtualBox en VMware-werkstationspeler. Niet alleen de Linux, maar je kunt deze software ook op Windows en MacOS installeren om verschillende Linux-distributies te testen. De meeste Linux-gebruikers geven er echter de voorkeur aan om de VirtualBox te gebruiken vanwege de eenvoudig te gebruiken interface en een breed scala aan hardwarecompatibiliteit. Hoewel de VMware Workstation Player ook beschikbaar is voor Linux, beperkt qua functies in vergelijking met VirtualBox. In dergelijke omstandigheden zijn er een aantal bekende opensource hardwarevirtualisatiesoftware beschikbaar met hun eigen Linux-besturingssysteemomgeving, die elke bare metal-machine kunnen omzetten in een volledig virtualisatieplatform. We praten over dergelijke platforms in een ander artikel.
Hier in dit Qemu Ubuntu-tutorialartikel zullen we zien hoe u deze open source machine-emulator en virtualizer-tool op Ubuntu kunt installeren en instellen.
We kunnen besturingssystemen en programma's uitvoeren door de gastcode rechtstreeks op de host-CPU uit te voeren met behulp van deze software. Het ondersteunt virtualisatie met behulp van de KVM-kernelmodule in Linux. Bij gebruik van KVM kan men x86, server en embedded PowerPC, 64-bit POWER, S390, 32-bit en 64-bit ARM en MIPS-gasten virtualiseren.
Qemu Ubuntu-zelfstudie: installeren via de opdrachtterminal
Om Qemu op Ubuntu te installeren, voert u de volgende onderstaande opdrachten uit.
Opmerking: We hebben Ubuntu 18.04 gebruikt om een op Kernel gebaseerde virtuele machine te installeren en te maken, maar de hier gegeven opdrachten zijn hetzelfde voor de oudere versies zoals Ubuntu 17.04, Ubuntu 16.04, Ubuntu 15.04... Tijdens het schrijven van deze tutorial is de nieuwste versie vanQemu was 3.1.0.
- Ga naarUbuntu
- Open de opdrachtregelterminal op Ubuntu. De snelkoppeling isCTRL+ALT+T.
- Voer op de terminal het onderstaande commando uit:
sudo apt-get install qemu
- Installeer het KVM-pakket, de opdracht is
sudo apt-get install qemu-kvm
- Gebruik de onderstaande opdracht om de Qemu-versie te controleren
apt show qemu-system-x86
- Voor KVM-versiecontrole
kvm -version
Voorbeelduitvoer
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) ...
Maak een virtuele machine
Na het installeren van deQemuop het Ubuntu-hostsysteem is het tijd om virtuele machines te maken.
Maak een virtuele harde schijf
Het commando om een virtuele harde schijf te maken is
qemu-img create Puppy.vdi 10G
Opmerking: In het bovenstaande commando is Puppy.vdi de naam van onze virtuele harde schijf. U kunt het een naam geven zoals u zelf wilt. De extensie.VDI zal een virtueel DISK-beeldformaat creëren als je wilt, je kunt het vervangen door .img (onbewerkt beeldformaat) .vhd, en .vmdk-formaten doe je dat ook.
Wij kunnen ook gebruik maken van deQemu standaard virtuele harde schijfformatendit zijn .qcow2, .qed, .qcow en .cow.
Dus als dezelfde harde schijf die we hierboven hebben gemaakt; moet worden gemaakt in het Qemu-schijfformaat, dan zal de opdracht zijn
qemu-img create -f qcow2 Puppy.qcow 10G
10 Gis de hoeveelheid ruimte die we willen toewijzen aan de virtuele harde schijf. Hier installeren we Puppy Linux, wat helemaal geen grote hoeveelheid ruimte nodig heeft, dus gebruikten we 10 G (G staat voor Giga Byte GB). In deze zelfstudie gebruiken we echter het VDI-schijfformaat.
Opstarten vanaf ISO-image
Nadat we de virtuele harde schijf hebben gemaakt, gaan we de ISO opstarten in de Live-omgeving. We gebruiken het besturingssysteem Linux, dat wil zeggen dat de Puppy Linux ISO-image op het bureaublad van onze Ubuntu staat.
qemu-system-x86_64 -boot d -cdrom Desktop/puppy.iso -m 512
In de bovenstaande opdracht hebben we de ISO-afbeelding gebruikt die in onze bureaubladmap staat. Op dezelfde manier moet u het pad van uw ISO-bestand in de opdracht vermelden; de rest van de opdracht blijft hetzelfde. De-Mgaf de hoeveelheid RAM aan die is toegewezen aan het gastbesturingssysteem vanaf het hostsysteem, hier is dit 512 MB.
Voer Qemu uit om het besturingssysteem op de virtuele harde schijf te installeren
Zodra je de bovenstaande opdracht uitvoert, begint het gast-Linux-besturingssysteem op te starten en kan het worden getest in de live-omgevingmaar voor de installatie ervan moeten we een virtuele harde schijf aansluiten.U wilt dus bijvoorbeeld ook het gastbesturingssysteem zoals Windows of een andere Linux installeren; dan moeten we de Qemu vertellen: hé! hier is de rit.Typ gewoon de naam van de virtuele schijf die u hierboven hebt gemaakt
qemu-system-x86_64 -boot d -cdrom Desktop/puppy.iso -m 512 -hda Puppy.vdi
Direct opstarten vanaf CD-ROM
Naast de ISO-bestanden kan de gebruiker het besturingssysteem ook rechtstreeks vanaf cd-rom opstarten:
qemu-systeem-x86_64 -boot d -cdrom /dev/cdrom -m 512
In de bovenstaande opdrachtregel haalt de Qemu de opstartbestanden op van de CD-ROM-schijf.
Schakel KVM- of Intel-versnellingsmodules in
Om QEMU virtuele machines te versnellen, kunnen we de KVM of Intel HAXM inschakelen. Gebruik dus de instructies om VM sneller uit te voeren-accel kvmof-enable-kvmvoor KVM en-accel haxof-enable-haxvoor Intel HAXM.
Bijvoorbeeld:
qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512 -enable-kvm
of
qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512 -enable-hax
Opstarten vanaf virtuele harde schijf
Als we na de installatie van het gastbesturingssysteem onze virtuele harde schijf willen opstarten voor verder gebruik of als we al een VDI- of VHD-hardeschijfimage hebben, gebruiken we deze eenvoudigweg met de onderstaande opdracht.
qemu-system-x86_64 -hda (pad van de virtuele harde schijf)
qemu-system-x86_64 -hda puppy.vdi
Qemu img converteren
Deze op commando's gebaseerde virtualisatietool kan niet alleen VM's maken, maar stelt de gebruikers ook in staat de afbeeldingsformaten te converteren. Hier is het commando daarvoor
qemu-img converteer {afbeeldingsnaam} {afbeeldingsnaam}
Bijvoorbeeld,we willen de ISO of qcow2 converteren naar het onbewerkte IMG-formaat dat de bovenstaande opdracht als volgt zal gebruiken
qemu-img convert /Desktop/ubutnu.iso /Desktop/new.img
Opmerking: We moeten het volledige pad opgeven waar de afbeelding zich bevindt en ook waar we de geconverteerde afbeelding willen opslaan.
Virt Manager voor Qemu
Na het doorlopen van de bovenstaande opdracht en de procedure voor het installeren van een virtuele machine op QEMU; misschien wil je het opgeven vanwege de complexiteit ervan. Maar wacht, er is een eenvoudige en gemakkelijk te gebruiken VM-methode voor deze virtualisatietool. Het is door het een grafische gebruikersinterface te geven, net als deVirtuele doos. Als u dus een nieuwe gebruiker bent en uzelf wilt behoeden voor het schrijven van de lange opdrachten, voer dan het onderstaande uitopdracht om de Virt Manager op Ubuntu te installeren.
sudo apt-get install qemu virt-manager virt-viewer libvirt-bin
Voorbeelduitvoer voor de bovenstaande opdracht:
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
Na het uitvoeren van de bovenstaande opdrachtje ziet eenVirtuele machinebeheerdergereedschap genoemdVirtueelop uw Ubuntu-systeem. Om toegang te krijgen tot de virtuele machines van Virt Manager, gaat u naar alle applicaties en klikt u op het Virt-pictogram.
Wanneer de Virt Manager werd geopend, klikt u op de eerste optie aan de linkerkant in het hoofdmenu. Deze optie geeft u een begeleide GUI voor het maken en instellen van virtuele machines. Het proces is hetzelfde als de VirtualBox.
Selecteer vervolgens het opstarten van medium naar ISO-image en wijs vervolgens het RAM-geheugen, het aantal CPU's en de virtuele harde schijf toe.
Tijdens het maken van de VM's op de Virt Virtual Manager voor Qemu krijgt u ook een netwerkselectieoptie van waaruit we de virtuele netwerken voor onze machines kunnen selecteren. Standaard is deVirtueel netwerk 'standaard' NAT is geselecteerd, laat het zoals het is als je niet meerdere verbindingen hebt. Het bevindt zich in de NAT die het IP-adresbereik van de host gebruikt om de internetverbinding te delen.
Op deze manier kunnen we deze alternatieve Virtualbox-software dus niet alleen op Ubuntu gebruiken, maar ook voor andere verschillende Linux-besturingssystemen voor het maken van virtuele machines. Deze virtualisatiesoftware heeft zijn eigen voordelen ten opzichte van de VirtualBox, zoals een hogere snelheid omdat deze rechtstreeks de kernelmodule gebruikt. Bovendien, als je jezelf vertrouwd maakt met de commando's, wordt het opzetten van VM's op de headless servers een fluitje van een cent. Het ondersteunt echter bijna elke vorm van besturingssysteememulatie, maar in vergelijking met Linux voor Windows gastbesturingssystemen is het een beetje traag. Schakel in dergelijke situaties de KVM- of Intel HAXM-acceleratormodules in. Een ander punt dat moet worden opgemerkt: in de nieuwste versie is KVM-ondersteuning geschrapt, maar de open source HAXM zal nog steeds doorgaan.
Als u problemen ondervindt bij het volgen van deze tutorial, laat ons dan weten dat het commentaargedeelte helemaal van u is!
Andere nuttige bronnen:















