「Hyper-V」で何をするかというと、やはり仮想化されたサーバ(仮想マシン)を動かす、ということになるでしょう。では、どういう仮想マシンを動かせるのか、仮想マシンでどのような構成が組めるのか、その仕様や制約はどういうものなのか――。今回は、Hyper-Vホスト上で動作する仮想マシンの作成からゲストOSのインストールまでを学び直します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Microsoftの「Hyper-V」はハードウェア仮想化技術(サーバ仮想化技術)なので、「仮想化されたハードウェアをゲストOSに提供すること」が主機能になります。そのため、動作させたいゲストOSが仮想化されたハードウェアを正しく認識できるかどうかがポイントになります。
Microsoftの以下のWebページには、対応するゲストOSに関する記述があります。Windows OSについてはサポート期間中のWindows OSはもちろん、サポートが終了した一部のWindows OSについてもHyper-V上での動作が保証されています(OSそのもののサポートが延長されるわけではありません)。
Linux OSについては、主なディストリビューションはサポート対象となっているので、実使用で困ることはないでしょう。
Hyper-Vの仮想マシンを新規作成する際、最初に考慮すべき項目が「世代」(英語版では「Generation」と表記)です。
「世代とはなんぞや?」ですが、簡単にいえば「仮想マシンに提供されるハードウェア構成の違い」であり、「第1世代」と「第2世代」では仮想マシンのOSから見たハードウェア構成が大きく異なります。
第1世代の仮想マシンはBIOS(Basic Input/Output System)ベースとなり、32bit OSを含む広範な互換性を持つことが特徴です。ブートディスクはIDE(Integrated Drive Electronics)コントローラー接続となります。
第2世代の仮想マシンはUEFI(Unified Extensible Firmware Interface)ベースのシステムとなり、現在のPCハードウェアとして主流の構成になります。「Windows 11」で必須となった「TPM(Trusted Platform Module)2.0」を仮想マシンに提供可能で、「セキュアブート」などのセキュリティ機能が利用できるようになります。ブートディスクはSCSI(Small Computer System Interface)コントローラー接続となります。
以下の画面1は、第1世代仮想マシンの設定画面(左)と第2世代仮想マシンの設定画面(右)を並べて表示したものです。第1世代仮想マシンはIDEコントローラーの他、フロッピーディスクドライブなど、第2世代仮想マシンではサポートされないレガシーデバイスで構成されていることが確認できます。
最新のクライアントOSであるWindows 11はTPM 2.0が必須要件の一つであるため、画面1のようにTPMを設定できない第1世代仮想マシン上の動作がサポートされていません。
逆に第2世代仮想マシンでは、レガシーOSとなった「Windows 7」や「Windows Server 2008」「Windows Server 2008 R2」などは非サポートになります。また、第2世代仮想マシンは64bit OSのみのサポートとなるため、「Windows 10」まで提供されていた32bit版は第2世代仮想マシンではサポートされません。32bit OSを動かす必要がある場合は、第1世代仮想マシンを選択する必要があります。
作成する仮想マシンの世代は、互換性など、特別な理由がない限り、セキュリティ機能やより豊富なリソースをサポートする第2世代仮想マシンを選択すべきでしょう。第1世代仮想マシンと第2世代仮想マシンの詳細な違いについては、Microsoftの以下のドキュメントを参照してください。
インストールする仮想マシンのゲストOSによっては、仮想マシンを作成する際に指定する世代に注意する必要があることを覚えておいてください。
では、実際に第1世代仮想マシンと第2世代仮想マシンに同じOSをインストールした場合、ハードウェアの違いとしてどのように見えるのでしょうか。以下の画面2は、第1世代仮想マシンと第2世代仮想マシンに「Windows Server 2022」をインストールして、「デバイスマネージャー」を表示したものです。
第1世代仮想マシンでは、ATA(IDE)デバイスが数多く表示されています。これは前述の通り、第1世代仮想マシンではIDEコントローラーに接続された仮想ハードディスクをブートディスクとして使用するからです。また、フロッピーディスクドライブもサポートされているため、デバイスマネージャー上に表示されています。
第2世代仮想マシンでは、IDEデバイスは一切表示されず、第1世代仮想マシンにはないTPM 2.0が提供されていることが分かります。
このように、仮想マシンの世代が変わるとゲストOSに提供されるハードウェアが異なるため、ゲストOSでのデバイスドライバサポートも問題となることがあります。前述した対応ゲストOSのページにある「Integration Services(統合サービス)」がデバイスドライバの問題を解決することになりますが、これについては別途解説します。
以降では、Hyper-Vでの仮想マシン作成、設定を見ながら、仮想マシンを深掘りしていきます。
Hyper-Vで仮想マシンを作成するには、GUI(グラフィカルユーザーインタフェース)ツールの「Hyper-Vマネージャー」や、Hyper-V用のWindows PowerShellコマンドレットを使用します。
ここではGUIツールのHyper-Vマネージャーを使用して作成します。Windows PowerShellコマンドレットを使用する場合は、別連載「Windows PowerShell基本Tips」の第119回「New-VM」コマンドレットの回を参照してください。
Hyper-Vマネージャーの左ウィンドウでHyper-Vホストを選択している状態で、操作ウィンドウの「新規」→「仮想マシン」を選択すると、仮想マシンの新規作成ウィザードが起動します(画面3)。
このウィンドウで「完了」ボタンをクリックすると、全て既定値が適用された状態で仮想マシンが作成されます。ほとんどの場合は、設定内容をカスタマイズすると思うので「次へ」ボタンをクリックします。
最初の設定項目は、仮想マシンの名前と仮想マシンファイルの格納場所です(画面4)。
仮想マシンの名前は、Hyper-Vマネージャーに表示される仮想マシンの表示名であると同時に、Windows PowerShellで仮想マシンを扱う際に指定する重要なキーになります。名前の付け方は任意で、英数文字や日本語(2バイト文字)、「\」や「?」といった記号も使用できます。
しかし、ここで設定した仮想マシン名は格納先のフォルダ名としても利用されるため、ファイル名やフォルダ名で使用できない文字は避けるべきです。
例えば、「\」や「?」を仮想マシン名に使用すると、通常は仮想マシン名がそのまま格納先フォルダ名になるはずです。しかし、「\」や「?」はフォルダ名として使用できない文字であるため、画面5のようにASCIIコード(\は「%92」、?は「%63」)に変換されてしまいます。
以上のように、仮想マシン名と格納先フォルダ名が直感的にひも付かなくなるため、このような命名は好ましくないといえます。なお、仮想マシンファイルの格納場所については、本連載第2回の「Hyper-Vホストの設定」をご確認ください。
「名前と場所の指定」画面で「次へ」ボタンをクリックすると、作成する仮想マシンの世代を指定する画面に遷移します。
世代については前述の通りですが、「Windows Server 2025」のHyper-Vでは既定値が「第2世代」に変更されています。これは、Hyper-Vマネージャーで作成する場合に限ってであり、Windows PowerShellの「New-VM」コマンドレットで作成する場合は第1世代が既定値となることに注意してください。なお、世代を選択できるのは仮想マシン作成時だけであり、作成後の世代変更はできません。
世代を選択後に「次へ」ボタンをクリックすると、メモリの割り当て設定に移ります(画面7)。
ここでは、仮想マシンに割り当てるメモリ量を「起動メモリ」として設定します。設定可能な値は最低「32MB」から2MBの倍数となっており、「4095MB」といった2MBの倍数でない値は指定できません(画面8)。
この画面にある「この仮想マシンに動的メモリを使用します」というチェックボックスをオンにすると、Hyper-Vの特徴の一つである「動的メモリ(ダイナミックメモリ)」を使用できるようになります。
動的メモリについては別途解説しますが、仮想マシン作成時に有効化することも、作成後に明示的に有効化することも可能です。また、仮想マシンの停止を伴いますが無効化することもできます。
メモリ割り当ての次の画面では、ネットワークを構成します(画面9)。
構成といっても、接続する仮想スイッチを選択するだけです。VLAN(Virtual Local Area Network)などの細かい設定は、本ウィザード中には設定できないため仮想マシン作成後に設定する必要があります。ちなみに、設定はWindows PowerShellコマンドレットを使用します。詳しくは別の回で解説します。
なお、「接続しない」を選択した場合も仮想マシンには仮想ネットワークアダプターが設定されるので、仮想ネットワークアダプターそのものが不要な場合は別途削除する必要があります。
メモリ、ネットワークと設定してきましたが、最後の構成項目が仮想ハードディスクになります(画面10)。
仮想ハードディスクの設定は、「新規作成」「既存の仮想ハードディスクの接続」「後で設定」から選択します。新規作成を選択した場合のみ、次の画面でOSをインストールするための設定が実施可能です。
「システム準備ツール」(Sysprep.exe)を使って一般化した仮想ハードディスクをコピーして使用する際、ほとんどの場合で「後で接続」を選択することになると思います。先行してコピー済みの場合は「既存の仮想ハードディスクを使用する」を選択して、接続する仮想ハードディスクを選択します。
仮想ハードディスクを新規作成した場合は、次に進むことで画面11のように仮想マシンに対するOSインストールオプションを設定可能です。
画面11は第1世代仮想マシン用の設定画面になりますが、ブートするCD/DVDをHyper-Vホストに接続されている物理ドライブもしくはISOイメージのどちらかから選択できます。また、第1世代仮想マシンはフロッピーディスクドライブをサポートしているため、仮想フロッピーディスクイメージからの起動も可能です。
「ネットワークベースのインストールサーバーからオペレーティングシステムをインストールする」を選択することで、プリブート実行環境(PXE)ブートからのネットワークインストールを実施することも可能です。
本稿執筆時点(2025年1月末)でWindows Server 2025のHyper-Vでは、前出の画面6で既定値のまま、第2世代仮想マシンを選択した(画面6でラジオボタンに一切触らず、そのまま「次へ」をクリックした)場合、第2世代仮想マシンを作成しているにもかかわらず、画面11の第1世代仮想マシンのインストールオプションが表示されてしまう、という現象が発生しています。
画面6で第1世代仮想マシンを選択後、再度第2世代仮想マシンを選択して「次へ」をクリックすると、画面12のような正しい第2世代仮想マシンのインストールオプションが表示されます。
この現象に気が付かずに、第2世代仮想マシンで本来選択できないインストールオプション、例えばHyper-Vホストの物理CD/DVDドライブを指定して仮想マシンを作成すると、画面13のようなエラーが発生して仮想マシンを作成できません。
最後の画面となる要約ページで、設定内容に問題ないことを確認して「完了」ボタンをクリックすると、仮想マシンが作成されます(画面14)。
仮想マシンの作成が完了したら、Hyper-Vマネージャーで作成した仮想マシンを選択し、操作ウィンドウから「接続」をクリックすることで、その仮想マシンのコンソールに接続できます(画面15)。
コンソールからの操作は、物理ハードウェアにディスプレイやキーボードを接続しての操作と同じになるので、仮想マシンがネットワークにつながっていなくても操作可能です。
コンソール上部の「起動」ボタンをクリックすることで、仮想マシンを起動できます。前述の通り、起動した仮想マシンに直接接続した状態ですので、OSのセットアップ作業も可能な状態です。
画面16は作成した仮想マシンに「Ubuntu 22.04 LTS」をインストールする画面になっています。
このように仮想マシンを作成後、コンソール接続して仮想マシンを起動することで、物理マシンと同じようにOSをインストールできるようになります。ここから先は物理マシン上のOSとほぼ同じ扱いとなるので、一部の古いOSを除き、特別操作に迷うことはないでしょう。
今回は、Hyper-Vでの仮想マシンの新規作成からゲストOSのインストールまでを見てきました。次回は作成した仮想マシンの設定に関する詳細を見つつ、どのように設定されているか、どのような設定変更が可能なのかを見ていきます。
Microsoft MVP for Cloud and Datacenter Management(2012-2025)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
Server & Storage 記事ランキング