LoginSignup
10
8

More than 1 year has passed since last update.

仮想マシンでもWindows11を動かすぞい! with Proxmox

Last updated at Posted at 2021-09-24

ことの発端

第一章 ESXi導入編

ぼく「ローカルマシンにWin10のVM立ててGPUパススルーするぞ」

後輩「ESXiオヌヌメ」

ぼく「よっしゃ立てたろ」

ESXiぼく「WebGUI使いやすい〜〜〜」

Win10「お前、TPM有効になってないからWin11に上がんねーぞ」

ぼく「ま?」

MVWare社「TPM使いたいならvSphere契約しろ」

ぼく「死んだわ」

後輩「草」

第二章 KVMを試す

ぼく「よーし、KVM使うで」

Ubuntuインストールぼく「とりあえずvirt-manager起動しようっと」

Ubuntu「CPUの仮想化がうまくいかへんねん」

ぼく「なんでや!Ryzenだからか??」

ぼく「WSL2も使えへんし。。。」

ぼく「なんか面倒なんでWindowsをクリーンするか」

第三章 Proxmoxとの出会い

後輩「まだVMと格闘してんすか」

ぼく「はい」

後輩「ぞい君さぁ〜〜〜。もうProxmoxしかないですね」

ぼく「なにそれ」

後輩「WSL2起動しましたよ」

ぼく「よし入れるわ」

ゴール

  • Windows11が動くVMを立てる
  • GPUパススルーする
  • 仮想化をONにしてWSL2も動かす

ホストマシン構成

部品 パーツ
CPU Ryzen5 3600X
M/B ASRock X570
MEM DDR4 32GB
SSD m.2 SSD 1TB
GPU1 GeForce 1080Ti
GPU2 Radeon RX470
POW 850W

後輩「なんでGeforceとRadeon混ぜてんすか」

ぼく「例のグラボ(※1)の使い道を探したかったんよ」

後輩「まーた変なことしてる」

※1・・・「例のグラボ」とは、2019年頃に流通した出力ポートのないRadeonのことである

Proxmoxのインストール

インストールメディアの作成

公式サイトからisoをダウンロードし、インストールUSBを作成

Proxmoxのインストール

ぼく「メディアをさして実行したら、全自動でやってくれたぞ」

後輩「なんならブート領域まで全部よしなにしてくれるから、データ残したい時は注意っすね」

Proxmoxの起動とアクセス

ぼく「https://<IP>:8006`でアクセス、っと」

後輩「http's'にするのを忘れると死ぬんで気をつけてくださいね」

ぼく「(既にやらかしている)・・・当たり前やろ!」

後輩「(あー、これはやらかしてるな)」

ぼく「まずはログインして、っと。」

ぼく「パスワードは入れたんだけど、User Nameって何だ?」

ぼく「いいや、適当で。root、っと」

ぼく「入れたわ」

image.png

VMを作成する

ぼく「とりあえずWin10のVM作ったろ」

isoイメージのアップロード

データセンター > ホスト名 > local > ISOイメージと選択し、「アップロード」を押すとisoをアップロードできます。
(画像は既にアップロードされているisoイメージ)

image.png

VMの作成

画面の右上から「VMを作成」を選択

image.png

OS欄タブでは、ゲストOSの種類に「Windows」を、バージョンが「10/2016/2019」であることを確認。

image.png

システム欄では、BIOS種別をUEFIにすることを忘れずに。
EFIディスクも足す必要があるので足しておく。(デフォルトのディスク指定でOK)

これを忘れると、後から変更した時にディスクを認識しなるので今のうちにやる必要あり。

image.png

CPUにマルチコアを与える場合、ソケット数の最大を2にする必要がある。
(なんでもWindows Clientは2ソケットしか認識しないらしい)

image.png

なお、内部でWSL2などの仮想化を使いたい場合には、種別を「host」にする必要があるとのこと。
(後からの変更も可能です)

image.png

ぼく「あとは適当に指定して作成っと」

一旦インストールを完了させる

