PMPの流儀

PMPの流儀

エンジニアのページ

MENU

VMware ハードディスクの最適化(Windows7 PVSCSI化)

VMware Workstation Player 16 では、仮想マシンWindows7の場合、ハードディスクのデフォルトコントローラにLSI SAS 1068が指定されますが、検証した結果、PVSCSIの方がスループットの高さ、CPU占有率の低さで優れている事が分かりました。PVSCSIに移行する手順を紹介します。

pmp-style.hatenablog.com

1. 概要

以下を参照ください
pmp-style.hatenablog.com

2. 注意

慣れない方は必ず仮想マシンを丸ごとコピーしてバックアップしてから作業をしてください。再起不能になっても責任が取れません。

3.全体の流れ

f:id:ruruucky:20201102022005p:plain

4. 詳細手順

Step1. VMXファイルをソート

vmxファイルはテキスト形式で行ごとに独立した設定を持ちます。行に前後関係はありませんが、同じデバイスは同じ個所に集めておきます。
コマンドプロンプトを開いて以下を実行してください。

sort  < 仮想マシン名.vmx > 仮想マシン名2.vmx

Step2. システムドライブをSATAに変更

(1).
最初にHDDのインターフェースをSATAに変更します。
仮想マシンの編集画面を開いて、HDDのインターフェースを調べてください。すでにSATAの方は Step3 へ進んでください。

f:id:ruruucky:20201102002714p:plain

(2). vmxファイルをエディタで開き、システムドライブに使用しているデバイスコメントアウトして、SATAにシステムドライブを接続します。
LSI SAS 1068から SATAに変更する例は以下になります。ファイル名は置き換えてください。
修正前

scsi0.pciSlotNumber = "160"
scsi0.present = "TRUE"
scsi0.sasWWID = "50 05 05 60 94 7f 33 e0"
scsi0.virtualDev = "lsisas1068"
scsi0:0.fileName = "win7.vmdk"
scsi0:0.present = "TRUE"
scsi0:0.redo = ""

修正後

#scsi0.pciSlotNumber = "160"
#scsi0.present = "TRUE"
#scsi0.sasWWID = "50 05 05 60 94 7f 33 e0"
#scsi0.virtualDev = "lsisas1068"
#scsi0:0.fileName = "win7.vmdk"
#scsi0:0.present = "TRUE"
#scsi0:0.redo = ""

sata0:0.present = "TRUE"
sata0:0.fileName = "win7.vmdk"

(3). 仮想マシンを起動して、デバイスマネージャでHDDがSATAで接続されている事を確認します。

f:id:ruruucky:20201108113612p:plain

Step3. PVSCSIのダミードライブを追加

(1). 仮想マシンの設定から SCSI HDDを新規追加してください。容量は最小の1Gでよいです。この時HDDのイメージファイルの名称を入力するので dummy_scsi.vmdk など分かりやすい名前にしてください。
(2). 仮想マシンを起動します
(3). ディスクの管理で SCSI HDDを初期化してアクセスできることを確認します。
(4). デバイスマネージャで「LSI SAS 1068」の下に SCSI-HDDが登録されていることを確認します。

f:id:ruruucky:20201108114239p:plain

(5). 仮想マシンをシャットダウンします。

(6). VMXファイルをエディタで開き、SCSIバイスをPVSCSIに変更します。

修正前

scsi0.virtualDev = "lsisas1068"

修正後

scsi0.virtualDev = "pvscsi"

(7). 仮想マシンを起動します

(8). デバイスマネージャで「VMware PVSCSI Controller」の下に SCSI-HDDが登録されていることを確認します。

f:id:ruruucky:20201108114530p:plain

(9). 仮想マシンをシャットダウンします

Step4. システムドライブを PVSCSI 化

(1). VMXファイルをエディタで開き、システムドライブをPVSCSIに変更します。

修正前

sata0:0.fileName = "win7.vmdk"
sata0:0.present = "TRUE"
sata0:0.redo = ""

scsi0:0.fileName = "dummy_scsi.vmdk"

修正後

#sata0:0.fileName = "win7.vmdk"
#sata0:0.present = "TRUE"
#sata0:0.redo = ""

scsi0:0.fileName = "win7.vmdk"

この修正でシステムドライブが SATAからPVSCSIに変更され、ダミーのSCSIドライブは未接続状態になります。

(2). 仮想マシンを起動し、デバイスマネージャで「VMware PVSCSI Controller」の下に SCSI-HDDが登録されていることを確認します。
f:id:ruruucky:20201102013130p:plain

これでシステムドライブのPVSCSI化が完了です。
※ Windows10ではここでブルースクリーンが出て起動できませんでした。もし現象が出た場合、1度セーフモードで起動すると直ると思います。

(3). dummy_scsi.vmdk は使用しないので削除します。