ThinkPad X1 Carbon Gen 9(i7-1185G7)のWindows10 Home 21H1 で、VMware Workstation Player 16.2.0 build-18760230 を使用しています。
仮想マシン作成時、 プロセッサ数に4を指定したにもかかわらず、Windows 11 Pro 正規版をクリーンインストールしたところ、仮想プロセッサ数が2つしか認識されませんでした。1つ前の VMWare Workstation Player で、プレビュー版をインストールした時には、ちゃんと4つ認識されていました。何が悪いのでしょうか?
ちなみに、前のバージョンで作成した仮想マシンのプレビュー版 Windows 11 Home を正規版にアップグレードした物では、プロセッサ数は4のまま、正しく認識されています。
「VMware Fusion 12 player での仮想マシンのプロセッサ数について」を参照して気付きました。
プロセッサ数4の場合の .vmx ファイルには、cpuid.coresPerSocket の記述がありませんでした。
プロセッサ数6の場合は、cpuid.coresPerSocket = "3" の記述があります。
試しにプロセッサ数4の場合に、cpuid.coresPerSocket = "2" を追加したところ、正常に2スロットで4つのプロセッサを認識しました。
なお、追加する前でも、デバイスマネージャーでは4つのプロセッサを認識していましたが、タスクマネージャでは2ソケット2仮想プロセッサとなっていました。cpuid.coresPerSocket がない場合は、1ソケット1仮想プロセッサ?
元々は Windows 10 64bit で仮想マシンを作成したのだから、OS の制限(Home なら1ソケット)に合わせて cpuid.coresPerSocket を自動で記述すべきと思います。今回、6プロセッサを試したのがたまたま Pro だったから良かったものの、Home だったら3つしか認識されなかったのでは?
アップグレードインストールした Windows 11 Home の .vmx には、cpuid.coresPerSocket = "4" となっていました。
cpuid.coresPerSocket の値に問題があるのは、16.2.0 build-18760230 のバグと思います。
誤記修正
↑で、「プロセッサ数」と書いていますが、正しくは、「プロセッサ コアの数」でした m(_._)m 。
似た環境が手元にあるので確認してみました。
確認した環境は Thinkpad X1 Nano (i7-1160G7) で Workstation は同じバージョンです (Pro 版での確認)。
CPU の割り当てを、2 プロセッサ : 2 コア とした場合は正常に4つ認識。
CPU の割り当てを、1 プロセッサ : 4 コア とした場合も正常に4つ認識。
CPU の割り当てを、4 プロセッサ : 1 コア とした場合は Windows 11 Pro の制限で 2 プロセッサまで認識。
ちなみにCPU の割り当てを、1 プロセッサ : 6 コア とした場合も正常に認識されました。
何れも設定 UI で変更したのみで vmx など構成ファイルは手を付けず正常に仕様通りの確認が取れております。
ご参考まで
Moderator: 日本語による投稿のため、VMware Workstation Player Discussions から移動いたしました。
試しにプロセッサ数を6にしたところ、Windows上でも6個のプロセッサと認識されました。
4つに戻すと、また2つしか認識されませんでした。2つと設定しても2つのまま。プロセッサコアの数が4つの時のみ、動作がおかしいように感じます。
こんにちは。
コア数 4つの場合ですが、下記いずれかの設定でWindows 11 Pro仮想マシンで4コア認識できたりしませんでしょうか?
(根本的な解決にはならないかもですが、とりあえずは4コア認識できるようになるかもと思いまして)
以上です。参考になるかどうか・・・
「VMware Fusion 12 player での仮想マシンのプロセッサ数について」を参照して気付きました。
プロセッサ数4の場合の .vmx ファイルには、cpuid.coresPerSocket の記述がありませんでした。
プロセッサ数6の場合は、cpuid.coresPerSocket = "3" の記述があります。
試しにプロセッサ数4の場合に、cpuid.coresPerSocket = "2" を追加したところ、正常に2スロットで4つのプロセッサを認識しました。
なお、追加する前でも、デバイスマネージャーでは4つのプロセッサを認識していましたが、タスクマネージャでは2ソケット2仮想プロセッサとなっていました。cpuid.coresPerSocket がない場合は、1ソケット1仮想プロセッサ?
元々は Windows 10 64bit で仮想マシンを作成したのだから、OS の制限(Home なら1ソケット)に合わせて cpuid.coresPerSocket を自動で記述すべきと思います。今回、6プロセッサを試したのがたまたま Pro だったから良かったものの、Home だったら3つしか認識されなかったのでは?
アップグレードインストールした Windows 11 Home の .vmx には、cpuid.coresPerSocket = "4" となっていました。
cpuid.coresPerSocket の値に問題があるのは、16.2.0 build-18760230 のバグと思います。
誤記修正
↑で、「プロセッサ数」と書いていますが、正しくは、「プロセッサ コアの数」でした m(_._)m 。
似た環境が手元にあるので確認してみました。
確認した環境は Thinkpad X1 Nano (i7-1160G7) で Workstation は同じバージョンです (Pro 版での確認)。
CPU の割り当てを、2 プロセッサ : 2 コア とした場合は正常に4つ認識。
CPU の割り当てを、1 プロセッサ : 4 コア とした場合も正常に4つ認識。
CPU の割り当てを、4 プロセッサ : 1 コア とした場合は Windows 11 Pro の制限で 2 プロセッサまで認識。
ちなみにCPU の割り当てを、1 プロセッサ : 6 コア とした場合も正常に認識されました。
何れも設定 UI で変更したのみで vmx など構成ファイルは手を付けず正常に仕様通りの確認が取れております。
ご参考まで
Workstation Pro での確認、ありがとうございます。
残念ながら、無償版の Player では、「プロセッサ コアの数」というメニューしか無く、プロセッサ数を指定するメニューがありません。
メニューの内容からすると、元々、Player ではプロセッサは1つという仕様だったのでは無いかと思います。以前のバージョンではそれで問題が無かったのですが、最新の 16.2.0 では、そこがおかしくなったように思います。
無償版の Player はメーカーのサポートは無いですし、Windows 11 用の TPM のサポートも.vmx ファイルをエディタで修正する必要が有る。そう考えると、とりあえず対策方法が判ったので、今回の件はこれで良しとしようと思います。
なるほど、Player 版だとプロセッサ周りの設定 UI が異なっていたのですね、情報ありがとうございます。
無償の Player 16.2.1 build-18811642 がダウンロード可能になったので、少しだけ試してみました。
プロセッサコアの数を3または6にすると、cpuid.coresPerSocket = "3"が.vmxファイルに登録され、
4または2だとcpuid.coresPerSocketが見つかりません。
8だと、cpuid.coresPerSocket = "2"でした。
Windows の Home エディションでコア数が1と3以外の場合と、
Pro エディションでも4や8の場合等は、
VMware Player では.vmxファイルの手修正が必要な様です。
なお、Wndows 11 には 16.2.1 でも未対応のようで、OS の選択肢に現れませんでした。