次の方法で共有


Hyper-V 仮想マシンでプロセッサ互換モードを構成する

プロセッサ互換モードでは、異なるプロセッサ機能を持つホスト間の仮想マシンの移行が可能になります。 これにより、異なるプロセッサを持つホストまたはクラスター間で VM を移動するときの互換性を確保するために、仮想マシン (VM) で使用できるプロセッサ機能が制限されます。

ライブ仮想マシン (VM) や保存された VM を、異なるプロセッサ機能を持つホストまたはクラスター間で移動する場合や、さまざまなハードウェアで実行する必要があるアプリケーションの開発など、渡されるプロセッサ機能を制限する必要がある場合があります。 このような場合は、プロセッサ互換モードを使用できます。 移行プロセス中にのみプロセッサ互換モードを有効にしてから無効にして、VM がホストのプロセッサのすべての機能を利用できるようにすることをお勧めします。 プロセッサの世代が異なるクラスターがある場合は、ライブ マイグレーションを機能させるためにプロセッサ互換モードを有効のままにしておく必要があります。

構成バージョン 10.0 以降を使用する VM 用 Windows Server 2025 で導入された動的プロセッサ互換モードでは、クラスター内のすべてのノードで共通の動的に計算されたプロセッサ機能のセットを VM が使用できるようにすることで、以前のバージョンのプロセッサ互換性モードが強化されます。 つまり、VM は、ホスト間で VM を移動するときに互換性を確保しながら、クラスター全体で使用できる最大機能を利用できます。

プロセッサ互換性モードの詳細については、「 Hyper-V 仮想マシンでのプロセッサの互換性」を参照してください。

この記事では、Hyper-V Manager、PowerShell、または Windows Admin Center を使用して VM のプロセッサ互換モードを構成する方法について説明します。

[前提条件]

開始する前に、以下の前提条件を満たしていることを確認してください。

  • VM が実行され、移行先となる Hyper-V ホストまたはクラスターへの管理アクセス権があります。

  • プロセッサ互換モードを構成する VM の電源がオフになっています。 VM の実行中は、プロセッサ互換モードを有効または無効にすることはできません。

  • 動的プロセッサ互換モードは、Windows Server 2025 または Azure Local (以前の Azure Stack HCI) バージョン 21H2 を実行し、構成バージョン 10.0 以降を使用する Hyper-V ホスト上の VM に対して導入されました。 VM で以前の構成バージョンを使用している場合は、その構成バージョンをアップグレードします。それ以外の場合は、標準プロセッサ互換モードを使用します。

プロセッサ互換性モードを使用するように VM を構成する

このセクションでは、Hyper-V マネージャー、PowerShell、または Windows Admin Center を使用して、プロセッサ互換モードを使用するように VM を構成する方法について説明します。 同じクラスター内で互換性モードを使用している VM と使用していない VM を実行できます。 プロセッサの互換性の 2 つのモードは、同じ方法で有効および無効になります。 動的プロセッサ互換モードはユーザーに対して透過的であり、VM がクラスターで実行されている場合に有効になります。

使用するメソッドに関連するタブを選択します。

Hyper-V Manager を使用して VM のプロセッサ互換モードを有効または無効にするには、次の手順に従います。 Hyper-V Manager で動的プロセッサ互換モードを構成することはできません。代わりに PowerShell または Windows Admin Center を使用してください。

  1. Hyper-V マネージャーを開きます。

  2. Hyper-V 実行しているサーバーと目的の VM を選択します。

  3. VM が実行されている場合は、VM をシャットダウンしてプロセッサ互換性モードの設定を変更する必要があります。

  4. VM の [操作] ウィンドウで、[ 設定] を選択します。

  5. [ ハードウェア ] ウィンドウで、[ プロセッサ] を選択します。 [ プロセッサ] を展開し、[ 互換性] を選択します。

  6. プロセッサ互換モードを有効にするには、[別のプロセッサを 搭載した物理コンピューターに移行する] チェック ボックスをオンにします。 無効にするには、チェック ボックスをオフにします。

    Hyper-V Manager VM 設定のスクリーンショット。[プロセッサの互換性] ページと、別のプロセッサを持つ物理コンピューターに移行するためのチェック ボックスが表示されています。

  7. [ OK] を 選択して変更を保存し、VM を起動します。