ぼく「いつも通りにインストールして・・・。よし、完了や」

ProxmoxにvTPMを導入する

ぼく「ここからが本番やな」

ぼく「こちらのサイトを参考に進めるやで〜」

Proxmox機にSSHで入る

ssh root@<IP Address>

vTPMのインストールスクリプトの実行

下記のコマンドを実行する

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/garjones/gareth.com/master/vTPM-install.sh)"

途中で、次のような内容を聞かれるのでそのままEnterする

The package documentation directory ./doc-pak does not exist. 
Should I create a default set of package docs?  [y]: 

次に、インストールスクリプトの調整を行う必要があるらしいので、
次の画面になるまで待つ。

*****************************************
**** Debian package creation selected ***
*****************************************

This package will be built according to these values: 

0 -  Maintainer: [ root@vtpm ]
1 -  Summary: [ TPM Emulator
Private libraries for swtpm TPM emulators
Include files for the TPM emulator's CUSE interface for usage by clients
Tools for the TPM emulator
Tools for creating a local CA based on a pkcs11 device ]
2 -  Name:    [ swtpm ]
3 -  Version: [ 0.7.0 ]
4 -  Release: [ 1%{?dist} ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ swtpm ]
9 -  Alternate source location: [  ]
10 - Requires: [ trousers >= 0.3.9 bash gnutls-utils
tpm2-pkcs11 tpm2-pkcs11-tools tpm2-tools tpm2-abrmd
expect gnutls-utils trousers >= 0.3.9 ]
11 - Recommends: [  ]
12 - Suggests: [  ]
13 - Provides: [ swtpm ]
14 - Conflicts: [  ]
15 - Replaces: [  ]

Enter a number to change any of them or press ENTER to continue: 

そのまま実行するとエラーになるので、設定内容を調整する

Release Versionの調整

次のコマンドを順番に実行

4 -> Enter -> Enter

Requires の文字列調整

10 -> Enter -> Enter

※この辺りは暫定処置なので、脳死で本番環境に持っていかないでね(原文意訳)

最後に、Enterを押下してインストールスクリプトの実行。

インストールが終了するまで待ちます。

vTPMの有効化

ここまで進んだら/root/vtpmが作成されているハズので、次のコマンドを実行する

※一度WindowsVMを落としておくこと!!!

cd /root/vtpm
./vTPM-launch.sh <VID>

この状態で無事VMが起動すれば作業完了です。

システム設定から「デバイスセキュリティ」をたどり、TPM2.0が有効になっていることを確認しましょう。

image.png

Windows Update完了!

ぼく「よっしゃオラ!Windows11に上がったぞい!」

image.png

PCIをパススルーする

ぼく「ここからが本番や」

PCIデバイスを追加

VM > ハードウェア > 追加 > PCIデバイス と選択

image.png

一覧からGPUを選択してアタッチ

image.png

一覧にたされている事を確認し、マシンを再起動する

image.png

ちなみに、GPUをアタッチするとそっちに取られるのかコンソールにでなくなる場合があるので注意。
(あらかじめRDPの設定をしないと詰むので注意しましょう)

image.png

ぼく「よっしゃ認識した!!!」

image.png

TPMが認識しなくなった時は

マシンをシャットダウンして、もう一度vTPM-launchを実行すると良いみたいです。

CPUが100%に張り付いて死んだ時は

強制終了して、もう一度vTPM-launchを実行すると良いみたいです。

さいごに

この記事のWindows11はInsider Previewで取得したPreview版のWindows11を利用しています。
また、vTPMの利用は公式でサポートされているわけでもなければ、本番リリース時に正常に動作するという保証もありません。

この記事の内容はあくまでも実験的な物であり、本番環境での実行は推奨しませんのでご注意ください。

唐突にマシンが起動しなくなっても保証ができません。というか実際かなり不安定です。
Windows11を使いたい場合には、セキュリティを無視したインストールを実施するか、Proxmox公式の声明が発表されるまでもう少し待ったほうが賢明かもしれません。

10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8