QEMUをWSL2で動かす
KVMを使う仮想マシン環境の1つにQEMUがある。QEMUは、CPUエミュレーションをするためのソフトウェアだが、KVMを利用することで、ホストと同一アーキテクチャのCPUであれば、高速なエミュレーション(つまり仮想マシンとしての実行)が可能になる。
ただし、複雑なソフトウェアでもあるため、オプションなどもかなり難解だ。今回は、このQEMUをKVMで動作させ、WSL2の仮想マシン支援機能を試してみることにする。準備のために必要なのは、
・QEMUのインストール(qemu-kvmをインストール)
・実行イメージの入手
といった操作である。QEMUはグラフィックス表示のエミュレーションにも対応していて、WindowsのようなOSも実行可能だが、今回はLinuxをグラフィックスなしの環境で動作させることにする。
まずは、Linuxの実行イメージを入手しよう。QEMUは、qcow2という形式の実行イメージファイルを使う。もちろん、OSのISOイメージなどからも可能なのだが、ここは手っ取り早くqcow2ファイルを探す。
それには、LinuxのFedoraディストリビューションのクラウドバージョンを使う。これらはOpenStacks用に作られており、ちゃんと使おうとするとちょっと面倒だが、今回はQEMUのテストなので、起動してログインのプロンプトが出ればいいので、単にqcow2実行イメージだけを使うことにする。以下のURLからダウンロードした。
●Fedora Cloud
https://alt.fedoraproject.org/cloud/
このページを開くと「Cloud Base image for Openstack」という項目があるので「ダウンロード」リンクからqcow2ファイルをダウンロードする。ダウンロードしたファイルは、WSLディストリビューションのユーザーホームディレクトリに置いておく。なお、今回はWSL2のUbuntu-18.04で評価している。以後のLinuxコマンドに関しては、ディストリビューションにより違いが生じる場合もあるため、他のディストリビューションを用いる場合には注意が必要だ。
QEMUは、以下の手順でインストールする。
sudo apt-get update
sudo apt install qemu-kvm
QEMUを使う前に、/dev/kvmのパーミッションを変更して、rootでなくても利用できるようにする。それには、以下のコマンドを使う。
sudo chmod a+rw /dev/kvm
QEMUからKVMが使えるかどうかを確認してみる。以下のコマンドを実行する。
qemu-system-x86_64 -nographic -enable-kvm
メッセージが出たあとで「Ctrl+A」からCキーを押す。これでQEMUのモニターモードに入る。画面には「(qemu)」と表示されているはずだ。ここで「info kvm」と入力する(親切にいうと最後にエンターキーを押す)。KVMが有効になっていれば、以下のように表示が出るはずだ。
その後「quit」コマンドでQEMUを抜ける。この「Ctrl+A」からの手順は、「-nographic」オプションを設定しているときのみ有効だ。
Fedora Linuxを起動してみる
前述のURLからダウンロードしたファイルは、原稿執筆時点では、「Fedora-Cloud-Base-33-1.2.x86_64.qcow2」だった。バージョンアップなどで、ファイル名が変更になる可能性もあるので注意されたい。実行イメージがこのファイル名だったとして、以下のコマンドを実行してFedora LinuxをQEMU内で起動させてみよう。
qemu-system-x86_64 -m 1024 -enable-kvm -display none -cpu host -nographic -drive file=Fedora-Cloud-Base-33-1.2.x86_64.qcow2,if=virtio
すると、「見慣れた」Linuxの起動メッセージが表示され、最後にログインプロンプトが出るはずである。
ログインプロンプトが出るということは、ちゃんと起動したということだ。このクラウド版のFedoraにログインするには、パスワードなどを設定する必要があるのだが、手作業では面倒なので、ここまでとする。終了させるには、前述のように「Ctrl+A、C」として、QEMUのモニターモードに入り、quitコマンドを使う。
開発中のWSL2では、このように仮想マシン支援環境を利用できる。設定は当初デフォルトではオフだったが、最近のプレビュー版でオンになった。リリースが近いのであろう。おそらく次の春の機能アップデートには入るんじゃないかと思われる。
この連載の記事
-
第429回
PC
Windows Updateの「利用可能になったらすぐに最新の更新プログラムを入手する」はオンにした方がいいか? -
第429回
PC
WindowsからWordPadが廃止! RTF(Rich Text Format)はどうなる? -
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した -
第425回
PC
無料で使えるExcelにWord、Microsoft 365のウェブ版を調べた -
第424回
PC
Windowsの基本機能であるクリップボードについてあらためて整理 -
第423回
PC
PowerShellの今を見る 2つあるPowerShellはどっち使えばいい? -
第422回
PC
Windows 11の目玉機能が早くも終了、Windows Subsystem for Android(WSA)を振り返る -
第421回
PC
進化しているPowerToys LANで接続したマシンでキーボード/マウス共有機能などが追加 -
第420回
PC
Windowsプレビュー版に搭載されたsudoを試す - この連載の一覧へ