ElementaryOS: ウィンドウズ10のVMをVirtioドライバでKVMに直インストール!
さてElementaryOSをインストールしたら、次はやっぱりウィンドウズ10のVMも手元にあるといいですね。ウィンドウズ10はライセンスなくてもマイクロソフトからISOをダウンロードして使いつづけられるのでウィンドウズVMとしては割といいかもしれないです。アクティベーションをしないとウィンドウズの細かいカスタマイズができない制限(例:タスクバーを上にしたいなど)がありますが、デフォルトで使い続けるのは可能のようですし、ウィンドウズアップデートもできるのでセキュリティ的にも安心。MSNにアカウント作らないといけないですが、これならウィンドウズ7を使い続ける理由がかなり減ります。
KVMのインストール
KVMでVMをつくる場合、CPUとマザーボードがKVMをサポートしてないと無理なのでまずはこれをクリアします。基本的に、kvm-okコマンドをやってOkになるようにBIOSを設定します。
素のLokiではおそらくkvm-okコマンドがないとなって
sudo apt-get install cpu-checker
をしろと言われるのでします。
で、次はこの微妙に古いUbuntu 14.04 LTS用のインストールガイドを参考にkvmをインストールします。
Lokiは16.04ベースですが、記事にもある14.04用の下のコマンド一発でインストール完了なので、記事はみなくともいいかも。
sudo apt-get install qemu-kvm qemu virt-manager virt-viewer libvirt-bin
virt-managerでGUIからVMのインストールをやっていきたいのでvirt-managerが入っています。
ウィンドウズ10のVMをvirtioドライバをつかってインストール
次はこのガイドにしたがってウィンドウズ10のVMを作ります。ガイドではコマンドラインでVMのインストールをしていますが、ここではvirt-managerでVMの制作をしてからガイドの3にもどってウィンドウズ10へvirtioドライバーの追加をします。
virtioを使わなくともウィンドウズ10のVMはつくれますが、KVMだとrawデバイスにしてもVirtualBoxより遅い感じでした。なのでKVM hypervisor用に作られたvirtioをつかって本来のパフォーマンスを得たいのですが、ウィンドウズ10のインストールディスクにはvirtioのドライバがないのが問題。しかし、上記ガイドのおかげでウィンドウズ10のインストール中にvirtioのドライバを追加する方法がわかりました。
基本的には、Fedoraが提供しているウィンドウズ用にビルド済みのバイナリがあるので、リンク先の[Stable virtio-win iso]からISOをとってきます。私が落としてきたのはvirtio-win-0.1.141.isoというファイル名でした。これをvirt-managerでウィンドウズ10のインストール開始直前にVMにCDとしてマウントして、ウィンドウズ10のインストール中にCDからvirtioのドライバをインストールしてやればよいのです。
virt-managerを開いたら、File->New Virtual Machineを選び、VMの制作を開始します。
プラスのボタンから新しいボリュームの制作。拙宅のインストールガイドに従った場合、/homeディレクトリは別のパーティションになっているはずだが、そうするとおそらく左側にはdefaultとDownloadsの2つのプールがあるはず。defaultは/varに置かれているのでメインのパーティションになるので、メインは貴重なSSDのパーティションだったりする場合、余裕のあるDownloadsを選択してからプラスのボタンを押して新しいボリュームを作ったほうが良いかも。
適当にボリュームに名前をつける。私の場合、Formatをrawにした。これはIDEデバイスとしてならデフォルトのqcow2よりもrawの方が速かったからだが、今回はVirtioデバイスになるのでqcow2のままでも良いのかもしれないが試していないのでrawにしておく。ウィンドウズ10は容量結構いるので100GBくらいあげたい。あとからディスクイメージの拡張も簡単なのでケチってギリギリ20くらいでもインストールはできる。でも長く使うなら60くらいは最低欲しい。
ここでVMの編成をインストール前にいじれるので、さっきダウンロードしたvirtioのISOをマウント(10に説明)して、さらにHDDをvirtioデバイス(11に説明)にする。
まず09の画面左下のAdd Hardwareボタンを押し、Storageを選択して、Select or creat custom storageをチェックし、virtioのISOを選択し、Device typeをCDROMにする。もともとあるCDROM 1にメディアマウントされていないっぽいのでそっちを使えばいいじゃないかと思うかもしれないが、そっちはウィンドウズ10のインストールメディアがマウントされる予定らしく開けておかないと失敗する。
これで準備完了なので左上にある[Begin installation]を押してウィンドウズ10のインストール開始。
ここからは適当に指示に従って、このガイドのステップ3にある Where do you want to install Windows?の画面まで進める。
バスをIDEからVirtioに変更したので仮想HDDがウィンドウズ10からは見えなくなっているので、左下[Load driver]のボタンを押して、ウィンドウズ10にVirtioのドライバーを追加する。ここでパスは上記ガイドにあるようにviostorフォルダからWindows 8.1を選びamd64を選ぶ。ウィンドウズ10なのに8.1?と思うがそうなのだ。
これでHDDが見えるようになったはずなので選択して、あとは流れでコルトナの声にびっくりしながらインストールをすすめればOk。
ちなみに
VM上では左のCtrl + AltでマウスがHostのOSへ帰ってくるので、全画面とかにした場合は、この状態で画面中央上にマウスを持って行くと全画面から脱出するアイコンが出てくる。
メモリとCPUコア数にもよりますが、VirtioにするとKVM上でのウィンドウズ10は結構パフォーマンスよい気がします。GPUパススルーとかもやってみたいですが、結構そう。