Ubuntu上で「VM Manager」を使いWindows11を動かす

UbuntuでVMを扱う場合、virt-managerCockpitを使うのが一般的ですが、自作した「VM Manager」の使い勝手がそれらを上回るようになってきたので、改めてVMを動かす方法を紹介してみます。ここではWindows 11を動作させる例です。

VM Managerのインストール

VM ManagerはUbuntuにインストールして使用するQEMU/KVMによる仮想マシンエミュレータです(GitHub)。操作はWebブラウザから行います。なお、VM Managerをインストールしたパソコンから以外では、Tailscale経由でのみアクセス可能になっているので、別のPCからWebブラウザ経由で操作するなら互いにTailscaleをインストールしておいてください。またTailscale Serve機能を利用しているのでTailscaleの管理画面で、「DNS」項目内の一番下にある「HTTPS Certificates」を有効化しておく必要があります。
ターミナルで下記を実行すればインストールされ、8090番ポートで公開されます。
またデフォルトプールは/opt/vmです。

cd ~
curl -fsSL https://raw.githubusercontent.com/hirogura/vmmanager/main/install-vmmanager1.sh -o install-vmmanager1.sh
chmod +x install-vmmanager1.sh
sudo ./install-vmmanager1.sh

Windows 11のISOイメージをダウンロード

VMを作成する前に、まずはWindows 11のISOを用意します。
Ubuntu上で直接ダウンロードする方法と、ローカルでダウンロードしてアップロードする方法の2通り紹介します。

方法1:Ubuntu上で直接ダウンロード

マイクロソフトのサイトからWin11_25H2_Japanese_x64_v2.isoをダウンロードします。
ダウンロードフォルダに移動しターミナルを開いてデフォルトプールにISOを移動します。

sudo mv Win11_25H2_Japanese_x64_v2.iso /opt/vm

次にVM用のドライバなどを含むISOイメージ、virtio-win ISOをダウンロードします。コマンドでダウンロードするなら下記。

cd /opt/vm
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

方法2:ローカルPCでダウンロードしてISOをアップロード

VM ManagerをインストールしたPCとは別のPCでダウンロードした場合は、VM Managerの画面で「ISOアップロード」を選択すれば、手元のPCからISOイメージをアップロードできます。

WIndows 11のVMを作成

Windows 11のISOイメージと、virtioのISOイメージを用意できたら、VMを作成します。
VM Managerの画面で「新規作成」を押し、VM名を付け、その横にある「Hyper-V拡張を有効化」にチェックを付けます。
あとは、vCPU数やメモリ容量を指定。その下にある「TPM」や「Secure Boot」もチェックを付け、右下にある「作成」ボタンを押します。

詳細設定画面では、ディスク項目で「追加」を押し、タイプで「CD-ROM(ISO)」を選択します。
Windows 11のISOイメージを指定し、ターゲットは「sda」などにします。

Windows 11のISOイメージを追加したら、さらに「追加」を押して、virtioのISOイメージも追加します。ターゲットは「sdb」などにしておけばよいでしょう。
続いて、ネットワークの項目でモデルが「virtio」だとドライバを入れるまで認識しないので、ひとまず「E1000e」などにしておきます。
また、その下で「USBタブレット」にチェックを入れます。これはVNCコンソールの画面で、操作するマウスと画面上のマウスカーソルを一致させるために必要となります。

ここまで指定が終われば「保存」ボタンを押して保存したあと、「起動」ボタンを押して起動します。

インストール途中でドライバ読み込み

Windows 11のインストールを進めていき、インストール先を指定する場面でvirtio接続のディスクは認識できないので、「ドライバーのロード」を押します。

virtioのCD-ROMを指定し、「amd64」-「w11」を選択します。

表示された「Red Hat VirtIO SCSI controller」をインストールすればディスクが表示されるようになるので、Windows11のインストールを進められるようになります。

Windows 11上でvirtioのゲストエージェントをインストール

Windows 11が起動したら、ゲストエージェントをインストールします。

virtioのCDを開いて、

ゲストツールをインストールします。

これで作業は終了です。
いったんPCを終了し、CD-ROM(ISOイメージ)を取り出したり、2つ目のCD-ROMドライブは削除したりしておきます。またネットワークドライバは、より性能の高い「virtio」に変更しておくと良いでしょう。

あとは、直接このVNCコンソールで操作してもよいですし、より性能を求めるならリモートデスクトップなどを利用して操作すればよいでしょう。
なお、SPICEを利用するならSPICE Guest Toolsをインストールします。

パスワードを設定した場合の自動ログイン設定

リモートデスクトップを有効にするにはアカウントにパスワードを設定する必要があります。パスワードを設定したWindows 11を自動ログインさせるには、まずコマンドプロンプトを管理者で実行してレジストリの設定を変更し、

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v DevicePasswordLessBuildVersion /t REG_DWORD /d 0 /f

パスワード設定画面を表示して設定します。

control userpasswords2

また、デスクトップアイコンを表示するならこちらで。

そのほかの便利機能

ディスクやUSB機器のパススルーも手軽に行えるようになっています。
また、ディスクイメージの拡張機能も備えているので、VM内のディスク容量が足りなくなったら拡大できます。

またディスクイメージを物理ディスクに書き込む機能も搭載しています。

とにかく欲しい機能を盛り盛りにしたので、かなり便利になったのでは。
UEFIの有効化/無効化、セキュアブートの有効化/無効化が手軽に行えるのも何気に重宝しています。
仮想USBメモリ機能や、それを物理メディアに書き込む機能もテスト用途で役立ちます。
今ではvirt-managerやCockpitは全く使用せず、VMを扱うならVM Managerだけで済むようになりました。

タイトルとURLをコピーしました