VMware Workstation Player 16 では、仮想マシンがWindows10の場合、ハードディスクのデフォルトデバイスにNVMeが指定されますが、検証した結果、PVSCSIの方がスループットの高さ、CPU占有率の低さで優れている事が分かりました。PVSCSIに移行する手順を紹介します。
以下を参照ください
pmp-style.hatenablog.com 慣れない方は必ず仮想マシンを丸ごとコピーしてバックアップしてから作業をしてください。再起不能になっても責任が取れません。
vmxファイルはテキスト形式で行ごとに独立した設定を持ちます。行に前後関係はありませんが、同じデバイスは同じ個所に集めておきます。 (1). 仮想マシンの編集画面を開いて、HDDのインターフェースを調べてください。すでにSATAの方は、Step3 へ進んでください。
(2). vmxファイルをエディタで開き、システムドライブに使用しているデバイスをコメントアウトして、SATAにシステムドライブを接続します。 修正後 (3). 仮想マシンを起動して、デバイスマネージャでHDDがSATAで接続されている事を確認します。
(1). 仮想マシンの設定から SCSI HDDを新規追加してください。容量は最小の1Gでよいです。この時HDDのイメージファイルの名称を入力するので dummy_scsi.vmdk など分かりやすい名前にしてください。
(5). 仮想マシンをシャットダウンします。 (6). VMXファイルをエディタで開き、SCSIデバイスをPVSCSIに変更します。 修正前 修正後 (7). 仮想マシンを起動します (8). デバイスマネージャで「VMware PVSCSI Controller」の下に SCSI-HDDが登録されていることを確認します。
(9). 仮想マシンをシャットダウンします (1). VMXファイルをエディタで開き、システムドライブをPVSCSIに変更します。 修正前 修正後 この修正でシステムドライブが SATAからPVSCSIに変更され、ダミーのSCSIドライブは未接続状態になります。 (2). 仮想マシンを起動します。 ここで「INACCESSIBLE BOOT DEVICE」というエラーでブルースクリーンで落ちることがあります。
再起動後も同じ画面が出て3回目の起動で以下の画面になります。
「F4」を押し、セーフモードで起動します。
これでWindowsが起動できるので再起動してください。今度は、通常通り起動できます。 (3). デバイスマネージャで「VMware PVSCSI Controller」の下に SCSI-HDDが登録されていることを確認します。 これで無事 システムドライブのPVSCSI化が完了です。 (4). ダミーで追加した dummy_scsi.vmdk は使用しませんてので削除します。 今までこの現象は見たことがなく、VMware Workstation Player 16 とWindows10 20H2 の組み合わせで始めて確認しました。当初は復帰方法が分からなかったのですが、セーフモードで起動することで直りホッとしています。 謎は深まるばかりです。だれかご存じでしたら教えてください。1. 概要
2. 注意
3.全体の流れ
4. 詳細手順
Step1. VMXファイルをソート
コマンドプロンプトを開いて以下を実行してください。sort < 仮想マシン名.vmx > 仮想マシン名2.vmx
Step2. システムドライブをSATAに変更
最初にHDDのインターフェースをSATAに変更します。最終的にPVSCSIにするのですが、NVMeからダイレクトにPVSCSIに変更すると失敗することがあり、SATAからPVSCSIに移行させた方がスムースに行きました。経験則です。失敗してもHDDイメージが壊れることはないので安心してください。
NVMe から SATAに変更する例は以下になります。ファイル名は置き換えてくださいね。
修正前nvme0.present = "TRUE"
nvme0:0.present = "TRUE"
nvme0:0.fileName = "win10.vmdk"
nvme0:0.redo = ""
nvme0.pciSlotNumber = "256"
#nvme0.present = "TRUE"
#nvme0:0.present = "TRUE"
#nvme0:0.fileName = "win10.vmdk"
#nvme0:0.redo = ""
#nvme0.pciSlotNumber = "256"
sata0:0.present = "TRUE"
sata0:0.fileName = "win10.vmdk"
Step3. PVSCSIのダミードライブを追加
(2). 仮想マシンを起動します
(3). ディスクの管理で SCSI HDDを初期化してアクセスできることを確認します。
(4). デバイスマネージャで「LSI SAS 1068」の下に SCSI-HDDが登録されていることを確認します。scsi0.virtualDev = "lsisas1068"
scsi0.virtualDev = "pvscsi"
Step4. システムドライブを PVSCSI 化
sata0:0.fileName = "win10.vmdk"
sata0:0.present = "TRUE"
sata0:0.redo = ""
scsi0:0.fileName = "dummy_scsi.vmdk"
#sata0:0.fileName = "win10.vmdk"
#sata0:0.present = "TRUE"
#sata0:0.redo = ""
scsi0:0.fileName = "win10.vmdk"
ここで「F8」を押します
最後に
「INACCESSIBLE BOOT DEVICE」のブルースクリーン現象について
このエラーは、システムドライブのデバイスドライバーが存在せずにOSが起動できない時に発生するエラーです。このエラーを回避するために、ダミーのPVSCSIドライブを登録してOSにPVSCSIを認識させていたので、エラーになるのは不思議です。セーフモードで直るところを見て、高速起動モードのせいかと思ったのですが、仮想マシンにはなぜかその設定項目が表示されませんでした。
一方で、PVSCSIやNVMeから SATAに変更したときはこの現象は発生しません。そのため最初にSATAに変更する方法にしています。