以前、Ubuntu のKVMにWindows 10をインストールし、Androidからリモートデスクトップで接続してゲームをしようとしました。
このときはKVM上のWindows 10の性能が悪かったため、KVMからVMware Workstation Playerに移行し、一応満足な性能は得られたのですが、リモートデスクトップ経由で起動できないゲームがあったため、結局普通に中古のノートPCを購入しました。
しかし、KVMの使用を諦めたのがずっと心に引っかかっていて、いつかリベンジしたいと考えていました。というのも、仕事で使っているKVM上のWindows Server 2012 R2は快適に使えているからです。なぜ家ではダメなのか。
勤め先のKVMを動かしているサーバーマシンはかなりハイスペックなので、その恩恵である可能性があります。
そこで、ホストPCの性能が良くなれば、家のKVM環境のWindows 10も使い物になると思い、ホストPCをCeleron J1900(PassMark Score 1862)のデスクトップPCからCore i5-3210M(PassMark Score 3819)のノートPC(acer V3-571-H58D/K)に変更してみることにしました。
CPU性能で倍以上になりますし、仮想化支援技術として、VT-xだけでなくVT-dもサポートしているので、なんとなく期待できそうです。
それでは、設定していきます。
Linuxをインストールする
まず、ノートPCにLinuxをインストールします。Linuxは、Ubuntu 18.04 LTS を選択しました。
Windows 10で使っているボリューム(ディスク領域)の縮小
Ubuntu をインストールするノートPCは、すでにWindows 10が入っています。しかし、このWindows 10は消したくありません。そこで、Windows 10とUbuntu を共存させることにします。
Windows 10のスタートメニューを右クリックすると出てくる「ディスクの管理」でWindows 10が入っているボリュームを選択し、「ボリュームの縮小」を行います。470GBくらいのサイズだったので、250GBまで縮小し、Ubuntu 用に220GB確保しました。
Ubuntu 18.04 LTS の入手
以下のサイトからUbuntu 18.04 LTSの日本語Remixをダウンロードし、DVD-Rに焼きます。
Ubuntu 18.04 LTS 日本語 Remix リリース | Ubuntu Japanese Team
Ubuntu のインストール
ノートPCのDVDドライブにUbuntu 18.04 LTSのDVD-Rをセットし、起動します。すると、Ubuntu の画面が表示されます。
(DVDドライブから起動するには、BIOSやUEFIの設定が必要かもしれません。)
基本は画面の指示に従ってインストールしますが、「インストールの種類」では、「それ以外」を選択し、Windows 10のパーティション(Windowsでいうボリュームのこと)を残したまま、Ubuntu をインストールするためのパーティションを追加します。
スワップ領域とルート( / ) をマウントするパーティション(ext4ジャーナリングファイルシステム)の2つを作成します。スワップ領域は搭載メモリ量の1~2倍が目安です。このノートPCはメモリが12GBですが、ほとんどスワップを使わないと考えて8GBにしておきました。
Linuxをリモート管理する設定を行う
次にUbuntu をリモートで管理できるようにするため、sshとvncserverの設定を行います。
なぜリモート管理の設定をするかというと、ノートPCが置いてある部屋はエアコンが無く、猛烈な暑さだからです。エアコンのある部屋で快適に作業がしたいと考えました。
※「ノートPCなら容易に移動できるだろう」という突っ込みがありそうですが、このノートPCはでかくて重く、色んな線が繋がっているので移動するのが面倒くさかったのです。
sshは以下のコマンドでインストールします。インストールするだけでリモートでコンソール操作が可能になります。
sudo apt-get install openssh-server
vncserverはtightvncserverをapt-getでインストールするだけではうまくいかなかった(画面に何も出ず、マウスをクリックしても何も起きない)ため、以下のWebページを参考にさせていただいて設定しました。
具体的には、合わせてxfceをインストールし、vncで接続するときはウィンドウマネージャーにxfceを使うようにしました。
Ubuntu 16.04 LTSにXcfe (or LXDE) とTightVNC Serverでリモートデスクトップ環境を構築する | ALGO GEEKS
Linuxで仮想環境を起動する
KVMをGUIで管理するツールをインストールする
KVMをGUIで使うためにvirt-managerをインストールします。kvmもインストールしようとしましたが、Ubuntu 18.04 LTSではインストール必須になったためか、apt-getでインストールするパッケージには含まれていないようです。
以下のコマンドでvirt-managerをインストールします。
sudo apt-get install virt-manager
仮想環境にWindows 10をインストールする
ここで少しはまりました。
リモートからvnc越しに、Windows 10をインストールしようとしましたが、最初のインストール画面が出るものの、マウスやキー入力が効きません。なのでvnc越しのインストールは諦め、ノートPCを直接操作してインストールしました。
なお、直接操作しても、なぜかマウスはまともに動いてくれなかったので、すべてキーボードで操作しました。(インストール完了後はマウスも大丈夫でした)
仮想マシンのスペックは以下としました。
- CPU:2コア
- メモリ:4GB
- HDD:64GB
- NIC:ブリッジ
Windows 10のライセンス認証をする
Windows 10のライセンス認証は、以前、VMware Workstation PlayerにWindows 8をインストールしたときのライセンスが移行できました。
このライセンスはもともとKVMのWindows 10で使っていましたが、VMwareに移行した後は、Windows 8で使っていました。
今回、さらにKVMのWindows 10に移行したわけです。
KVMのWindows 10からVMwareのWindows 8に移行するときは、Microsoftに電話する必要がありましたが、今回は「このデバイス上のハードウェアを最近変更しました」から元のPCを選んでアクティブ化することでいけました。
この方法でのライセンス移行は1回しかできないようですが、Windows 10がアップデート版であれば、一度アップデート前のバージョンをインストールして電話認証することでリセットされるようです。
つまり、下記の1のパターンは3番目のVMwareへの移行でNGですが、2のパターンは3番目のWindows 8の認証でリセットされるため、4番目までいけるということです。
- Windows 10(物理マシン)→Windows 10(KVM)→Windows 10(VMware)
- Windows 10(物理マシン)→Windows 10(KVM)→Winows 8(VMware)→Windows 10(KVM)
そのうちホストPC変更後の性能を測ってみたいと思います。
(追記)
その後、KVM上のWindows 10の性能検証を行いました。↓の記事を書きましたのでよろしければご覧ください。