本サイトはサイト運営費捻出のため、アフィリエイト広告を利用しています。*詳細
VMware ESXiからProxmox VEに仮想マシンを移行する方法【Windows VMの場合】

VMware ESXiからProxmox VEに仮想マシンを移行する方法【Windows VMの場合】

2024年1月20日
スポンサーリンク

VMware社がBroadcom社に買収された影響で、今後vSphere製品については全てサブスクリプション契約が必要となるようです。

www.itmedia.co.jp

これは無償で利用できたVMware ESXiも対象のようなので、今後の事を踏まえるとおうちDCでESXiを利用されている方はこの機会にProxmox VEに移行するのが吉かもしれません。

とはいえ、VMware ESXi環境からどうやって移行すれば・・・?と悩んでいる方も居るかと思いますので、本記事ではVMware ESXi 8.0.2環境から、Proxmox VE 7.4環境へWindows VMを移行する手順を解説します。

Proxmox VE導入手順
「小さなおうちDC環境を目指して」の連載記事、続いてはIntel N100(Intel N95含む)マシンにProxmox VE 7.4をインストールする手順を…
syobon.jp

ESXi環境で利用しているサーバに、SkyLake世代のCPUを利用している場合、最近何かと話題なIntel N100小型PCに、Proxmox VE 7.4の導入するのがオススメです。

SkyLake世代のXeon E3-1225 v5を鼻で笑う位パフォーマンスが高くかつ、省電力で利用できるのでなかなか侮れません。

導入方法については上記の記事をご参照ください。

事前準備

VMware Toolsのアンインストール

まずは、ESXiで動いているWindows VMからVMware Toolsをアンインストールします。

アンインストールせずに移行した後も削除する方法はあるのですが、設定アプリからのアンインストールはエラーが発生するため、有志が公開しているPowerShellスクリプトを使った対応が必要です。

本記事では、Windows VMからVMware Toolsをアンインストールする手順と、エラーなどでアンインストールが正常に完了しない際に利用する、強制アンイ…
syobon.jp

上記の記事を参考に、事前にVMware Toolsのアンインストールを実施します。

Open Virtualization Format(OVF) Toolの導入

上記のサイトにアクセスします。

「Zip of OVF Tool for 64-bit Linux」の右隣にある「Download」ボタンを右クリックし、「リンクのアドレスをコピー」をクリックします。

続いてTera TermなどのSSHクライアントを立ち上げて、Proxmox VEサーバにSSHでアクセスします。

例ではProxmox VEサーバのIPアドレスは10.0.20.31となっています。

IDとパスワード入力画面がでるかと思いますので、ユーザ名を「root」、パスワードにはProxmox VEのrootアカウントのパスワードを入力して「OK」をクリックします。

Proxmox VEサーバにSSHログインできたら、下記コマンドを入力してEnterキーを押します。

(先ほどOVF Toolのリンクをコピーしていますので、「curl -OL 」まで入力したあと貼り付ければOKです)

curl -OL https://vdc-download.vmware.com/vmwb-repository/dcr-public/8a93ce23-4f88-4ae8-b067-ae174291e98f/c609234d-59f2-4758-a113-0ec5bbe4b120/VMware-ovftool-4.6.2-22220919-lin.x86_64.zip

無事ダウンロードが完了すると、「VMware-ovftool-4.6.2-22220919-lin.x86_64.zip」ファイルが保存されます。

zipファイルを展開するために下記コマンド入力し、Enterキーを押して「unzip」をインストールします。

apt install unzip

unzipのインストールが完了したら、下記コマンドを入力してEnterキーを押します。

unzip VMware-ovftool-4.6.2-22220919-lin.x86_64.zip

これでOVF Toolの準備は完了です。

Proxmox VEサーバにNASを追加

Proxmox VEはインストールした状態では、システム領域として使えるストレージサイズが約70GBしかなく、それ以外は仮想マシン用のストレージとして利用されます。

ストレージの小さい仮想マシンであれば、このままでも問題ないのですが仮想マシンのストレージ容量によっては、容量が足りなくなる恐れがあります。

そのため、本手順ではProxmox VEサーバにNAS(SMB共有)を追加しています。

QNAP(キューナップ)
¥27,480 (2024/01/20 16:38時点 | Amazon調べ)

