Windows 10 Pro のクライアントHyper-Vにゲストを作る

投稿者: | 2019年7月15日

Hyper-V 上にゲストOSを作成する

今さらで、知っている人も多いでしょう。
自宅の Windows 10 クライアント Hyper-V 上にマシンを作った際に、その画面をキャプチャしたので載せます。多くの場合は、MSFC上との組み合わせでHyper-Vを運用すると思います。その場合は、フェールオーバークラスターマネージャーから作成するので、この手順ではありません。

ここではゲスト作成の方法とパラメータの注意、ディスクの変換(圧縮や容量固定化)などについて書いています。

サンプルにした環境は以下の通り。
Windows 10 Professional ( 1903 ) でクライアントHyper-V
core i5 7500 + メモリ 32GB + OSおよび仮想ゲスト用にSSD

立ち上げるのはWindows Server 2016 Standardです。

コンソール起動

すでに機能が追加されていて動いている環境なのでこんな感じ。

『Hyper-Vの設定』で「仮想ハードディスク」と「仮想スイッチマネージャー」でディスクの場所と仮想スイッチを指定/作成しておいてください。

作成する

Hyper-Vマネージャの右ペインで「新規」から「仮想マシン」を選択。

ウィザードが始まるので「次へ」

作りたいマシン名を入れます。マシン名はコンソール上のものでマシン名と一致させる必要はありません。GUIで操作する分には「なんでもいい」レベルです。PowerShellで操作する場合にはこの名前を指定する場面もあります。

「仮想マシンを別の場所に格納する」は、多くのケースでは『Hyper-Vの設定』で決めたところでいいので入れる必要はありません。(今回は別の理由があって指定したかったのですが、この指定の仕方はちょっと失敗…)

通常は「第2世代」にしておきます。
第1世代はRegacy BIOSで、第2世代はUEFIに該当すると思えばよいようですが、少し違いがあります。
今さら、Windows 8 (8.1でない) と Windows Server 2012 (R2でない)をインストールする場合、(それ以前のOSも)第1世代を選ばないといけません。インストールはマウスだけでもなんとかできますが、Windows Serverバックアップ(イメージバックアップ)からリストアすることができなくなります。OSが起動するまで、マウスは使えてもキーボードからの入力が一切できないのです。コピペも不可。
また、第1世代の場合、ホストとなるマシンについた光学ドライブをマウントすることができますが、第2世代はできません。第2世代の場合、ISO形式のファイルを作って仮想マシンのドライブにマウントすることになります。仮想フロッピードライブのこともあるけれど、こちらはどうでもいいでしょう。なにかソフトをインストールするようなケースで、光学媒体で提供されているとすると、第2世代の場合はすぐにはインストールできません。ゲストとホストでネットワークをつないで(Internalな仮想スイッチでいい)インストーラーをコピーするような方法になります。Linuxをゲストとする場合は少々厄介かもしれません。第2世代で作れるのか等は調べてください。(うちのCentOSは第1世代で作っています。)
第2世代だとセキュアブートが可能です。でも、以降の手順でも、自分はセキュアブートを使っていません。

メモリは後で変えられるので、多めにしておいたほうが気持ち分インストールや初期のWindows Updateがはやい…かもしれません。
「この仮想マシンに動的メモリを使用します」は、チェックを外しています。外すことが必須ではないですが、確保するものはしっかり確保してもらったほうが安心です。特に複数台を立ち上げて実装しているメモリより多いメモリを分け与えた場合、各マシンの負荷が上がってメモリが足りなくなるようなことがないよう、最初から量を固定しておきます。

ネットワークは作成済みの仮想スイッチがある場合は接続できます。
これをつなげると最初から外につながってしまう場合もある(仮想スイッチがNICと関連付けられていて、ネットワーク内にDHCPサーバがいる場合など)もあるので、状況に合わせてインストール後にあとで接続でも構いません。

ハードディスクを作成する場合、場所は既定でいいでしょう。名前もマシン名に.vhdxが既定で入っているのでそのままで。容量は必要なサイズにしてください。もちろん、あとで拡張もできます。このドライブをCドライブだけに使い、Dドライブとしてつかうディスクはあとで追加するということも可能。管理さえテキトウにしなければ、後者のほうが安全です。
既存の仮想ハードディスクを使いたい場合(他から持ってきたなど)はそのオプションで。

OSのインストールはここで設定してもいいのですが、CPUの割当を変えてからインストールしたほうがいいので、ここでは設定しません。
このままだとCPUのコア数は1しか割あたっていません。

設定ができたら「完了」でマシンを作ります。

仮想マシンの設定を変更

できたマシンは起動前なので、それを選んで「設定」をクリックします。

「プロセッサ」で、仮想プロセッサの数を増やします。
これはオーバーコミットが可能で、4コアのマシンなら4コアまで使えて、全部の可動マシンの合計値がCPUのコア数と同一になる必要はありません。4台のマシンで4コア指定して、合計16コアのCPUが必要ではなくて、4コア上限なら何台でも作れます。
ただし、CPUを共用するので多少なりとも遅くはなります。これはSEでも意見が別れるところです。仮想ホストでXeonのコアの多いCPUを積んでいる場合、1コアだの2コアだのと分割して使えるコア数を制限、合計がCPUの物理的なコア以下にしようとする人がいます。個人的には反対。全部のマシンが一気にフル稼働するわけじゃないのだから、ケチる必要はありません。1コアでの性能の上限にぶつかるよりはコアは多めに配っておきましょう。

