VMware Workstation 16 Pro / Player で Windows 11 受け入れ準備をするには

#Windows 10 が終わり、次の OS が
6/24 の Microsoft Windows 11 発表はどうなるのかなと思って眠い目をこすりながらリアルタイムで視聴してました。結果として、UI がまた変わって Mac っぽくなっただけの Windows 10 と感じてしまったんですが、Windows 7 から Windows 10 の時のような、無償のアップグレードパスが用意されるということなので、「やってみようかな？」と準備することにしました。

#Windows 11 にできるハードウエアのスペックが・・・
まずは 新しい [Windows 11 OS へのアップグレード | Microsoft のページ](https://www.microsoft.com/ja-jp/windows/windows-11)から「Windows PC 正常性チェック プログラム」をダウンロードしてインストールします。
![互換性の確認](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/ce3bb397-9afd-d76c-abd3-d2fe41c6edf5.png)
必要なハードウエアスペックもこの下に書かれているので確認。
システムの最小要件として

* プロセッサ：1 ギガヘルツ (GHz) 以上で 2 コア以上の64 ビット互換プロセッサまたは System on a Chip (SoC)
* メモリ：4 GB RAM
* ストレージ：64 GB 以上の記憶装置
* グラフィックスカード：DirectX 12 互換のグラフィックス / WDDM 2.x
* ディスプレイ：9インチ以上、HD解像度 (720p)
* インターネット接続：Windows 11 Home Edition のセットアップには Microsoft のアカウントとインターネット接続が必要

と書かれている通り、結構シビア。一番大変なのはプロセッサで、第8世代以降で 2コア以上の CPU を搭載していない機種は Windows 11 にできません。また、ストレージも 64 GB 以上なので、ちょっと安物のタブレット型 PC はこの時点で対象外になってしまいます。そしてMicrosoft のアカウント、つまり PC のローカルアカウントではだめということのようです。相当ハードルが高くなっています。

#チェックツール
チェックツールをインストールして実行するとすぐに結果が出ます。対象外だと、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/dfb43276-1275-57d5-d512-d65ada568d84.png)
となります。対象だと、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/82f68c31-6574-d87a-b71a-fcb8047c4451.png)
となり、詳細情報をクリックすると先ほどの画面の「互換性の確認」の部分が
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/5c11aadb-e3f5-7650-cd0f-d216d40a86f0.png)
に変わり、配信待ちになります。つまり、いずれ配信が始まれば Windows 11 が使えるようになるわけです。

#物理PCしかだめなの？
ここまでなら特に VMware 関連ではないのですが、やはりWindows 11 も仮想マシンで動かしたいところ。特に Horizon などで配信するためには仮想マシンとしてインストールできるかどうかが一番気になります。そこで VMware Workstation 16 Pro / Player を使っていろいろとテストしてみました。

##今までと同じ仮想マシンの作り方でトライ
今までの Windows 仮想マシンを作るように「新しい仮想マシン作成ウイザード」を使い作成した仮想マシンでは、先の「Windows PC 正常性チェック プログラム」は以下のようにインストールができないことがあります。私の場合仮想マシンを作る際に vSphere 6.7 環境があるのでそれに合わせて vSphere 6.7 の仮想マシン （virtualHW.version = "15"）として Workstation Pro / Player では作成するのですが、それではこのメッセージになって「Windows PC 正常性チェック プログラム」がインストールできませんでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/2c478f6d-8d3e-0283-d2cb-6e086db4fb2c.png)

##仮想ハードウエアバージョンが古いとダメなの？
まずはあてずっぽうに考え、「仮想ハードウエアが古いとダメなんじゃね？」と考えて仮想マシンをアップグレード、Workstation 16.x （virtualHW.version = "18"）にして再度インストールを実施したところ、無事にインストール完了できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/e532385d-3a35-8911-1a15-94e0258d2eca.png)

##インストール完了
これでいよいよ「Windows PC 正常性チェック プログラム」を使って Windows 11 にできるかのチェックです。（しかし、実はこれは関係ない・・・・・というのが後でわかります。）

