Linuxのカーネルソースをあれこれいじるにあたって、実験用のLinux環境が欲しくなり、新たにUbuntuの仮想マシンを作ることにしました。
で仮想化ソフトに何使うか考えたのですが、自宅ではWindows 8.1 Pro 64bitを使っていることだし、Hyper-Vを選択してみました。
Windows 8.1のHyper-Vは、Windows 8.1 Proもしくは Enterpriseの、それも64bit版のみで使えます。
Windows ServerのHyper-Vはプロ含め使っている人が多いと思うのですが、あえてWindows 8.1上のHyper-Vを試した記事というのも一興かと。
そんなわけで以下Windows 8.1 Pro 64bitのHyper-V上でUbuntu13.10の仮想マシンを作ったときの記録です。
(今回非LTS版を選んだのは、今12.04LTSを選んでも、これ書いている時点ではあと2ヶ月で次のLTSが出てすぐ陳腐化するから)。
まずWindows8.1 Proの標準ではHyper-Vが有効化されていないので有効化する必要があります。コントロール パネル¥プログラムから、「Windowsの機能の有効化または無効化」を選んで有効化。
仮想マシンはHyper-V マネージャーから操作します。デスクトップアプリなのにデスクトップにはショートカットは作られず。アプリ画面から起動します。
さっそく仮想マシンの作成、といきたいところですが、まず仮想マシンを接続するネットワークの口を作ります。
Hyper-V マネージャーの右のペインから、仮想スイッチマネージャーを選びます。仮想スイッチとは、仮想マシンを接続するネットワークハブみたいなものです。
仮想マシンからもインターネットへ接続したいので、仮想スイッチの種類は「外部」を選択。
どの物理インターフェイス(NIC)にブリッジするか選んでOKを押せば作成完了。Hyper-Vには似つかわしくないNICが写ってますが気にしない。
「管理オペレーティングシステムに云々」のチェックボックスは、ホストマシンと仮想マシンをネットワーク的に分離したいときチェックを外します。イーサの口が2個あるようなPCならよいですが、うちのは1個だけなので共有せざるを得ない。
ここから仮想マシンの作成です。
Hyper-V マネージャーの右のペインの「作成」から入ります。
世代の指定は、第1世代を選択しておきます。
実は最初に第2世代を選択してインストールを進めたのですが、Ubuntuをインストールする段階でつまづきました。
http://technet.microsoft.com/en-us/library/dn282285.aspx
によると、第2世代仮想マシンのゲストOSとしてLinuxはサポートされていないようです。
・Windows Server 2012
・Windows Server 2012 R2
・64-bit versions of Windows 8
・64-bit versions of Windows 8.1
のみ。
第2世代の方がより進んだ機能を提供するようですが、使えないのでは仕方ない。
仮想マシンに割り当てるメモリ量を選びます。
「この仮想マシンに動的メモリを使用します。」については、使った方がホストのメモリを効率よく使えるようですが、使うためには仮想マシン側にも対応が必要らしく。万一仮想マシン側が対応していない場合はトラブルの元なので外しました。
今回の場合、実験用マシンなので今後何に使うかわからず、今の時点では無難な方を選択しておきました。
ネットワークの構成では、先ほど作った仮想スイッチを選択します。
仮想ディスクサイズは、今回の場合用途を考えれば60Gbytesもあれば十分と考えました。ああ書き忘れましたが、今回インストールしたのはUbuntu13.10のサーバー版です。デスクトップ版より必要最小限の構成を作るのが楽なので。
インストールオプションでは、あらかじめダウンロードしておいたUbuntuインストールメディアのisoイメージから起動するよう指定しておきます。
Hyper-Vマネージャに作成した仮想マシンが表示されました。
仮想マシンを作成した後、設定ボタンを押して設定をざっと確認しておきます。
今回の場合、ホストマシンが4コアにも関わらず「プロセッサ->仮想プロセッサの数」が1になっていたので、4に変更しました。
この仮想マシンではUbuntuのLinuxカーネルをビルドしなおすつもりですが、カーネルを1コアでビルドするのと4コアでビルドするのでは実行時間に大差がつきます。ここは利用可能な最大のコア数を指定しておくべきと考えました。
ところがこれが後にトラブルの元に…(後述)。
ネットワークアダプターの項目を開くと、「統合サービスがゲストオペレーティングシステムにインストールされていない場合は、このネットワークアダプターの代わりに、レガシネットワークアダプターを使用してください。」との記述があります。
Ubutuのインストール中にネットワークアダプターが使えないのは不便と思われたので、ここでネットワークアダプターを削除して、レガシネットワークアダプターを追加しておきました。
これでやっと空の仮想マシンが完成!
続いてUbuntuのインストールに移ります。
つづく。