Proxmox VEの管理画面にアクセスし、「Server View」の最上位にある「Datacenter」をクリックし、右ペインに表示される「Storage」→「Add」→「SMB/CIFS」の順にクリックします。

例では下記のNASを追加しています。それぞれお手持ちの環境に合わせて読み替えてください。

項目設定値備考
IDshokakuProxmox VE上で利用する名前です。分かりやすいものを設定します。
Server10.0.20.7NASのIPアドレスを入力します。
UsernamesyobonNAS上にあるSMB共有にアクセスできるユーザ名を入力します
PasswordhogehogeNAS上にあるSMB共有にアクセスできるユーザのパスワードを入力します
ShareVMShareのドロップダウンメニューをクリックすると、NASに作成している共有フォルダ一覧が表示されるので、任意の物を指定します。

必要な情報を入力した上で、「Content」をクリックし全て選択します。

最終的に上記のような形になるかと思いますので、設定値に誤りがないことを確認して「Add」をクリックします。

ふたたびTera Termに戻り、下記コマンドを実行して追加したNAS上のSMB共有に移動します。

mkdir /mnt/pve/shokaku/esxi-to-pve
cd /mnt/pve/shokaku/esxi-to-pve

/mnt/pve/<Proxmox VE管理画面で指定したNASのName>/esxi-to-pveを指定します。

例ではshokakuで作成しているのでパスは/mnt/pve/shokaku/esxi-to-pveとなっています。

仮想マシンの移行

VMwareESXiから仮想マシンをエクスポートする

VMware ESXiの管理画面に移動し、今回移行するVMがシャットダウンされていることを確認します。

もしシャットダウンされていない場合は、コンソールを開いてシャットダウンします。

仮想マシンを移行するにあたって、VMware ESXiサーバのIPアドレスと仮想マシンの名前が必要になるので、メモしておきます。

本記事では、VMware ESXiサーバのIPアドレスを10.0.20.126、移行する仮想マシンの名前を「win2k22」として解説しています。

再びTera Termに戻って下記コマンドを入力してEnterキーを押します。

/root/ovftool/ovftool vi://10.0.20.126/win2k22 ./

Username:と表示されるので、「root」と入力してEnterキーを押します。

初回実行時

初回実行時は「Accept SSL fingerprint (略) for host (以下略)」と表示されるので、「yes」と入力してEnterキーを押します。

続いてPassword:と表示されるので、VMware ESXiのrootアカウントのパスワードを入力してEnterキーを押します。(パスワードを入力しても何も画面には表示されませんが、正常動作です)

仮想マシンのエクスポートがはじまるので、しばらく待ちます。

正常に完了すると「Completed successfully」と表示されます。

NASの中身を見てみると、ovfテンプレートファイルやvmdkファイルが作成されていることが確認できます。

これでエクスポートは完了です。

Proxmox VEに仮想マシンをインポートする

本記事では、下記の設定値で実行しています。それぞれお手持ちの環境に合わせて読み替えてください。

qm importovf <仮想マシンID> <OVFテンプレートの場所> <ディスクイメージの保存先> –format qcow2

項目備考
仮想マシンID105Proxmox VE上で管理する際のIDです。
既存のVMと被らない値を指定します。
OVFテンプレートの場所win2k22/win2k22.ovfOVF Toolを使うと、保存先に仮想マシン名の
ディレクトリが作成され、その中に必要ファイルが保存されます。
なので、仮想マシン名/仮想マシン名.ovfを指定します。
ディスクイメージの保存先local-lvmProxmox VE上に作成したLVM名を指定します。
デフォルトはlocal-lvmなので、Proxmox VEサーバに
ストレージが1本しか無い場合はデフォルト値を指定します。

下記コードを入力してEnterキーを押します。

qm importovf 105 win2k22/win2k22.ovf local-lvm --format qcow2

仮想マシンのインポートが始まり、しばらくするとプロンプトが返ってきます。

これでSSHでの操作は完了です。

ハードウェア構成を修正する

OVFテンプレートをインポートしただけでは正常に起動しないため、Proxmox VEの管理画面で追加操作します。

管理画面にアクセスしてみると、105(win2k22)が追加されているので、そちらをクリックして右ペインの「Hardware」をクリックします。