#「Windows PC 正常性チェック プログラム」でチェック、そして失敗
早速「Windows PC 正常性チェック プログラム」を仮想マシンで動かしてチェックしたところ、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/578bd2e9-4eaa-1e98-7058-407ed5f03657.png)
この画面になり失敗です。どうやらベースの PC が条件に合致していても、仮想マシン側にも対応が必要なようです。そこをクリアするためにいろいろ条件を変えて調べてみました。その結果を Windows 11 のシステムの最小要件と比較しましたが、全部クリアしていました。

#どこが不足しているの？
実は Windows 11 の仕様を知っている方ならすぐにわかるのですが、先のページの「システムの最小要件」には書かれていない最低条件があります。これ、第8世代の　CPU を搭載する PC ではデフォルトで機能として持っているもので、PCメーカーの Windows 10 バンドル PC であればすでに設定されているものなので問題ないことなのですが、仮想マシンで新規に作ったりするとこの設定がされていないので、結果として「このPCではWindows 11を実行できません」の結果になってしまいます。なので、仮想マシンで Windows 11 を入れられるようにするためには、この対応が仮想マシンに必要になります。
物理 PC では、Windows 10 OS 搭載 PC は随分前から TPM 2.0 モジュールが必須で搭載されるようになっています。そして最近の CPU ではこの機能を CPU 自体で実装していて、Intel の CPU なら Haswell世代および Clover Trail 世代以降、AMDでは Mullins/Beema/Carrizo 世代以降に実装されています。なので、物理 PC であれば特に問題いのですが、VMware の仮想マシンを作る際にはこの機能は古い仮想ハードウエアバージョンでは使えず、新しい仮想ハードウエアバージョンでは機能として使えるけれどデフォルトでは有効になっていないため、今回の「Windows PC 正常性チェック プログラム」ではねられてしまいます。
となるとやることは1つ、仮想マシン自体に TPM を紐づけるだけです。

#TPM（Trusted Platform Module）をどうやって紐づけるの？
これも VMware 好きな人であれば「な～～んだ」ということなのですが、vSphere 6.7 以降であれば仮想マシンに簡単に TPM を追加することができます。

手順は以下の通りです。

1. 仮想マシンの「設定」を開く
2.「オプション」のタブをクリック
3. 「アクセスコントロール」を選択
4. 「暗号化」でパスワード設定を設定し仮想マシンの暗号化を行う
5. 「詳細」を選択
6. 「ファームウエアタイプ」で 「UEFI 」を選択し「セキュア ブートを有効にする」にチェックを入れる
7. 「ハードウエア」タブをクリック
8. 「追加」で「Trusted Platform Module」を追加
9. 保存して終了
これだけで、「Windows PC 正常性チェック プログラム」が動くようになります。

#Windows PC 正常性チェック プログラムのインストール
ダウンロードしたファイルを開くと「Windows PC 正常性チェック プログラム」のインストールが始まります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/d58808c4-cb4c-7ee7-7a07-beae7d9aa7c0.png)
##Windows PC 正常性チェック プログラムの実行
Windows PC 正常性チェック プログラムのインストールが終了すると、そのまま正常性の概要の画面になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/b2f77827-5cbe-e03f-1c85-5c0e2a05880f.png)
##PC 正常性の概要
あとはこの画面の「今すぐチェック」をクリックするだけです。
チェックは直ぐに行われて以下のような画面が表示されます。
##「いいお知らせです」の画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/cd4cd70e-b368-e6e7-734a-d8f5b546d99c.png)
この画面になれば、VMware Workstation 16 Pro の仮想マシンでの、Windows 11 の受け入れ準備が整いました。

#つまり、仮想マシンを用意する時に何をすればよいの？
ばらばら書いてきましたが、VMware Workstation Pro 上で Windows 11 が動作する仮想マシンを作るには、

1. 仮想マシンの新規作成時「カスタム」を選び、ハードウエアの互換性は ESXi 6.7 より新しいものを選択する（virtualhw.version = "15"より新しい仮想ハードウエアで、ESXi は 6.7 以上、Workstation は 15 以上が必須）
2. 新規作成ではできない以下の設定を、仮想マシン作成後に設定する
	* 仮想マシンの「設定」を開く
	* 「オプション」のタブをクリック
	* 「アクセスコントロール」を選択
	* 「暗号化」でパスワード設定を設定し仮想マシンの暗号化を行う
	* 「詳細」を選択
	* 「ファームウエアタイプ」で 「UEFI 」を選択し「セキュア ブートを有効にする」にチェックを入れる
	* 「ハードウエア」タブをクリック
	* 「追加」で「Trusted Platform Module」を追加
	* 保存して終了

これで Windows 11 が動作する仮想マシンになります。

#VMware Workstation Player ではできないの？
ここは気になるところですが、結果的には上記設定をすれば VMware Workstation Player でも動きます。ただ、 VMware Workstation Player では暗号化と Trusted Platform Module の追加ができません。なので、一度 VMware Workstation Pro で設定した仮想マシンを VMware Workstation Player で開くなどの作業が必要です。一度設定してしまえば VMware Workstation Player 側では通常の他の仮想マシンと同様に扱えるので、VMware Workstation Pro を購入して活用するなどしてみてください。

あと重要なこととして、仮想マシンの暗号化をすると OVF への出力ができなくなります。下の図のように OVF 出力がグレーアウトされるかわりに TAR へのエクスポートがメニューに出るようになります。ここ、仮想マシンを OVF でバックアップしていた人はご注意を。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/8d4d2d08-9e93-c646-f4ab-bb1690297b4b.png)

#Windows 11 に対応しているか、もっと事細かく知りたいときは
 Microsoft 謹製の「Windows PC 正常性チェック プログラム」では、今一つどこが対応しているのかが明確にわかりません。そこで、有志が作成した同様のチェックができる gitlab で公開されているツール [WhyNotWin11](https://github.com/rcmaehl/WhyNotWin11) を使ってみるというのもありでしょう。
[WhyNotWin11](https://github.com/rcmaehl/WhyNotWin11) をサイトからダウンロードして実行することで、すぐに結果が出ます。
##WhyNotWin11 の結果（未対応部分がある）
未対応の部分があると、このような赤のある画面になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/87356175-f157-dd32-253c-5f2eff37a00f.png)
この例では、DirectX + WDDM2 と Storage Available が未対応です。ストレージは交換すればどうにかなりますが、DirectX + WDDM2 はハードウエア依存なのでダメだと諦めるしかありません。
全てに対応している機種の場合はこのようになります。

##WhyNotWin11 の結果（対応している機種）
全て対応している場合は、このように全部の項目が緑になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541683/7a4e8ed5-1e56-f668-c0e2-fb1486c05968.png)
VMware Workstation 16 Pro / Player の仮想マシンの場合、DirectX + WDDM2 が必ずダメになります。これについては VMware Workstation 16 Pro / Player が、現時点では WDDM2 をサポートしていない（VMware Workstation 8 からの WDDM だけサポート）ため出てしまうことなので、今の所対処する方法はありません。なので、Windows 11 が配信されてエラーになる可能性がありますが、あとは結果待ちということになります。
※ちなみに仮想マシンで WDDM を使うには、仮想マシンに割り当てるモニタ数を 1に指定し、グラフィックス メモリをデフォルトのままではなく、グラフィックス メモリで（推奨）と表示されている値に変更するのが望ましいです。Windows 7 以降は標準でドライバーが入っているので、効果はある・・・・と思います。

#VMware Horizon 8 でも使えるの？（推測）
このように VMware Workstation 16 Pro / Player でも受け入れ準備ができることがわかりましたので、あとは vSphere 6.7 / 7 のプラットホームが Windows 11 のハードウエア要件に合致しているかどうか（CPU ファミリーですね）ということと、vSphere 6.7 / 7 にある「vSphere の仮想マシン暗号化機能」が使えるかどうかにかかってきます。VMware Horizon 7 からこの「vSphere の仮想マシン暗号化機能」を使い Windows 10 の仮想マシンを暗号化出来ているので、個人的にはそのまま Windows 11 でも出来るのではないかなぁと予想しています。このあたり、公式の情報が出てくるのを待つばかりです。

# オリジナルの記事
 [VMware Workstation 16 Pro / Player で Windows 11 受け入れ準備をする](https://imaisato.hatenablog.jp/entry/2021/06/27/023113) 2021/6/27 作成