VMware ESXiでVMのハードウェアバージョンをアップグレードする方法を徹底解説
VMwareは、ESXiの新リリースごとに仮想マシン(VM)および仮想ハードウェアのバージョンを更新しています。新しいバージョンのVMでは、新機能の追加、新しい仮想デバイスへの対応、リソース上限(PCIスロット数、RAM、vCPU数など)の拡張、バグ修正などが行われます。そのため、新しいESXiバージョンへ移行する際には、すべての仮想マシンの仮想ハードウェアバージョンをアップグレードすることが推奨されます。古いVMバージョンの使用は、互換性確保のためだけに限定すべきです。
この記事では、VMware ESXiホスト上で稼働している仮想マシンの仮想ハードウェアバージョンをアップグレードする方法を詳しく解説します。
ESXiとVMハードウェアバージョンの互換性一覧
ESXiのバージョンと対応するVMハードウェアバージョンの互換性は、以下の表のとおりです。
| ハイパーバイザーのバージョン | VMバージョン |
| ESX/ESXi 4.X | 7 |
| ESXi 5.0 | 8 |
| ESXi 5.1 | 9 |
| ESXi 5.5 | 10 |
| ESXi 6.0 | 11 |
| ESXi 6.5 | 13 |
| ESXi 6.7 | 14 |
| ESXi 6.7 U2 | 15 |
| ESXi 7.0(7.0.0) | 17 |
| ESXi 7.0 U1(7.0.1) | 18 |
| ESXi 7.0 U2(7.0.2) | 19 |
現在のVMハードウェアバージョンの確認方法
仮想マシンの現在の(仮想ハードウェア)バージョンは、vSphere Clientで該当VMを選択し、「サマリー」タブの「互換性」セクションで確認できます。以下のスクリーンショットの例では、VMバージョン18(ESXi 7.0 U1以降)が使用されています。

なお、VMwareは公式に、新しい機能が必要でない限り仮想ハードウェアバージョンを更新しないことを推奨しています。無計画なアップグレードは避け、必要性を見極めてから実施しましょう。
注意:新しいVMバージョンは旧ESXiホストでは動作しない
新しいVMハードウェアバージョンに対応していないESXiホスト上では、そのVMを実行できません。たとえば、新しいバージョンのVMをvMotionで旧バージョンのESXiホストへ移行しようとすると、次のようなエラーが表示されます。
The virtual machine version is not compatible with the version of the host munexi1.

アップグレード前の準備
VMバージョンのアップグレードを実行する前に、以下の準備を行うことを推奨します。
- VMのスナップショットを作成する:問題が発生した場合に元の状態へロールバックできるようにします。
- VMware Toolsを最新版へ更新する:最新のVMware Toolsをインストールする前にVMハードウェアをアップグレードすると、WindowsゲストOSのネットワーク設定がリセットされる場合があります。
vSphere ClientでVMハードウェアバージョンをアップグレードする手順
仮想ハードウェアバージョンをアップグレードするには、まず仮想マシンを停止(パワーオフ)する必要があります。その後、VMを右クリックし、「互換性」→「VM互換性のアップグレード」を選択します。

仮想ハードウェアの更新を確認し、アップグレード先のVMハードウェアバージョンを選択します。この例では、ホストで利用可能な最新の「ESXi 7.0 U1以降」を選択しています。

ゲストOS再起動時に自動アップグレードをスケジュールする方法
仮想マシンのハードウェアバージョンを、次回の正常な再起動時に自動的にアップグレードするようスケジュールすることも可能です。
- VMのコンテキストメニューから「互換性」→「VM互換性アップグレードのスケジュール」を選択します。
- 「互換性のあるESXiバージョン」ドロップダウンリストから、アップグレード先のVMハードウェアバージョンを選択します。
- 「通常のゲストOSシャットダウン後にのみアップグレードする」オプションを有効にします。

- これにより、次回VMを再起動した際に仮想ハードウェアバージョンが自動的に更新されます。
PowerCLIを使ってVMハードウェアバージョンをアップグレードする方法
VMware PowerCLIモジュールのPowerShellコマンドレットを使用しても、VMハードウェアバージョンを更新できます。まず、vCenterまたはESXiホストに接続します。
Connect-VIServer esxi_hostname
仮想マシンのハードウェアバージョン一覧を表示します。
Get-VM | select Name, hardwareversion, PowerState

