簡単に言うと、Qemu は無料でオープンソースのソフトウェア プログラムです。 VirtualBox や VMware ワークステーション プレーヤーと同様に、他の Linux オペレーティング システム上に仮想マシンを作成するために使用されます。 Linux だけでなく、このソフトウェアを Windows や MacOS にインストールして、さまざまな Linux ディストリビューションをテストすることもできます。ただし、ほとんどの Linux ユーザーは、使いやすいインターフェイスと幅広いハードウェア互換性のため、VirtualBox の使用を好みます。 VMware Workstation Player は Linux でも利用できますが、VirtualBox と比較すると機能が制限されています。このような状況では、ベア メタル マシンを完全な仮想化プラットフォームに変換できる、独自の Linux オペレーティング システム環境で利用できる、よく知られたオープンソース ハードウェア仮想化ソフトウェアがいくつかあります。このようなプラットフォームについては、別の記事で説明します。
この Qemu Ubuntu チュートリアル記事では、このオープン ソース マシン エミュレーターと仮想化ツールを Ubuntu にインストールしてセットアップする方法を説明します。
このソフトウェアを使用してホスト CPU 上でゲスト コードを直接実行することで、OS やプログラムを実行できます。 Linux の KVM カーネル モジュールを使用した仮想化をサポートします。 KVM を使用すると、x86、サーバーおよび組み込み PowerPC、64 ビット POWER、S390、32 ビットおよび 64 ビット ARM、および MIPS ゲストを仮想化できます。
Ubuntu に Qemu をインストールするには、以下に示すコマンドを実行します。
注記: カーネル ベースの仮想マシンのインストールと作成には Ubuntu 18.04 を使用しましたが、ここで指定するコマンドは、Ubuntu 17.04、Ubuntu 16.04、Ubuntu 15.04 などの古いバージョンでも同じです。このチュートリアルを書いている間、最新バージョンのQemu は 3.1.0 でした。
- に行くUbuntu
- Ubuntu でコマンド ライン ターミナル ツールを開きます。ショートカットはCTRL+ALT+T。
- ターミナルで次のコマンドを実行します。
sudo apt-get install qemu
- KVM パッケージをインストールします。コマンドは次のとおりです。
sudo apt-get install qemu-kvm
- Qemu のバージョンを確認するには、以下のコマンドを使用します
apt show qemu-system-x86
- KVMバージョン確認用
kvm -version
サンプル出力
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) ...
仮想マシンの作成
をインストールした後、ケムUbuntu ホスト システムでは、仮想マシンを作成します。
仮想ハードディスクの作成
仮想ハードディスクを作成するコマンドは次のとおりです。
qemu-img create Puppy.vdi 10G
注記: 上記のコマンドでは、Puppy.vdi は仮想ハード ドライブの名前です。好みに応じて名前を付けることができます。拡張子.VDI は仮想 DISK イメージ形式を作成します。必要に応じて、.img (生のイメージ形式) .vhd や .vmdk 形式に置き換えることもできます。
を使用することもできます。Qemu のデフォルトの仮想ハードディスク形式.qcow2、.qed、.qcow、.cow です。
したがって、上で作成したのと同じハードドライブがあるとします。 Qemu ディスク形式で作成する必要がある場合、コマンドは次のようになります。
qemu-img create -f qcow2 Puppy.qcow 10G
10Gは、仮想ハードドライブに割り当てるスペースの量です。ここでは、大量のスペースをまったく必要としない Puppy Linux をインストールしているため、10 G (G はギガバイト GB を表します) を使用しました。ただし、このチュートリアルでは、VDI ディスク形式を使用します。
ISO イメージから起動する
仮想ハードディスクを作成したら、ライブ環境で ISO を起動しましょう。 OS タイプは Linux を使用しています。つまり、Puppy Linux ISO イメージは Ubuntu のデスクトップにあります。
qemu-system-x86_64 -boot d -cdrom Desktop/puppy.iso -m 512
上記のコマンドでは、デスクトップ フォルダーにある ISO イメージを使用しました。同様に、コマンド内で ISO ファイルのパスを指定する必要があります。コマンドの残りの部分は同じままです。の-mホスト システムからゲスト OS に割り当てられた RAM の量を示しています。ここでは 512 MB です。
Qemu を実行して仮想ハードドライブに OS をインストールする
上記のコマンドを実行するとすぐに、ゲスト Linux OS が起動を開始し、ライブ環境でテストできるようになります。ただし、インストールするには仮想ハードディスクを接続する必要があります。したがって、たとえば、Windows やその他の Linux などのゲスト OS もインストールしたいとします。それならQemuに「おい!」と伝えなければなりません。ここがドライブです。上で作成した仮想ディスクの名前を入力するだけです
qemu-system-x86_64 -boot d -cdrom Desktop/puppy.iso -m 512 -hda Puppy.vdi
CD ROM から直接ブートする
ISO ファイルのほかに、ユーザーは CD ROM から OS を直接ブートすることもできます。
qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512
上記のコマンド ラインでは、Qemu は CD-ROM ディスク ドライブからブート ファイルをフェッチします。
KVM またはインテル アクセラレーション モジュールを有効にする
QEMU 仮想マシンを高速化するには、KVM または Intel HAXM を有効にします。したがって、VMをより速く実行するには、次の手順を使用してください-アクセルkvmまたは-enable-kvmKVMの場合と-アクセルハックスまたは-enable-haxインテル HAXM 用。
例えば:
qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512 -enable-kvm
または
qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512 -enable-hax
仮想ハードドライブから起動
ゲスト オペレーティング システムのインストール後、さらに使用するために仮想ハードディスクを起動する場合、またはすでに VDI または VHD ハードディスク イメージがある場合は、以下のコマンドでそれを使用するだけです。
qemu-system-x86_64 -hda (仮想ハードディスクのパス)
qemu-system-x86_64 -hda puppy.vdi
Qemu 画像変換
このコマンドベースの仮想化ツールでは、VM を作成できるだけでなく、ユーザーがイメージ形式を変換することもできます。そのためのコマンドは次のとおりです
qemu-img 変換 {image_name} {image_name}
例えば、ISO または qcow2 を IMG raw 形式に変換したいと考えています。上記のコマンドは次のように使用します。
qemu-img convert /Desktop/ubutnu.iso /Desktop/new.img
注記: 画像が存在する場所と、変換された画像を保存する場所の完全なパスを指定する必要があります。
Qemu の Virt マネージャー
上記のコマンドを実行し、QEMU に仮想マシンをインストールする手順を実行した後、複雑なため、あきらめたくなるかもしれません。ただし、この仮想化ツールにはシンプルで使いやすい VM 作成メソッドがあります。それは、次のようなグラフィカル ユーザー インターフェイスを提供することです。バーチャルボックス。したがって、あなたが新しいユーザーで、長いコマンドを書く手間を省きたい場合は、以下を実行してください。Ubuntu に Virt Manager をインストールするコマンド。
sudo apt-get install qemu virt-manager virt-viewer libvirt-bin
上記のコマンドの出力例:
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
上記のコマンドを実行した後が表示されます仮想マシンマネージャーというツールヴァートUbuntu システム上で。 Virt Manager 仮想マシンにアクセスするには、すべてのアプリケーションに移動し、Virt アイコンをクリックします。
Virt Manager が開いたら、上部メニューの左側から最初のオプションをクリックします。このオプションでは、仮想マシンの作成と設定のためのガイド付き GUI が提供されます。手順はVirtualBoxと同じです。
次に、メディアから ISO イメージへのブートを選択し、RAM、CPU の数、および仮想ハードディスクを割り当てます。
Qemu の Virt Virtual Manager で VM を作成するときに、マシンの仮想ネットワークを選択できるネットワーク選択オプションも表示されます。デフォルトでは、仮想ネットワークの「デフォルト」NAT が選択されています, 複数接続していない場合はそのままにしておきます。 NAT では、ホスト IP アドレス範囲を使用してインターネット接続を共有します。
したがって、このようにして、この Virtualbox 代替ソフトウェアを Ubuntu だけでなく、仮想マシンを作成する他のさまざまな Linux OS でも使用できるようになります。この仮想化ソフトウェアには、カーネル モジュールを直接使用するため速度が速いなど、VirtualBox にはない独自の利点があります。さらに、そのコマンドに慣れれば、ヘッドレス サーバー上で VM をセットアップするのは簡単になります。ただし、ほぼすべての種類のオペレーティング システム エミュレーションをサポートしていますが、Windows ゲスト OS 用の Linux と比較すると少し遅いです。このような状況では、KVM または Intel HAXM アクセラレータ モジュールを有効にしてください。また、注目すべき点は、最新バージョンではKVMサポートが終了しましたが、オープンソースのHAXMは引き続き継続されます。
このチュートリアルを実行する際に問題が発生した場合は、コメント セクションでお知らせください。
その他の役立つリソース: