Ubuntuのqemu/kvmのゲストOSにWindows 11をインストールした。
このままでは以下のとおり使いにくい点が有るのであれこれ設定する
| 解像度を変更できない | SPICE Guest Toolsをインストールする |
| 画面サイズに合わせて解像度を自動調整したい | (調査中) |
| ホスト-ゲスト間でコピペができない | Spice agentをインストールする |
まずはゲストOSにSPICEをインストールする
これをやらないと始まらないのだ!
ゲストOSを使いやすくするSPICE
ホストOSとゲストOSの間の通信を拡張してくれるのがSPICEというプロトコル。クリップボードのコピーやモニタの追加情報などのやり取りができる。
qemu/kvmは標準でSPICEに対応しているが、ゲストOSは必ずしもそうではない。とうか標準では対応していない。
そこで、ゲストOSにSPICEと通信するためのエージェントをインストールしてあげる必要が有る。
これはqemu/kvmに限らず、VMwareやHyper-vでも同様。いずれもゲストOS側に専用のエージェントをインストールする必要が有る。
Windows 11にSPICEエージェントをインストールする
SPICEエージェントは以下のサイトでダウンロードできる

注意点はインストールするバイナリが2つ有る点。
一つはクリップボードなどのWindows固有の機能をエミュレートするSPICE Agent。もう一つはディスプレイの情報など様々な通信をサポートするSPICE Guest Tools。
SPICEのサイトの説明ではSPICE Guest ToolsにSPICE Agentが含まれていることになっているがまともに動作しないので別にインストールする必要が有る。

SPICE Guest ToolsはWindows binariesの中に有るspice-guest-toolsのリンクをクリックするだけでダウンロードできる。
ダウンロードしたファイルをダブルクリックするだけでインストールが完了する。
SPICE AgentはWindows binariesの中に有るWindows SPICE agentのリンク先から「spice-vdagent-x64-0...」を右クリックしてダウンロードする。

SPICE Agentもダウンロードしたファイルをダブルクリックするだけでインストールが完了する。
コントロールパネルの「プログラムと機能」でSpice agentとSPICE Guest Toolsが表示されれば正しくインストールされている。

サービスも正しく登録されていることを確認しておこう。
Spice Agentが実行状態になっていて、SPICE VDAgentの状態が空白になっていれば正しく動作している。

解像度を変更できない
解決策 : SPICE Guest Toolsをインストールする
すでにSpice Guest Toolsをインストールしているので解決しているはず。
qemu/kvmのホスト側でQXLが有効になっていないとうまく動作しない。
QXLの概要とVirt-managerでQXLを有効にする手順は以下の通り。
QXLかVirt-ioか… QXLを選ぶ
ゲストOSのデバイスドライバはホストOSとの間で準仮想化されたドライバを使う。
ほとんどのデバイスはVirt-IOを使うとよいが、グラフィックボードだけはVirt-IOでは性能が出なかったり制約があったりする。
ゲストがWindows 10やWindows 11の場合、「ディスプレイの設定」画面で解像度を変更できない場合はだいたいこれが原因。
そこでグラフィックドライバだけはQXLを使用する。
解決策 : ゲストOSのビデオのモデルをQXLにする
やり方はかんたん。virt-managerでゲストOSの設定を開いて、ビデオのモデルでQXLを選ぶだけ。


ホストーゲスト間でクリップボードのコピペができない
解決策 : Spice agentをインストールする
すでにインストール済みのはずなので解決しているはず。