新しいバージョンのVMware ESXiでは、VMのVersion属性の代わりにHardwareVersion属性を使用する必要があります。古い属性名を使用すると、次のような警告が表示されます。
WARNING: The 'Version' property of VirtualMachine type is deprecated. Use the 'HardwareVersion' property instead.
PowerShellでVMハードウェアバージョンを更新するには、次のコマンドを実行します。
Set-VM -VM lon-fs03 -HardwareVersion vmx-19 -Confirm:$false
指定したVMハードウェアバージョンがESXiホストでサポートされていない場合は、次のようなエラーが表示されます。
The operation for the entity mytestVM1 failed with the following message: The operation is not supported on the object.
Out-GridViewでアップグレード対象VMを選択する方法
Out-GridViewコマンドレットを使えば、アップグレードが必要なVMをGUIで選択できます。
Get-VM |Where-object {$_.powerstate -eq "poweredoff"} | Out-GridView -PassThru | Set-VM -HardwareVersion vmx-19 -Confirm:$false
グラフィカルなテーブルが表示されるので、アップグレードしたいVMを選択してください(Ctrlキーを押しながらクリックすると複数選択できます)。

PowerShellスクリプトで全VMの自動アップグレードをスケジュールする
簡単なPowerShellスクリプトを使えば、ホスト上のすべてのVMに対して自動ハードウェアアップグレードをスケジュールできます。
$AllVMs = Get-VM
Foreach ($VM in ($AllVMs)) {
$VMConfig = Get-View -VIObject $VM.Name
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.ScheduledHardwareUpgradeInfo = New-Object -TypeName VMware.Vim.ScheduledHardwareUpgradeInfo
$vmConfigSpec.ScheduledHardwareUpgradeInfo.UpgradePolicy = "always"
$vmConfigSpec.ScheduledHardwareUpgradeInfo.VersionKey = "vmx-19"
$VMConfig.ReconfigVM($vmConfigSpec)
}
このスクリプトを実行すると、すべての仮想マシンは次回の再起動時に指定されたVMハードウェアバージョンへ自動的にアップグレードされます。
なお、企業ネットワーク環境でVMハードウェアとVMware Toolsを一元的にアップグレードする場合は、vCenter Update Managerや、vSphere 7以降で利用可能なvSphere Lifecycle Manager(VLCM)の使用が推奨されます。
無料版ESXiでvim-cmdを使ってアップグレードする方法
無料版のESXi(VMware vSphere Hypervisor)を使用している場合、API制限によりPowerCLI経由でのVMハードウェアバージョン更新はできません。しかし、ESXiシェルのvim-cmdコマンドを使用すればアップグレード可能です。
まず、サーバー上のVMの一覧を取得します。
vim-cmd vmsvc/getallvms
アップグレードしたいVMのVMIDを確認し、次のコマンドで指定します。
vim-cmd vmsvc/upgrade vmid vmx-17

VMを起動し、VMバージョン17にアップグレードされたことを確認しましょう。
【非推奨・非サポート】VMXファイルを直接編集する方法
VMの構成ファイル(VMX)を直接編集してVMハードウェアバージョンを更新する方法もありますが、これはサポートされていない手法である点にご注意ください。
SSHでESXiホストに接続し、VMのディレクトリへ移動します。
cd /vmfs/volumes/datastore_name/test_vm
test_vm.vmxファイルを編集します。
vi myvm.vmx
次の設定行を探します。
virtualHW.version = "12"
これを次のように変更します。
virtualHW.version = "17"
VMXファイルを保存して閉じます(Esc → : → w → q の順に入力)。
この方法はVMwareの正式なサポート対象外のため、実運用環境では使用せず、必ず正規の手順(vSphere Client、PowerCLI、vim-cmd)でアップグレードを行うことを強くお勧めします。
-
【完全ガイド】VMware Workstation PlayerにvSphere ESXi 6.7をインストールする方法
本チュートリアルでは、VMware Workstation Player上に「VMware vSphere Hypervisor(ESXi)6.7」をインストールする手順を、ステップバイステップで詳しく解説します。Workstation上にESXiを構築することで、物理サーバーを用意しなくてもvSphere ESXiサーバーの各種機能を自由にテスト・検証できるようになります。 関連記事: 物理サーバー(ベアメタル)にvSphere ESXi 6.7をインストールする方法 インストール前の準備①:ハードウェア要件 CPU: ホストマシンのCPUは最低2コア以上が必要で、ハードウェア仮想化機能
-
VMware ESXiで仮想マシンのクローンを作成する手順を徹底解説
本チュートリアルは、一般の家庭ユーザーにはあまり馴染みがないかもしれません。しかし、何らかの理由で環境にVMware ESXiを採用している方にとっては、きっと役立つ内容となるはずです。VMware ESXiは無料で提供されているベアメタル型ハイパーバイザーです。より多機能な有償製品「ESX Server」への購入を促すための、いわば導入版的な位置づけにあります。ESX Serverはあらゆる機能を備えている一方、価格も桁違いに高額です。ESXiは、ベアメタル仮想化における「低コストな選択肢」と言えるでしょう。そのため、上位製品にはある当たり前の機能がいくつか欠けており、クローン作成機能もその