KVM/ProxmoxでWindows 11をインストールする:TPM 2.0とSecure Bootを完璧にエミュレートする方法

Virtualization tutorial - IT technology blog
Virtualization tutorial - IT technology blog

「このPCではWindows 11を実行できません」という悩み

Dual Xeon Platinumに256GBのRAMを搭載したサーバーであっても、Windows 11から「システム要件を満たしていません」とエラーが出るのを見ると、言葉を失ってしまいます。これはProxmoxやラボ環境を構築しているエンジニアなら、誰もが経験したことのある苦い思い出でしょう。Microsoftは、TPM 2.0という小さなセキュリティチップがないというだけで、数千万円もするマシンをあっさりと拒絶してしまうのです。

実務環境において、ソフトウェアテストやサンドボックスとしてWindows 11の仮想マシン(VM)を作成するニーズは非常に高いです。しかし、KVMや古いバージョンのProxmoxのデフォルト設定はレガシーな規格を使用していることが多く、その結果、最初のインストール画面で足止めを食らってしまいます。

なぜKVM/Proxmoxの仮想マシンはWindows 11に拒否されるのか?

Windows 11が仮想マシンに対して厳しい姿勢をとる理由は、主に以下の3つのポイントに集約されます。

  • TPM 2.0 (Trusted Platform Module): 暗号化に使用されるセキュリティチップ。仮想マシンでは、エミュレーション機能を有効にしない限り、デフォルトでは存在しません.
  • セキュアブート (Secure Boot): 安全な起動を保証する機能。これには、仮想マシンのファームウェアが従来のSeaBIOSではなくUEFIである必要があります。
  • 時代遅れのチップセット: Windows 11は最新のチップセットを要求します。もし1996年に登場したi440fxを使い続けていれば、Windowsはそれを骨董品のようなコンピュータだと判断します。

デフォルト設定のまま「次へ」進むと、Proxmoxはセキュリティチップのない古いBIOSベースの仮想マシンを割り当てます。当然、Windows 11に即座に拒否されてしまいます。

現在主流の3つの回避策

各アプローチには一長一短があります。迅速さを取るか、正確さを取るかによって選択してください:

1. レジストリによる回避(手軽だが非推奨)

エラー画面で Shift + F10 を押し、regedit と入力して BypassTPMCheck キーを追加する方法です。この方法は手っ取り早いですが、システムが「非サポート」としてマークされ、将来のWindows Updateで問題が発生したり、画面の隅に不快な透かし(ウォーターマーク)が表示されたりする可能性があります。

2. カスタムISO(改造ISO)の使用(リスクあり)

Rufusを使用してTPM要件を削除したISOを作成する方法です。古い物理マシンには便利ですが、仮想マシンの場合、複数のカスタムISOを管理するのは手間がかかります。また、ネット上に転がっている改造済みのISOには、極めて高いセキュリティリスクが潜んでいます。

3. ハードウェアエミュレーション (Software TPM) – 最良の選択肢

これが最も「正規」な解決策です。OSを騙すのではなく、必要とされているものを正しく提供します。KVMは swtpm をサポートしており、非常に高度な仮想TPMチップを作成できます。これにより、仮想マシンを最新のコンピュータとして認識させることが可能です。

Proxmox (バージョン 8.x) での標準設定手順

10台以上の仮想マシンを運用している私のラボ環境でも採用している、Windows 11を快適に動作させ、毎週のアップデートを完全に受け取るための標準的なフローを紹介します。

ステップ 1: 最適なハードウェア構成

仮想マシンの作成(Create VM)時、特に以下のタブに注意してください:

  • OS: Windows 11のISOを選択し、後でドライバーを自動認識させるために “Add Windows guest agents/drivers” にチェックを入れます。
  • System: ここが最も重要なポイントです:
    • Machine: q35 に変更する必要があります。
    • BIOS: OVMF (UEFI) を選択します。
    • Add EFI Disk: セキュアブート設定を保存するためにチェックを入れます。
    • Add TPM: バージョン v2.0 を選択します。これがWindows 11への「通行手形」となります。
  • Disks: VirtIO Block を選択します。実際の速度は、標準のIDEやSATAよりも2〜3倍高速です。

ステップ 2: 純粋なKVM/QEMUを使用する場合

UbuntuやDebianで virt-manager を使用して管理している場合は、まずTPMエミュレーションのサポートパッケージをインストールします:

sudo apt update && sudo apt install swtpm swtpm-tools ovmf

仮想マシンのXMLファイルに以下の記述があることを確認し、仮想セキュリティチップを有効にします:

<tpm model='tpm-tis'>
  <backend type='emulator' version='2.0'/>
</tpm>

ステップ 3: インストール時のVirtIOドライバーの処理

Windowsのインストール中にハードディスクが表示されず、焦る人が多くいます。これは単純に、Windowsに高速な VirtIO 規格のドライバーが標準で含まれていないためです。

Proxmox의 ISOストレージによく用意されている virtio-win.iso ファイルを追加でマウントしてください。ディスク選択の画面で Load Driver をクリックし、vioscsi\w11\amd64 フォルダを指定します。すると、すぐにハードディスクが表示されます。

ステップ 4: 結果の確認

デスクトップ画面が表示されたら、デバイスマネージャーを開きます。セキュリティ デバイス -> トラステッド プラットフォーム モジュール 2.0 が表示されていれば、成功です。Windows Updateも実機と同じようにスムーズに動作します。

実体験から得た教訓

TPMを搭載していても、Windows 11は依然としてリソースを大量に消費します。RAMを惜しまず、コーディングや重いアプリを実行する場合は少なくとも8GBを割り当ててください。VirtIO経由でNVMeディスクを使用すれば、仮想マシンはわずか5〜7秒で起動するようになります。

TPMのエミュレーションは、単にWindows 11をインストールするためだけのものではありません。実機のハードウェアを壊す心配をせずに、BitLockerなどのセキュリティ機能を試すことも可能になります。皆さんも、理想的なWindows 11仮想マシンを構築してみてください!

Share: