VMware Workstation Player がメジャーアップデートされ、バージョン17になりました。新機能と既存の仮想マシンをバージョン17へアップグレードする方法を紹介します。
1. 新機能
1.1 Windows11 への対応
1年越しでWindows11に正式対応しました。
TPMに対応しています。Windows11を指定して新規仮想マシンを作成するとTPMのための暗号化設定画面が表示されます。
vmxファイルが暗号化されるとありますが、bios関連内容が暗号化されるのみで他の設定は編集できるので影響はありません。
また、vmdk つまり仮想HDD自体を暗号化することもできます。仮想マシンの不正使用を防ぐ機能です。
1.2 WDDM 1.2 に対応
WDDM 1.1 から 1.2 に変更になっています。1.2 は Windows8 で導入されたバージョンです。マイクロソフトの解説はこちらです。
WDDM 1.2 の機能 - Windows drivers | Microsoft Learn
2. 新しい仮想マシンへの移行方法
仮想ハードウェアバージョンが、19から20に変更されている。
VMware Workstation 16で、 Windows11の仮想マシンを作成した方は 「Windows10x64」 を選択していると思われるが、VMware Workstation Player 17にしても、仮想ハードウェアバージョンが19のままだと 「Windows11」に変更できません。
実際やってみると・・以下のエラーが出る。
この場合は、仮想ハードウェアバージョンを変更して対応します。vmx ファイルをエディタで開いて編集します
修正前
virtualHW.version = "19"
修正後
virtualHW.version = "20"
これにより、「Windows11」を選択できるようになる。
3. Alder Lake, Raptor Lake のコア指定
Alder Lake で導入された2種類のコア(P-Core, E-Core)の使いわけは17でもサポートされていません。なんとも残念な限り。
デフォルトだと仮想マシンは E-Core しか使われないので、P-Coreも活用するには過去に紹介した方法で回避するしかない。
4. ホストOSの制約
Player 17 のシステム要件を確認すると
A compatible 64-bit x86/AMD64 CPU launched in 2011 or later.
とあります。2011年というと SandyBridge 以降です。
Player 16のシステム要件には、2010年の Westmere もサポートされていました。
Systems using the following processors. Intel processors based on the 2010 Westmere micro-architecture. For example, Xeon 5600, Xeon 3600, Core i7-970, Core i7-980, and Core i7-990.
いよいよ、Westmere(Arrandale) が切られたかと思い、Arrandale PCで動作確認してみたところ、問題なく動きました。サポートからは切られたけど、CPUの機能としては使えているようです。
5. コア数のバグ
5.1 現象
CPUのコア数に関するバグがあります。
仮想マシンに4コアを割り当てた時に、仮想マシン内でデバイスマネージャー上は4コアを認識しているのにもかかわらず、タスクマネージャ上では2コアになっています。よく見ると、「ソケット2」とありCPUが2個あることになっている。
5.2 原因・調査
原因は Player の不具合で、実は 16.2 からある不具合で17でも引きずっていました。
Player ではCPUのコア数を設定できます。
Proでは「プロセッサごとのコアの数」も設定できるようになっています
Player で隠されている「プロセッサごとのコアの数」は自動設定されるのですが、意図しない値になっていた。
「プロセッサごとのコアの数」の設定は vmx 上は「cpuid.coresPerSocket 」に対応する。Player16.2 と Player17.0 において、コア数の設定により何が自動設定されるかを確認した結果が以下です。
コア数 | 16.2 | 17.0 |
---|---|---|
1 | なし | 1 |
2 | なし | 1 |
3 | 3 | 3 |
4 | なし | なし |
6 | 3 | 3 |
8 | 2 | 2 |
12 | 3 | 3 |
全く意味不明な動きをしています。なぜか3の時のみうまくいっている。17で微妙に変えてきてるし。。
5.3 解決方法
vmxファイル内の「cpuid.coresPerSocket 」を手動設定します。コア数と同じ値を設定すればよいです。
numvcpus = "4" cpuid.coresPerSocket = "4"
こうするとことで、4コアが正しく認識されます。
6. リンク
pmp-style.hatenablog.com pmp-style.hatenablog.com pmp-style.hatenablog.com pmp-style.hatenablog.com pmp-style.hatenablog.com pmp-style.hatenablog.com