🖥️

【Proxmox VE 実践編】Windows Server VM作成ガイド:VirtIOドライバと起動設定の罠を徹底解説

に公開

【Proxmox VE 実践編】Windows Server VM作成ガイド:VirtIOドライバと起動設定の罠を徹底解説

前回の記事では、Ubuntu ServerのVM作成手順を解説しました。今回は、多くのビジネスシーンで利用されるWindows Server 2022をProxmox VE上に構築します。
https://zenn.dev/koikoi_infra/articles/e182727d8e81dc
Linuxの時とは異なる、Windowsならではの「お作法」がいくつか存在します。特に、パフォーマンスを引き出すためのVirtIOドライバと、それによって発生しがちな起動設定の罠に焦点を当てて、詳しく解説していきます。


1. 今回作成するWindows Server VMの仕様

まず、今回作成するVMのスペックと、Proxmox VEでの最適化設定の完成形を以下に示します。

  • 基本仕様

    • 名前: windows-server-01
    • CPU: 4コア (理由:将来の役割追加を見据え、推奨スペックより多めに設定)
    • RAM: 8GB (理由:Windows Serverを快適に動作させるための推奨スペック)
    • HDD: 80GB (理由:OS領域に加え、アプリやデータを保存する十分な余裕を確保)
  • 最適化設定

    • システム: Machine: q35, BIOS: UEFI, TPM有効 (理由:最新OSの性能とセキュリティ要件を満たすための現代的な構成)
    • ディスク: VirtIO SCSI (理由:仮想化環境で最速のディスク性能を発揮する専用規格)
    • ネットワーク: VirtIO (理由:仮想化環境で最速のネットワーク性能を発揮する専用規格)

2. 事前準備:2つのISOイメージを用意する

Windows VMを快適に動かすためには、OS本体に加えて、Proxmox VE用の特殊なドライバが必要です。

ここで言うISOファイルとは、CDやDVDといった光ディスクの中身を丸ごと一つのファイルにしたものです。VMは、このISOファイルを仮想的なCD/DVDドライブとして読み込みます。

① Windows Server 2022 評価版ISO

まず、OS本体のインストールメディアを準備します。Microsoft Evaluation Centerから、Windows Server 2022の評価版ISO(180日利用可能)をダウンロードします。これは、OSを起動・インストールするためのプログラムが含まれている**「起動可能(ブータブル)」**なISOファイルです。

② VirtIOドライバ ISO(最重要)

次に、Proxmox VEの高性能な仮想デバイスをWindowsに認識させるための「翻訳機」となる、VirtIOドライバを準備します。これはFedoraプロジェクトの公式サイトからダウンロードできます。
このISOファイルにはドライバだけが収録されており、OSを起動する機能はないため、**「起動不可能(ノンブータブル)」**です。この違いが、後の手順で重要になります。

補足:なぜUbuntu ServerではVirtIOドライバが不要だったのか?

Linux(Ubuntu Serverなど)は、オープンソースのコミュニティによって開発されているため、仮想化のためのVirtIOドライバがOSの核(カーネル)に標準で組み込まれています。そのため、特別な準備なしで高性能なデバイスを認識できます。

一方、WindowsはMicrosoftが開発しており、標準のインストールメディアにはVirtIOドライバが含まれていません。そのため、私たちが手動でドライバを用意してあげる必要があるのです。

準備ができたら、上記2つのISOファイルを、Proxmox VEのlocalストレージにある「ISOイメージ」にアップロードしておきます。


3. VM作成ウィザード:Windows向け最適化設定

それでは「VMを作成」ボタンからウィザードを開始します。Windows特有の重要ポイントを解説します。

OSタブ

  • ISOイメージ: ダウンロードしたWindows Server 2022のISOを選択します。
  • ゲストOS: 種類を**Microsoft Windows、バージョンを11/2022**に設定します。
  • VirtIO ドライバ用の追加ドライブを追加: 必ずチェックを入れ、表示されたドロップダウンメニューから、先ほどアップロードしたvirtio-win.isoを手動で選択します。

システムタブ、ディスクタブ、その他

その他のタブでも、「1. 今回作成するWindows Server VMの仕様」で設計した最適化設定を適用していきます。ディスクのバスタイプは、VirtIO SCSIコントローラーに接続するため、**SCSI**を選択します。

補足:なぜ今回は`VirtIO SCSI`で、Ubuntuでは`VirtIO Block`だったのか?

どちらもVirtIOの高性能な規格ですが、役割が少し違います。

  • VirtIO Block: 1対1で接続するシンプルな「専用ケーブル」のようなものです。非常に高速です。
  • VirtIO SCSI: 複数のデバイスを管理できる「高性能なハブ(コントローラー)」のようなものです。より多くの機能を持ち、柔軟性に優れています。

Windows Serverのような多機能なOSでは、より柔軟で高機能な**VirtIO SCSI**を利用するのが一般的です。Proxmox VEもWindowsのテンプレートではこちらを推奨しています。


4. 起動前の最終確認:VMの起動順序を設定する(最重要ポイント)

ウィザードを完了させても、まだVMを起動してはいけません。
このまま起動すると、多くの人が遭遇する「起動しない」問題に直面します。これを解決する鍵がVMの起動デバイス順序の変更です。

解決手順:起動順序の変更

まず、VMが正しいディスクから起動するように、順序を明示的に設定します。

  1. 作成したWindows Server VMを選択し、「オプション」タブを開きます。
  2. 起動順序」をダブルクリックします。
  3. 表示されたウィンドウで、Windows ServerのISOが接続されているCD/DVDドライブ(例: ide2一番上までドラッグします。
  4. 次に、OSインストール後に使用する**仮想ディスク(例: scsi0)**が2番目にくるように設定します。
  5. 「OK」を押して設定を保存します。

なぜこの設定が必要なのか?

VMには現在、2つのISO(起動できるWindows ISO、起動できないドライバISO)が接続されています。

  • **BIOS(従来の方法)**なら、「1番目がダメなら2番目を試す」と順番に起動を試してくれます。
  • しかし、今回設定した**UEFI(新しい方法)**はより厳格です。リストの1番目にある起動不可能なVirtIOドライバのISOを読み込むと、「これはOSではない」と判断してエラーで停止してしまい、2番目のWindows ISOを試しにいってくれないのです。

UEFIは、高速起動やセキュアブートといった多くのメリットを持つ現代的な起動方式ですが、そのために私たちは「最初に起動すべき正しいデバイス」を正確に指示してあげる必要があるのです。


5. 起動確認

すべての設定が完了したら、VMを「起動」し、「コンソール」を開きます。

このWindowsセットアップ画面が起動すれば、VMの作成と設定は完璧です。

まとめ

これで、最高のパフォーマンスを発揮するWindows Server VMの器が準備できました。
次回の記事では、いよいよこのVMにWindows Server 2022をインストールしていきます。

Discussion