以前WindowsクライアントOS上にLinuxゲストOSを動かす時はVirtual Boxを使っていたのですが、UWP開発とかしていると必須であるHyper-Vと共存できません。そこでHyper-VでLinuxゲストOSを動かすことにしました。 Hyper-V はほとんど使ったことがなく*1、はまってしまった点をメモしておくことにします。
ドキュメントとしては、Red Hatのドキュメントが英語ですがスクリーンショットもありわかりやすいかと思います。RHEL以外のディストリビューションでも、Hyper-Vの設定までは同じだと思います。下のリンクでHyper-V
タグを開いてください。
ちなみに、RHEL もRed Hat Enterprise Linux Developer Subscriptionが無償で提供されるようになったので、気軽に使えるようになりました。
さて、このツイートでも言ったのですが、
Hyper-V 上にLinuxを立てる場合のまとめ https://t.co/gqpd8oTddX
— たなか (@tanaka_733) 2016年4月5日
1. 先に仮想スイッチマネージャから「外部」のスイッチを作って、仮想マシン作成時に割り当てる
2. インストーラーの設定でネットワークアダプタがデフォルト未接続のことがあるので接続
注意が必要なのは、これに加えてもう1点あるので、説明してみます。
仮想スイッチの作成
さて、Hyper-Vの機能を有効にして、Hyper-V マネージャーを起動したとして、仮想マシンを起動する前に仮想スイッチを作っておく必要があります。
Hyper-Vマネージャーの右側のペインに仮想スイッチがあります。
「外部」を選択し、適当な名前を入れます。このスクショではすでに仮想スイッチが作成済みなので左側に表示されています。
接続先の仮想スイッチで適当なものを選択て作成します。これで仮想スイッチが作成できました。
仮想マシンの作成
ここからは、どのゲストOSを作るかで多少変わります。RHEL7のケースで、ISOのライブイメージでインストールするケースで説明します。
仮想マシンの世代は、ゲストOSによって第2世代をサポートするかどうかが変わります。RHEL7系は第2世代でもサポートされるとあるのですが、最初に紹介したリンクでは第1世代を指定するとあるので、それに従っておきます*2。
RHEL7.xは第2世代をサポートするというドキュメント。 Should I create a generation 1 or 2 virtual machine in Hyper-V?
そして、ネットワークの構成で、先ほど作成した仮想スイッチを指定します。
あとは仮想マシンを作成して起動しましょう。
インストーラーでのネットワークスイッチの指定
最後に地味にここではまったのですが、RHELのインストールウィザードを進めていくと、「NETWORK & HOST NAME」がNo Connceted
になっていました。この場合はここをクリックしてネットワークスイッチを選択する必要があります。
Hyper-V側での仮想マシンの作成時に指定したネットワークスイッチが表示されるはずなので、これをON
にして、インストーラーを進めます。
最後に、デフォルトのパッケージなどでRHELを起動すると、CUIで起動すると思います。subscriptionの管理は最初に紹介したリンクの通りで問題ないのですが、GUIで起動したい場合は以下のコマンドを実行して再起動してください。
yum groupinstall 'Server with GUI' -y systemctl set-default graphical.target reboot