Hyper-V ホストと VM のプロセッサ機能を確認する

プロセッサ互換モードを構成したら、Hyper-V ホストと VM で使用可能なプロセッサ機能を確認できます。 この情報は、VM に期待される機能セットが使用可能かどうかを確認する場合に役立ちます。

Hyper-V ホストと Windows VM のプロセッサ機能を確認するには、 Sysinternals から Coreinfo を実行します。

  1. ホストまたは VM にサインインし、 Coreinfo ツールをダウンロードして展開します。

  2. 管理者として PowerShell を開き、Coreinfo を抽出したディレクトリに移動します。

  3. 次のコマンドを実行します。 このホストで初めて Coreinfo を実行する場合は、使用許諾契約書に同意する必要があります。

    .\Coreinfo.exe -f
    

    出力の切り捨てられた例を次に示します。各行はプロセッサ機能を表し、アスタリスク (*) は機能が使用可能であることを示します。

    HTT             *       Hyperthreading enabled
    CET             -       Supports Control Flow Enforcement Technology
    Kernel CET      -       Kernel-mode CET Enabled
    User CET        -       User-mode CET Allowed
    HYPERVISOR      *       Hypervisor is present
    VMX             -       Supports Intel hardware-assisted virtualization
    SVM             -       Supports AMD hardware-assisted virtualization
    X64             *       Supports 64-bit mode
    
    SMX             -       Supports Intel trusted execution
    SKINIT          -       Supports AMD SKINIT
    SGX             -       Supports Intel SGX
    
    ...
    

プロセッサ互換モードが有効になっている場合、ホストからの出力と比較すると、一部の機能が使用できない (ダッシュ -で示されます) ことがわかります。 縮小された一覧は、VM がプロセッサ互換モードで実行されており、共通の機能セットに制限されていることを示します。

動的プロセッサ互換モードを使用している場合、VM で使用できる機能は、クラスター内のすべてのノードで共通する機能の最大セットです。

Linux仮想マシンたち

Debian ベースまたは Red Hat ベースの Linux VM でプロセッサの機能を確認する方法の例を次に示します。

  1. VM にサインインし、ターミナルを開きます。

  2. 次のコマンドを実行して、プロセッサの機能を一覧表示します。

    lscpu | grep Flags
    

    要約された出力例を以下に示します。

    Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
    pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl 
    xtopology aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt 
    tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single 
    ssbd ibrs ibpb stibp ibrs_enhanced kaiser fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid 
    avx512f avx512dq rdseed adx smap clflushopt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec 
    xgetbv1 xsaves rdpid md_clear flush_l1d arch_capabilities
    

プロセッサ互換モードが有効になっている場合、ホストからの出力と比較すると、一部の機能が一覧に表示されないことがわかります。 縮小された一覧は、VM がプロセッサ互換モードで実行されており、共通の機能セットに制限されていることを示します。

動的プロセッサ互換モードを使用している場合、VM で使用できる機能は、クラスター内のすべてのノードで共通する機能の最大セットです。

個別のクラスター間での VM のライブ マイグレーション動作

各クラスタ内のすべてのサーバーが同じハードウェアで動作している場合は、実行中の VM をクラスター間でライブ マイグレーションすることが可能です。 3 つの一般的なシナリオがあります。

  • 新しいプロセッサを搭載したクラスターから同じプロセッサを搭載したクラスターに VM をライブ移行する。 VM の機能は、移行先クラスターに移行されます。 このシナリオでは、プロセッサ互換性モードを有効にする必要はありません。ただし、有効のままにしても、移行の問題は発生しません。

  • 古いプロセッサを搭載したクラスターから新しいプロセッサを搭載したクラスターに VM をライブ移行する。 VM の機能は、移行先クラスターに移行されます。 このシナリオでは、VM が再起動されると、ターゲット クラスターの最新の計算機能を受け取ります。

  • 新しいプロセッサを搭載したクラスターから古いプロセッサを搭載したクラスターに VM をライブ移行する。 PowerShell で MinimumFeatureSet パラメーターのCompatibilityForMigrationModeを使用するように VM プロセッサを設定するか、Windows Admin Center で同じ CPU 製造元を持つ他のホスト間で互換性を選択する必要があります。 VM が再起動されると、ターゲット クラスターの最新の計算機能を受け取ります。