OSをインストールするために、媒体をマウントします。
まずはDVDドライブ相当の仮想光学ドライブを作成することから。
SCSIコントローラーを選んで、DVDドライブで「追加」です。

出来あがったらDVDドライブを選んで、OSのイメージのISOをマウントします。

ここで、セキュアブートは解除しておきます。(セキュアブートを使いたい人は、使いましょう。)これは任意なので、判断してください。

自動アクションも「なし」にします。
用途によっては「自動的に起動する」が良いです。今回はテスト用サーバなので「なし」にしますが、通常使うようなマシンの場合、「自動的に起動する」がベター。
「サービスが停止したときに実行されていた場合に…」は、パソコン上のクライアントHyper-Vならこれでもよいでしょう。気軽にシャットダウンできます。
「…自動的に起動する」であっても、常にブートするという意味ではない点に注意が必要。保存されているものがあればそこから復旧されます。シャットダウンされたマシンならブートします。

これと対になるのが「自動停止アクション」で、こちらは「保存」のまま変えていません。マシンがシャットダウンされる際には、稼働中の状態がハードディスク(SSD)に保存されます。Windowsの休止のと考えればよいでしょう。ホストマシンをシャットダウンするとき、落ちる前に自動で保存してくれます。
この保存されたものは、自動開始アクションのほうで「サービスが停止したときに実行されていた場合は…」を選んでいるか、「常にこの仮想マシンを自動起動する」が選ばれていれば、保存された状態から起動します。

自動チェックポイントですが、これはチェックを外しています。
いちいちチェックポイントはいらないと思っているので。自動でやってくれて嬉しいと思う人はそのままにしてください。

一度、「適用」を押してから、ブートの順番を変えます。
さっきDVDドライブを追加した関係で、一度「適用」してからでないと順番を変えられません。

さきほどのコンソールでマシンをダブルクリックすると画面がマシンの仮想コンソールが開くので、そこで「起動」をクリックします。

この画面のときに何かキーを押すことが必要。

うまく入らない場合もあるので、メモ帳等で改行を含む何行かを打ち、それをクリップボードにコピーしておいて、『クリップボード』から「クリップボードからテキストを入力」するという手もあります。(Windows Serverバックアップからのリストアのときにはこのほうが確実です。なぜか入力しづらい印象。)

なお、こういったマニュアルのために画像を撮りたいという場合は、クリップボードのプルダウンから「画面のキャプチャ」を選ぶ必要があります。Alt + PrintScreenだとうまくいきません。

続けてOSのインストール

さて…と。OSインストール。

Windows Server 2016 です。

「今すぐ」やりますって

Standard の 評価版(Evaluation)で、デスクトップエクスペリエンスを選びます。

ライセンスは同意。

自分はカスタムでインストールするタイプです。

Dドライブを後で割り当てる気で120GB全部をCドライブに。

自動で回復パーティション、EUFIパーティション、MSRが作られます。
OS領域を120GBにしたい場合とか、HDDはもう少し大きくして、一度これで領域確保した後、パーティション4を削除してからもう一度「新規」で作成するとピッタリのサイズで作れますが(笑)、妙なところにうるさいユーザーに当たらない限り、そんなことしません。

あとは一本道。

仮想ハードディスクに対する操作

サイズの圧縮や拡張、容量固定への変換をしたい場合

ハードドライブについては「編集」でいくつかのことができます。
これは仮想ゲストをシャットダウンしてから行います。

「最適化」を選ぶと、可変の仮想ハードディスクにデフラグをかけて小さくしてくれるイメージの動きで、ディスクを小さくしてくれます。
個人的な印象としては、思ったよりも小さくならないな~ですが…

変換はあまり使いませんが、容量固定にした場合は使います。古いvhdをvhdxにしたいなんて場面はほとんどないでしょう。『 Hyper-V の仮想ディスクを容量固定にしたい 』というケースはデーターベースを入れたい場合にはよくある話。(気にしないSEのも多いけど、それは気にしてほしい。)

仮想ゲストにドライブを追加したい場合

ハードディスクの追加は、SCSIコントローラーから、ハードドライブの「追加」です。

ウィザードが進みます。

新規に作成の場合は、ここで「容量固定」か「容量可変」が選べます。
データベースがあるとか、追加されていくデータが多いとか、物理ハードディスク上でチビチビと拡張することでディスクIOが遅くなることが気になるようなケースなら容量固定がいいです。また、重要なサーバーで、ホスト側のディスクがいっぱいになったときに拡張できずにシステムが止まるなんてことは避けたい場合には、容量固定で先に確保しておきます。

ディスク名を入れて次へ。

新しく作成するので、容量を指定します。

「適用」をクリックすれば完成です。

OSを起動したたら、オンラインにした上で、フォーマットをして、ドライブレターを当てて使用してください。