第1世代または第2世代の仮想マシンを作成するかどうかは、インストールするゲスト オペレーティングシステムおよび仮想マシンを展開する際に使用するブート方式によって決まります。 次のステートメントのいずれかが true でない限り、セキュア ブートのような機能を活用する第 2 世代仮想マシンを作成することをお勧めします。
- 既存の事前構築済み仮想ハード ドライブ(VHD または VHDX ファイル)を使用しています。これは UEFIと互換性がありません。
- 第 2 世代仮想マシンで実行するオペレーティング システムをサポートしていません。
- 第 2 世代は、使用するブート方法をサポートしていません。
第 2 世代仮想マシンで使用できる機能の詳細については、「生成およびゲスト別の機能の互換性」を参照してください。
作成後に仮想マシンの世代を変更することはできません。 そのため、世代を選択する前に、ここで考慮事項を確認し、使用するオペレーティングシステム、ブート方法、および機能を選択することをお勧めします。
第 2 世代仮想マシンを使用する利点とは
第 2 世代仮想マシンを使用する場合のメリットの一部を次に示します。
Secure Boot
セキュア ブートを使用すると、承認されていないファームウェア、オペレーティング システム、または UEFI ドライバーが起動時に実行するのを防ぐのに役立ちます。 セキュア ブートは、ブート ローダーが UEFI データベースの信頼された機関によって署名されていることを確認します。 セキュア ブートは、第 2 世代仮想マシンでは既定で有効になります。 セキュア ブートでサポートされていないゲスト オペレーティング システムを実行する必要がある場合に、仮想マシンの作成後に無効にできます。 For more information, see Secure Boot.
セキュア ブートの第 2 世代の Linux 仮想マシン、仮想マシンを作成するときに、UEFI CA セキュア ブート テンプレートを選択する必要があります。
大規模なブート 第 2 世代仮想マシンの最大のブート ボリュームは 64 TB です。 この最大ブート ボリュームは、
.VHDX
第 1 世代仮想マシンでサポートされる最大ディスク サイズです。最大ブート ボリュームは、.VHDX
の場合は 2 TB、.VHD
の場合は 2040 GB です。詳細については、「 Hyper-V 仮想ハード ディスク形式の概要を参照してください。第 2 世代仮想マシンで仮想マシンのブートとインストール時間にわずかな改善を表示することもあります。
ゲスト オペレーティング システムがサポートされますか。
第 1 世代仮想マシンは、ほとんどのゲスト オペレーティング システムをサポートします。 第 2 世代仮想マシンは、最も 64 ビット バージョンの Windows および Linux および FreeBSD オペレーティング システムの最新のバージョンをサポートします。 次のセクションを使用して、仮想マシンのサポートをインストールするゲスト オペレーティング システムを参照してください。
Windows ゲスト オペレーティング システムのサポート
次の表では、Windows の 64 ビット バージョンとして使用できます、ゲスト オペレーティング システムの第 1 世代と第 2 世代仮想マシンを示します。
64 ビット バージョンの Windows | Generation 1 | Generation 2 |
---|---|---|
Windows Server 2025 | ✔ | ✔ |
Windows Server 2022 | ✔ | ✔ |
Windows Server 2019 | ✔ | ✔ |
Windows Server 2016 | ✔ | ✔ |
Windows Server 2012 R2 | ✔ | ✔ |
Windows Server 2012 | ✔ | ✔ |
Windows 11 | ✖ | ✔ |
Windows 10 | ✔ | ✔ |
次の表では、Windows の 32 ビット バージョンとして使用できます、ゲスト オペレーティング システムの第 1 世代と第 2 世代仮想マシンを示します。
32 ビット バージョンの Windows | Generation 1 | Generation 2 |
---|---|---|
Windows 10 | ✔ | ✖ |
CentOS、Red Hat Enterprise Linux ゲスト オペレーティング システムのサポート
次の表に、第 1 世代と第 2 世代の仮想マシンでゲスト オペレーティング システムとして使用できる Red Hat Enterprise Linux (RHEL) と CentOS のバージョンを示します。
オペレーティング システムのバージョン | Generation 1 | Generation 2 |
---|---|---|
RHEL/CentOS 10.x シリーズ | ✔ | ✔ |
RHEL/CentOS 9.x シリーズ | ✔ | ✔ |
RHEL/CentOS 8.x シリーズ | ✔ | ✔ |
詳細については、次を参照してください。 CentOS、Red Hat Enterprise Linux 仮想マシンを Hyper-vします。
Debian ゲスト オペレーティング システムのサポート
Debian のバージョンとして使用できます、ゲスト オペレーティング システムの第 1 世代と第 2 世代仮想マシンを次の表に示します。
オペレーティング システムのバージョン | Generation 1 | Generation 2 |
---|---|---|
Debian 12.x (Bookworm) シリーズ | ✔ | ✔ |
Debian 11.x (Bullseye) シリーズ | ✔ | ✔ |
Debian 10.x (Buster) シリーズ | ✔ | ✔ |
詳細については、次を参照してください。 Debian の仮想マシンを Hyper-vします。
FreeBSD ゲスト オペレーティング システムのサポート
次の表では、FreeBSD のバージョンとして使用できます、ゲスト オペレーティング システムの第 1 世代と第 2 世代仮想マシンを示します。
オペレーティング システムのバージョン | Generation 1 | Generation 2 |
---|---|---|
FreeBSD 13.0 から 13.5 | ✔ | ✔ |
FreeBSD 12.0 から 12.4 | ✔ | ✔ |
FreeBSD 11.0 から 11.4 | ✔ | ✔ |
詳細については、次を参照してください。 Hyper-v 上の仮想マシンを FreeBSDします。
Oracle Linux ゲスト オペレーティング システムのサポート
次の表では、Red Hat 互換カーネル シリーズのバージョンとして使用できます、ゲスト オペレーティング システムの第 1 世代と第 2 世代仮想マシンを示します。
Red Hat 互換カーネル シリーズのバージョン | Generation 1 | Generation 2 |
---|---|---|
Oracle Linux 9.x シリーズ | ✔ | ✔ |
Oracle Linux 8.x シリーズ | ✔ | ✔ |
次の表では、Unbreakable Enterprise Kernel のバージョンとして使用できます、ゲスト オペレーティング システムの第 1 世代と第 2 世代仮想マシンを示します。
Unbreakable Enterprise カーネル (UEK) バージョン | Generation 1 | Generation 2 |
---|---|---|
Oracle Linux UEK R3 QU3 | ✔ | ✖ |
Oracle Linux UEK R3 QU2 | ✔ | ✖ |
Oracle Linux UEK R3 QU1 | ✔ | ✖ |
詳細については、次を参照してください。 Hyper-v 上の Oracle Linux 仮想マシンします。
SUSE のゲスト オペレーティング システムのサポート
次の表に、第 1 世代と第 2 世代の仮想マシンでゲスト オペレーティング システムとして使用できる SUSE のバージョンを示します。
オペレーティング システムのバージョン | Generation 1 | Generation 2 |
---|---|---|
SUSE Linux Enterprise Server 15 シリーズ | ✔ | ✔ |
SUSE Linux Enterprise Server 12 シリーズ | ✔ | ✔ |
SUSE Linux Enterprise Server 11 シリーズ | ✔ | ✖ |
SUSE 12.3 を開く | ✔ | ✖ |
詳細については、次を参照してください。 Hyper-v 上の仮想マシンを SUSEします。
Ubuntu のゲスト オペレーティング システムのサポート
次の表では、Ubuntu のバージョンとして使用できます、ゲスト オペレーティング システムの第 1 世代と第 2 世代仮想マシンを示します。
オペレーティング システムのバージョン | Generation 1 | Generation 2 |
---|---|---|
Ubuntu 24.04 | ✔ | ✔ |
Ubuntu 22.04 | ✔ | ✔ |
Ubuntu 20.04 | ✔ | ✔ |
Ubuntu 18.04 | ✔ | ✔ |
Ubuntu 16.04 | ✔ | ✔ |
Ubuntu 14.04 | ✔ | ✔ |
詳細については、次を参照してください。 Ubuntu 仮想マシンを Hyper-v でします。
仮想マシンを起動する方法は?
第 1 世代と第 2 世代の VM では、さまざまなブート方法がサポートされています。これらの方法を次の表に示します。
Boot method | Generation 1 | Generation 2 |
---|---|---|
標準のネットワーク アダプターを使用した PXE ブート | ✖ | ✔ |
レガシ ネットワーク アダプターを使用して PXE ブート | ✔ | ✖ |
SCSI バーチャル ハード ディスク (.VHDX) ) またはバーチャル DVD (.ISO) からブートする |
✖ | ✔ |
IDE コントローラーの仮想ハード ディスク(.VHD) )、仮想 DVD (.ISO) )、または物理 CD/DVD ドライブからブートする。 |
✔ | ✖ |
仮想フロッピー (.VFD) ) からの起動 |
✔ | ✖ |
デバイスのサポートの違いは何ですか。
次の表では、第 1 世代と第 2 世代仮想マシン間で使用可能なデバイスを比較します。
第 1 世代デバイス | 第 2 世代置換 | 第 2 世代拡張 |
---|---|---|
IDE controller | 仮想 SCSI コントローラー | .VHDX から起動 (最大サイズ 64 TB、オンライン サイズ変更機能) |
IDE CD-ROM | 仮想 SCSI CD-ROM | SCSI コントローラーあたり最大 64 台の SCSI DVD デバイスをサポート |
Legacy BIOS | UEFI firmware | Secure Boot |
レガシ ネットワーク アダプター | 合成ネットワーク アダプター | IPv4 および IPv6 でのネットワーク ブート |
フロッピー コントローラーおよび DMA コントローラー | フロッピー コントローラーのサポートはなし | N/A |
COM ポートに対する Universal Asynchronous Receiver/Transmitter (UART) | デバッグ用のオプション UART | より高速で高信頼性 |
i8042 キーボード コントローラー | Software-based input | エミュレーションがないため、使用するリソースが減ります。 また、ゲスト オペレーティング システムから攻撃を受ける機会が減少します。 |
PS/2 keyboard | Software-based keyboard | エミュレーションがないため、使用するリソースが減ります。 また、ゲスト オペレーティング システムから攻撃を受ける機会が減少します。 |
PS/2 mouse | Software-based mouse | エミュレーションがないため、使用するリソースが減ります。 また、ゲスト オペレーティング システムから攻撃を受ける機会が減少します。 |
S3 video | Software-based video | エミュレーションがないため、使用するリソースが減ります。 また、ゲスト オペレーティング システムから攻撃を受ける機会が減少します。 |
PCI bus | 必要ありません | N/A |
Programmable Interrupt Controller (PIC) | 必要ありません | N/A |
Programmable Interval Timer (PIT) | 必要ありません | N/A |
スーパー I/O デバイス | 必要ありません | N/A |
第 1 世代と第 2 世代の仮想マシンの使用に関する考慮事項
さまざまな世代の仮想マシンの使用に関するその他のヒントを次に示します。
64 個を超える論理 CPU を持つ VM を作成する
Hyper-V マネージャーは、64 個を超える論理 CPU を持つシステムで、第 1 世代の新しい VM を作成できない場合があります。 Hyper-V マネージャーでは、VM 作成時に仮想プロセッサの数を指定することはできません。 64 を超える論理プロセッサを持つホストの場合は、Windows Admin Center、PowerShell、またはその他のツールを使用して、VM の作成時に仮想プロセッサの数を指定します。
仮想ハード ドライブを Azure にアップロードする
第 1 世代と第 2 世代の VM で作成された仮想ハード ドライブは、VHD ファイル形式を使用している限り、Azure にアップロードできます。 仮想ハード ドライブには、固定 (動的に拡張されていない) サイズのディスクが必要です。 Azure でサポートされている第 2 世代の機能の詳細については、「Azure での第 2 世代の VM」を参照してください。 Windows VHD または VHDX のアップロードの詳細については、「Azure にアップロードする Windows VHD または VHDX を準備する」を参照してください。
DVD ドライブの接続または追加
- 物理 CD または DVD ドライブは、第 2 世代仮想マシンに接続できません。 第 2 世代仮想マシンの仮想 DVD ドライブは、ISO イメージ ファイルだけをサポートします。 To create an ISO image file of a Windows environment, you can use the OScdimg command line tool. 詳細については、「Oscdimg のコマンド ライン オプション」を参照してください。
New-VM
Windows PowerShell コマンドレットで新しい仮想マシンを作成するときに、第 2 世代仮想マシンに DVD ドライブはありません。 仮想マシンの実行中には、DVD ドライブを追加できます。
UEFI ファームウェアの使用
- セキュア ブートまたは UEFI ファームウェアは、物理的な HYPER-V ホスト上必要ではありません。 第2世代の仮想マシンでは、HYPER-V ホスト上にあるものとは無関係の仮想マシンに仮想のファームウェアを提供します。
- 第 2 世代仮想マシンでの UEFI ファームウェアでは、セキュア ブートのセットアップ モードをサポートしていません。
- 第 2 世代仮想マシンで UEFI シェルまたは他の UEFI アプリケーションを実行しているサポートされていません。 Microsoft 以外の UEFI シェルまたは UEFI アプリケーションの使用は、それらがソースから直接コンパイルされていれば、技術的に可能です。 これらのアプリケーションが正しくデジタル署名されていない場合、仮想マシンのセキュア ブートを無効にする必要があります。
VHDX ファイルの操作
- 仮想マシンの実行中には、第 2 世代バーチャル マシンのブート ボリュームを含む VHDX ファイルのサイズを変更することができます。
- We don't support or recommend that you create a single virtual disk (VHD or VHDX file) that is bootable to both generation 1 and generation 2 virtual machines. Instead, create bootable VHDX files that target only generation 1 or generation 2 virtual machines.
- 仮想マシンの世代は、仮想マシンのプロパティであり、仮想ハード ディスクのプロパティではありません。 VHDX ファイルが第1世代の仮想マシンとして作成されたのか、第2世代の仮想マシンとして作成されたのかを判別することはできません。
- IDE コント ローラーまたは第 1 世代バーチャル マシンの SCSI コント ローラーに接続できる 2 つの仮想マシンの世代で作成された VHDX ファイル。 ただし、仮想ハード ドライブが起動可能な VHDX ファイルの場合、第 1 世代仮想マシンの起動に失敗します。
IPv4 ではなく IPv6 を使用
PXE を使ってネットワークから起動すると、第 2 世代仮想マシンでは既定で IPv4 が使われます。 To use IPv6 instead, run the Set-VMFirmware Windows PowerShell cmdlet. たとえば、次のコマンドは、TestVM という名前の仮想マシンの IPv6 に優先プロトコルを設定します。
Set-VMFirmware -VMName 'TestVM' -IPProtocolPreference IPv6
カーネルデバッグ用の COM ポートの追加
COM ポートは、追加するまで、第 2 世代仮想マシンでは使用できません。 WINDOWS PowerShell または Windows Management Instrumentation (WMI) を使用して COM ポートを追加できます。 次の手順では、Windows PowerShell を使用してこれを行う方法を示します。
COM ポートを追加する方法
セキュア ブートを無効にします。 カーネル デバッグはセキュア ブートと互換性がありません。 Make sure the virtual machine is in an Off state, then use the Set-VMFirmware cmdlet. たとえば、次のコマンドでは、仮想マシン TestVM でセキュア ブートを無効にします。
Set-VMFirmware -VMName 'TestVM' -EnableSecureBoot Off
COM ポートを追加します。 Use the Set-VMComPort cmdlet to add a COM port. たとえば、次のコマンドは、仮想マシンの名前付きパイプ TestPipe、ローカル コンピューター上に接続するための TestVM で最初の COM ポートを構成します。
Set-VMComPort -VMName 'TestVM' -Number 1 -Path '\\.\pipe\TestPipe'
Note
構成済みの COM ポートは、Hyper-V マネージャーの仮想マシンの設定には一覧表示されません。