QEMU KVM に Windows 11 をインストールする
Ubuntu 25.10 で QEMU KVM を利用し、ゲスト OS として Windows 11 をインストールして設定した。
パッケージのインストールと Windows 11 のインストール
apt install qemu-kvm libvirt-daemon-system libvirt-clients ovmf swtpm virt-manager virt-viewer virtiofsd
asdf を使用している環境度上は virt-manager を実行するのに環境変数の設定が必要だった。
ASDF_PYTHON_VERSION=system virt-manager
virt-manager の「新しい仮想マシンの作成」で、Microsoft のページからダウンロードした Win11_25H2_Japanese_x64.iso を使って Windows 11 をインストールする。
画面サイズの自動調節とファイル共有
ゲストの Windows の画面サイズを自動で調節するように設定する。 ホストの Ubuntu のディレクトリにアクセスする設定を行う.
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/ から virtio-win-0.1.285.iso をダウンロードし、Windows のドライブに設定する。 virtio-win-guest-tools.exe を実行してインストールする。
virt-manager で「メモリー」にある「共有メモリを有効にする」にチェックを入れる。 「ハードウェアを追加」で「ファイルシステム」でホストのディレクトリを選び、追加する。 virt-manager から virtiofs を使ったファイルシステムを追加する。 Windows の画面サイズを Ubuntu のウィンドウに自動で合わせるためには、「ビデオ Virtio」をQXLにする。
Windows で WinFsp をインストールする。 https://winfsp.dev/ から winfsp-2.1.25156.exe をダウンロードし、実行する。
管理者の PowerShell で次を実行する。
sc.exe create VirtioFsSvc binpath="C:\Program Files\Virtio-Win\VioFS\virtiofs.exe" start=auto depend="WinFsp.Launcher/VirtioFsDrv" DisplayName="Virtio FS Service"
sc.exe start VirtioFsSvc
再起動すると無効になる。自動で起動するには、さらに
sc.exe config VirtioFsSvc start= auto
を実行する。
ディスクのファイルの圧縮
virt-manager で仮想マシンのインストール時にディスクのファイルを作ると 容量と同じサイズのファイルが作成されていた。 インストールの前にあらかじめディスクを作るには、root で適当なディレクトリで
qemu-img create -f qcow2 win.qcow2 256G
を実行する。すでに作成したファイルを縮小するには
qemu-img convert -O qcow2 win.qcow2 win_compact.qcow2
として、できたファイルで置きかえる。
Windows の設定
ゲストの暗号化や復元ポイントは、ホストでの暗号化や仮想マシンのバックアップで対応するので不要。 デバイスの暗号化 (Windows Pro だと BitLocker) を無効にし、復元ポイントは削除しておく。
インストール後の状態のバックアップを取るためにディスクのサイズを小さくしたいので Windows Update のファイルなどを削除するために「ディスクのクリーンアップ」を実行しておく。
仮想マシンの設定の XML の編集
仮想マシンの設定の XML を直接、編集するには
virsh -c qemu:///session edit VMNAME
とする。