「Hardware」画面に移ったら、「Add」→「Network Device」の順にクリックします。

「Add: Network Device」画面が表示されるので、Model:を「VMware vmxnet3」に変更して「Add」をクリックします。

続いて「SCSI Controller」をクリックして選択し、「Edit」ボタンをクリックします。

「Edit: SCSI Controller Type」画面が表示されるので、「VMware PVSCSI」に変更して「OK」をクリックします。

続いて、今回の仮想マシンはUEFI環境でインストールしているので、UEFIでブートするように設定します。

「BIOS」をクリックして選択し、「Edit」ボタンをクリックします。

「Edit: BIOS」画面が表示されるので、「OVMF(UEFI)」を指定して「OK」をクリックします。

続いて「Machine」をクリックして選択し、「Edit」ボタンをクリックします。

「Edit: Macine」画面が表示されるので、「Machine:」を「q35」に変更して「OK」をクリックします。

最後に「Options」→「OS Type」の順にクリックし、「Edit」ボタンをクリックします。

「Edit: OS Type」画面が表示されるので、今回の仮想マシンはWindows Server 2022なので、Typeを「Microsoft Windows」に変更し、Versionを「11/2022」に変更して「OK」をクリックします。

これでインポート後の対応は完了です。

仮想マシン起動

インポート作業が完了したので、「Console」→「Start Now」の順にクリックして仮想マシンを起動します。

問題なくインポートできていればOSが起動してくるはずです。

コンソール画面左端の「▶」をクリックし、上記赤枠の順にアイコンをクリックすると、仮想マシン側に「Ctrl+Alt+Del」キーが送信されます。

これでOSログインも完了です。

VMware Toolsを事前にアンインストールしなかった場合

事前準備でVMware Toolsをアンインストールしていなかった場合、ログインする度に「VMware Tools Error」が表示されます。

VMware Toolsをアンインストールすれば良いのですが、設定アプリからのアンインストールが正常に作動しない状態となっています。

本記事では、Windows VMからVMware Toolsをアンインストールする手順と、エラーなどでアンインストールが正常に完了しない際に利用する、強制アンイ…
syobon.jp

その場合は、上記記事の「強制アンインストール手順」を参照してVMware Toolsを強制アンインストールします。

仕上げ

最後にQEMU Guest Agentをインストールため、上記にアクセスして「download the latest stable」をクリックし、「virtio-win0-(略).iso」をダウンロードします。

ダウンロードしたISOファイルをダブルクリックすると、「このファイルを開きますか?」と表示されるので、「開く」をクリックします。

ISOファイルがマウントされて、中身が表示されるので「virtio-win-guest-tool.exe」をダブルクリックします。

インストーラが立ち上がるので、ライセンス条項を読んで問題なければ「I agree to the license terms and conditions」にチェックを入れて「Install」をクリックします。

続いてドライバのインストール画面が表示されるので、「Next」をクリックします。

ライセンス条項が表示されるので、内容を読んで問題なければ「I accept the terms in the License Aggreement」にチェックを入れて「Next」をクリックします。

インストールするドライバ一覧が表示されますが、こちらはそのまま「Next」をクリックします。

準備完了画面が表示されるので、「Install」をクリックします。

完了画面が表示されたら「Finish」をクリックします。

スタートボタンを右クリックし、「シャットダウンまたはサインアウト」→「シャットダウン」の順にクリックします。

「その他(計画外)」のまま「続行」をクリックします。

Proxmox VEの管理画面で、「Win2k22」の「Options」→「QEMU Guest Agent」の順にクリックして選択し、「Edit」をクリックします。

「Use QEMU Guest Agent」と「Run guest-trim after a disk move or VM migration」にチェックを入れて、「OK」をクリックします。

最後に「Console」→「Start Now」の順にクリックして仮想マシンを起動します。

これでWindows VMの移行が完了です。

少し手順としては長いですが、慣れれば楽なのでこの手順を参考に脱VMware ESXiが実現できれば幸いです。

固定IP設定している場合は追加作業が必要

https://syobon.jp/blog/2024/01/20/vmware-esxi-to-proxmox-ve-windows-vm/ 前回、Windo…
syobon.jp

移行元のVMで固定IP設定していた場合、追加で作業が必要なので上記の記事を参考に追加設定を実施します。

モバイルバージョンを終了