將虛擬機器從 VMware ESXi 遷移至 Proxmox VE
無論組織是為了多元化其基礎架構,還是要將生產工作負載完全遷移至新平台,從 VMware 遷移虛擬機器至 Proxmox 都可能是必要的。將虛擬機器從 VMware ESXi 主機遷移至 Proxmox VE 主機主要有兩種方法:手動遷移與使用專用工具。這篇部落格文章將提供詳細的分步教學,說明如何運用這兩種方法成功將虛擬機器遷移至 Proxmox VE。
虛擬機器遷移的準備工作
在規劃遷移至 Proxmox VE 時,您應首先 安裝 Proxmox. 以下是進行遷移前建議採取的幾個步驟:
- 請記錄來源虛擬機器目前的網路設定,並考慮將網路介面卡設定為透過 DHCP 取得 IP 設定。此方法有助於避免目標虛擬機器的客體作業系統出現 IP 位址衝突的訊息,因為遷移完成後可使用新的網路介面卡。完成虛擬機器遷移後,您可以還原已連接網路介面卡的網路設定。
- 請確保來源 ESXi 主機與目標 Proxmox 主機之間已建立網路連線。在從 ESXi 遷移至 Proxmox 時,大多數複製虛擬機器資料的方法都需要此網路連線。
- 請在 VMware ESXi 主機上停用原始虛擬機的磁碟加密功能。若虛擬機的 vTPM 裝置處於啟用狀態,可能會導致遷移問題。
- 您應在虛擬機器處於關機狀態時將其匯入。
本教學所使用的環境為:
- VMware 虛擬環境:
- ESXi 8:192.168.101.31
- ESXi 資料存放區:
datastore40t,datastore50
- Proxmox 虛擬環境:
- Proxmox 主機:192.168.101.226
- 資料存放區:
local-zfs,datastore55
方法 1:手動遷移
讓我們將一台運行於 ESXi 主機上的 Windows Server 2022 虛擬機器進行遷移。第一種虛擬機器遷移方法的原理是:建立一台設定完全相同的新空 Proxmox/KVM 虛擬機器,並將原始 ESXi 虛擬機器的虛擬磁碟資料轉移至這台 Proxmox 虛擬機器中。
檢查原始虛擬機器
- 在儲存原始虛擬機的主 ESXi 主機上啟用 SSH。若要在 VMware Host Client 中啟用 SSH 存取,請前往
Host > Manage在Navigator窗格,點擊Services標籤頁,選擇TSM-SSH,然後在該項目上按右鍵。在快顯選單中,點選Start立即啟動 SSH 伺服器服務。請按Policy > Start and stop with host讓 SSH 伺服器服務在 ESXi 開機時自動啟動。
- 請檢查原始 VMware 虛擬機的硬體配置,以便在 Proxmox 伺服器上為目標虛擬機重新建立相同的硬體配置。請在 VMware Host Client 或 VMware vSphere Client 的網頁介面左側窗格中選取原始虛擬機,並檢查
Hardware Configuration區段。您可以點擊Edit虛擬機器設定,以查看更多虛擬機器配置參數。
- 請檢查虛擬機器設定中是否設定為 UEFI 或 BIOS,因為此設定會影響客體作業系統的開機。位於 ESXi 主機上的原始 VMware 虛擬機器設定中已選取 BIOS。這表示我們需要在 Proxmox 伺服器上的目標虛擬機器設定中選取 BIOS。
選取一台虛擬機器,然後按一下
Edit虛擬機器設定,請選取VM Options[標籤] 位於Edit Settings視窗,並展開Boot Options此區段用於檢查虛擬機器的 UEFI/BIOS 設定。在本範例中,我們為原始虛擬機器使用 BIOS。
- 請將原始虛擬機器中的所有 CD/DVD 映像檔或光碟移除。
- 您可以解除安裝 VMware 工具 在遷移前或遷移後。若您希望將原始虛擬機器維持在完全可運作的狀態,建議在將虛擬機器遷移至 Proxmox 伺服器後,先從目標虛擬機器上解除安裝 VMware Tools,直到您確定已遷移的虛擬機器運作正常為止。
建立新的 Proxmox 虛擬機器
- 在 Proxmox 伺服器上建立一台新的虛擬機器,其參數須與 ESXi 主機上原始的 VMware 虛擬機器相同。這包括 CPU、記憶體、網路卡、虛擬磁碟等。在 Proxmox VE 網頁介面的左側窗格中,右鍵點擊 Proxmox 主機,然後點擊
Create VM.
- 在
General的"分頁"(步驟)Create: Virtual Machine在精靈中,請輸入以下參數:- 節點:
pve這是我們的 Proxmox 主機名稱。
- 虛擬機器 ID:
101您可以使用任何空閒的虛擬機器 ID。預設情況下,編號從 100 開始。
- 姓名:
Server2022您可以輸入任何數字,但為了更方便起見,請輸入與 ESXi 主機上原始虛擬機器名稱相同或完全一致的名稱。
點擊
Next在每個步驟中,請繼續操作。
- 節點:
- 在
OS在下一步中,請選擇與原始 VMware 虛擬機器所設定相同的來賓作業系統。在此情況下,即為 Windows Server 2022。
System. 若原始虛擬機器使用 BIOS,請選擇"BIOS";若原始虛擬機器使用 UEFI,請選擇"UEFI"。取消選取Add TPM若您未在虛擬 TPM 模組上使用 TPM,請勾選此核取方塊。您可以忽略 SCSI 控制器設定,因為我們將手動連接已匯入的虛擬磁碟。
Disks. 預設情況下,在 Proxmox VE 中建立新的虛擬機器時,系統會自動建立一個新的虛擬磁碟。在本範例中,Proxmox 資料存放區上虛擬磁碟的路徑為:/mnt/datastore/datastore55/images/101在建立新的虛擬機器後,我們將刪除此虛擬磁碟,因為我們打算複製並匯入原始虛擬機器的虛擬磁碟(此操作可在圖形化使用者介面中執行)。

CPU. 將 CPU 設定調整為與原始虛擬機器相似。在此範例中,我們使用一個具備兩個核心的處理器。
Memory. 設定新虛擬機器的記憶體容量。請設定與原始虛擬機器相同的記憶體容量。
Network. 選擇一個符合所需網路模式的橋接器(Bridge,NAT, 等)。選擇一個虛擬網路適配器型號。您應設定一個在虛擬機器從 ESXi 遷移至 Proxmox 後,能被客體作業系統識別的網路適配器。某些虛擬網路適配器需要驅動程式,若客體作業系統中未安裝這些驅動程式,網路適配器將無法運作。您可以先選擇相容性最高的網路適配器,待虛擬機器遷移完成並安裝適當的驅動程式與客體工具後,再將適配器型號變更為所需的型號。
- 在 Proxmox 網頁介面的左側窗格中,選取最近建立的新虛擬機器(
Server2022(在此範例中)。點擊Hardware, 選取隨新虛擬機器預設建立的虛擬硬碟,然後按一下Detach.
Are you sure you want to detach entry “Hard Disk (sata0)”?點擊
Yes以確認。- 點擊
Remove在卸載虛擬硬碟之後。
新的空虛擬機器已建立完成,現在可以開始從原始虛擬機器轉移虛擬磁碟資料了。
複製虛擬磁碟資料
首先,您應確認目標虛擬機的目錄以及原始虛擬機的目錄,以了解原始虛擬磁碟的位置,以及目標虛擬磁碟應放置的位置。接著,即可複製虛擬磁碟。
- 開啟 Proxmox 伺服器的控制台。在 Proxmox VE 網頁介面的左側窗格中,選取您的主機(
pve(在此範例中)並按下Shell右上角的按鈕。
- 在控制台中,前往存放虛擬機器磁碟的目錄。以我們的情況為例,新建立的 Proxmox 虛擬機器的虛擬磁碟存放在 datastore55 中的
/mnt/datastore/datastore55/images/101目錄,其中101是該虛擬機器的 ID。cd /mnt/datastore/datastore55/images/101在下方的螢幕截圖中,您可以看到新虛擬機器(VM)的虛擬磁碟已在圖形使用者介面(GUI)中刪除,且未顯示在檔案清單中
(vm-101-disk-1.qcow2 - 32 GB). 若您已選取 UEFI 和 TPM,系統將建立兩個額外的虛擬磁碟(在本範例中,我們並未使用這兩個虛擬磁碟,因為我們採用的是不具備 TPM 的 BIOS)。
- 透過 SSH 連線至存放原始 VMware 虛擬機器之虛擬機器資料存放區的 ESXi:
ssh root@192.168.101.31在哪裡 192.168.101.31 是 ESXi 主機的 IP 位址,而
root是使用者名稱 - 請檢查位於適當 ESXi 資料存放區中"來源 VM"目錄下的來源 VM 檔案:
ls -al /vmfs/volumes/datastore50/WinServer2022/請記下以下名稱:
.vmdk以及-flat.vmdkESXi 主機上原始 VMware 虛擬機的檔案。這些檔案是虛擬磁碟描述檔和原始資料檔,是將虛擬機遷移至 Proxmox 時必須複製的檔案。 - 結束 SSH 連線:
exit
- 在 ESXi 主機上停止原始虛擬機器。
- 現在,請複製
vmdk以及-flat.vmdk使用 SCP 客戶端以及我們在來源 ESXi 主機上啟用的 SSH 連線,傳輸原始虛擬機器原始虛擬磁碟的檔案。請在 Proxmox VE 控制台中執行以下指令:scp root@192.168.101.31://vmfs/volumes/datastore50/WinServer2022/WinServer2022.vmdk .scp root@192.168.101.31://vmfs/volumes/datastore50/WinServer2022/WinServer2022-flat.vmdk .在哪裡:
root是 ESXi 主機上的使用者名稱192.168.101.31 是 ESXi 主機的 IP 位址
.表示我們目前在 Proxmox 伺服器上所在的當前目錄(將檔案複製到當前目錄);我們可以設定/mnt/datastore/datastore55/images/101而是明確地。出現提示時,請輸入 ESXi 的 root 密碼。

註: 若在虛擬機器設定中選擇"UEFI 搭配 TPM"而非"BIOS",系統將建立兩個小型虛擬磁碟,分別用於 UEFI 模式下的虛擬機器開機,以及虛擬 TPM 模組。不建議在遷移虛擬機器時使用 TPM。
- 重新掃描所有資料存放區,並顯示 Proxmox 主機上存在的虛擬磁碟:
qm rescan - 檢查用於虛擬機器遷移的 VM 目錄中的內容:
ls -l如您所見,原始的 精簡配置 由於複製後採用厚式配置,虛擬磁碟目前佔用 30 GB 空間。這是因為薄式配置是 ESXi 所使用的 VMFS 檔案系統的一項特點。
要匯出薄配置的
vmdk若要將虛擬磁碟移至 Proxmox 伺服器,同時不佔用最大虛擬磁碟容量,您可以將原始的 VMware 虛擬機器匯出為 OVF 範本。在此情況下,匯出的vmdk虛擬磁碟的大小等於該虛擬磁碟(或多個虛擬磁碟)內檔案所佔用的空間。- 虛擬機器範本的匯出/匯入(替代方法)
若要將虛擬機器匯出為 OVF 範本,您可以使用 VMware vSphere Client 的圖形化使用者介面(右鍵點擊虛擬機器,然後選擇
Export) 或 VMware Host Client。此外,您也可以從 VMware 網站下載 OVF 工具,透過命令列匯出虛擬機器。您可以在 Proxmox 伺服器的控制台中執行以下指令,將虛擬機器從 ESXi 主機匯出為 OVF 範本,並將範本檔案儲存至 Proxmox 伺服器:
ovftool vi://root@{IP or FQDN of ESXi host}/{VM name} /path/to/export/location在我們的範例中,用於建立 OVF 範本並將範本檔案儲存至 Proxmox 主機上的 VM 目錄的指令如下:
ovftool vi://root@192.168.101.31/WinServer2022 /mnt/datastore/datastore55/images/101該
ovftool建立一個子目錄來儲存範本檔案。

Proxmox VE 支援 VMware
vmdk虛擬磁碟的格式,這並非 Proxmox VE(KVM/QEMU)的原生格式。原生格式是qcow2. 您可以手動將 VMware 虛擬磁碟轉換為qcow2格式或原始格式。您也可以透過單一指令將此虛擬磁碟轉換後,進而匯入該虛擬磁碟。以下將針對所有這些指令進行說明。 - 虛擬機器範本的匯出/匯入(替代方法)
- 將虛擬磁碟轉換/匯入為目標虛擬機器所需的格式。以下我們將介紹 4 種轉換及匯入虛擬磁碟的方法,請在進入下一階段之前,選擇最適合您的方法。
- 轉換
vmdk至qcow2要轉換 VMware 格式的虛擬磁碟(
vmdk以及-flat.vmdk) 轉換為原生 Proxmox/KVM 格式qcow2請使用以下指令:qemu-img convert -cpf vmdk -O qcow2在此範例中,我們從虛擬機器目錄執行的指令是:
qemu-img convert -cpf vmdk -O qcow2 ./WinServer2022.vmdk ./WinServer2022.qcow2轉換虛擬磁碟後,請檢查該目錄的內容:
ls -al皈依者
qcow2假設該虛擬磁碟採用精簡配置,則其佔用 15 GB 的磁碟空間(虛擬磁碟內包含 15 GB 的檔案)。有關支援的格式,請參閱 KVM 與 VMware 之比較 比較。您可以選擇此轉換後的
qcow2在 Proxmox 網頁介面中,針對已遷移的虛擬機器設定虛擬磁碟。在執行此操作之前,讓我們先來了解用來匯入虛擬磁碟以及變更虛擬磁碟格式的替代指令。 - 以原始格式匯入
若要以原始格式匯入虛擬磁碟,我們可以在已遷移虛擬機的目錄中執行以下指令:
qm importdisk 101 ./WinServer2022.qcow2 datastore55在哪裡
datastore55這是位於 Proxmox 主機上的資料存放區,目標虛擬機器 (101) 的位置即位於此資料存放區中。 - 匯入
vmdk直接您可以使用此指令從
vmdk直接以原始格式匯入。匯入的指令為VMDK以原始格式匯入 Proxmox 的方式如下:qm importdisk 101 ./WinServer2022.vmdk datastore55 - 匯入為
qcow2如果您想使用該
qcow2Proxmox 的輸出格式(非原始格式)vmdk要匯入,請使用以下指令:qm importdisk 101 /mnt/datastore/datastore55/images/101/WinServer2022.vmdk datastore55 -format qcow2
- 轉換
掛載虛擬磁碟
將已遷移的虛擬磁碟掛載至 Proxmox 虛擬機器 (101) 上,該磁碟目前被歸類為"未使用"磁碟。您可以在 Proxmox VE 的圖形化使用者介面 (GUI) 中執行此操作。
- 選取您為將虛擬機器從 VMware ESXi 遷移至 Proxmox VE 而建立的虛擬機器(
Server2022(在此範例中)。前往Hardware該區段並點擊Add > Hard disk.
- 請確保已在
Add Unused Disk選項。按下Add.
- 將新增至虛擬機器 (VM) 設定中的虛擬磁碟設為第一個開機裝置。選取虛擬機器後,請前往
Options並雙擊Boot Order. 勾選已匯入虛擬磁碟該行中的核取方塊,並將此虛擬磁碟拖曳至開機順序清單的第一個位置。按下OK以儲存設定。
- 請記住,為了讓來賓作業系統能正常啟動,UEFI 或 BIOS 的設定必須與來源虛擬機器的設定相符。
- 啟動已遷移的虛擬機器。此時虛擬機器應能成功開機。若無法成功開機,請檢查開機設定中的開機磁碟,並檢查虛擬機器設定中的虛擬磁碟控制器。若要變更虛擬磁碟控制器,您需要先將虛擬磁碟斷開連接,然後再重新連接。在連接虛擬磁碟時,您可以選擇磁碟控制器選項。
遷移後的設定
請在客體作業系統中安裝 VirtIO 驅動程式及 QEMU 客體代理程式,以獲得最佳的虛擬機器效能。自 Linux 核心 2.6 起,Linux 系統便已支援半虛擬化的 VirtIO 驅動程式。使用半虛擬化的虛擬裝置,其效能優於模擬的虛擬裝置。
您可從 Proxmox 網站下載 VirtIO 驅動程式:
https://pve.proxmox.com/wiki/Paravirtualized_Block_Drivers_for_Windows#Download
https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers
VirtIO 驅動程式包含在 ISO 映像檔中,例如 virtio-win-0.1.240.iso
針對 Windows 虛擬機器:
- 將下載的 ISO 映像檔上傳至 Proxmox 資料存放區,並將此 ISO 映像檔掛載至已遷移的虛擬機器。
- 請從客體作業系統中瀏覽已掛載的 ISO 映像檔內容,並執行相應的安裝程式以安裝所需的工具。
- 安裝 VirtIO 來賓驅動程式後,您可以將虛擬磁碟控制器變更為
VirtIO SCSI.
此外,您可以在本機安裝 SPICE 客戶端,並為 Proxmox 伺服器上的虛擬機器啟用 SPICE 功能,如此一來,在連線至虛擬機器進行管理時,將更為便利且能獲得更好的使用者體驗。
您可以移除不需要的虛擬磁碟檔案,例如 vmdk 在虛擬機器遷移成功完成後,從 Proxmox 資料存放區中刪除這些檔案。請使用類似以下的指令:
rm /mnt/datastore/datastore55/images/101/WinServer2022.vmdk
rm /mnt/datastore/datastore55/images/101/WinServer2022-flat.vmdk
您可以觀看下方的影片,了解如何將虛擬機器從 VMware ESXi 遷移至 Proxmox VE 的完整教學。
方法 2:使用 esxi-import-tools
2024 年 3 月底,隨著 Proxmox VE 的新更新發布,介紹了將虛擬機器從 ESXi 遷移至 Proxmox 虛擬環境的第二種方法。一個新的 pve-esxi-import-tools 該套件預計將於 Proxmox VE 8.2 的正式版本中發布。不過,此套件自 Proxmox VE 8.1.10 版本起已包含在系統中,但僅限於測試版及非訂閱版的 Proxmox 軟體儲存庫。新的匯入工具提供了一個使用者友善的向導,可讓使用者透過網頁介面將虛擬機器從 ESXi 匯入至 Proxmox VE。
升級與安裝 Proxmox 套件
- 新增一個
Non-subscriptionProxmox 軟體儲存庫以及一個Test若尚未新增,請將其新增至軟體儲存庫。在左側窗格中選取一台 Proxmox 主機(pve(在此範例中)。前往Updates > Repositories然後點擊Add。(預設情況下,僅Enterprise(若存在儲存庫)。
- 請選擇一個
No-subscription在下拉式選單中選擇"儲存庫",然後按下Add. 接著,同樣地,選取Test儲存庫.
- 點擊
Reload按住按鈕,直到新增的儲存庫顯示出來為止。如此一來,備份儲存庫便已新增,並顯示於Repositories頁面。
- 前往
Updates並點擊Refresh按下此按鈕以重新整理可更新的套件清單。您應能在清單中看到新的 Proxmox 套件。
- 一個列出待更新套件的清單會顯示在彈出視窗中。一旦
Refresh任務已完成,您可以關閉此彈出視窗。現在您可以進行升級了。
- 在網頁介面的左側窗格中選取您的 Proxmox 主機,然後按下
Upgrade.
- 在開啟的控制台視窗中,輸入
y然後按下Enter以啟動 Proxmox 的升級程序。請等待升級完成。
- 請確認在完成升級後,ESXi 匯入工具是否已安裝。
dpkg -l | grep pve-esxi-import-tools您應該能在主控台輸出中看到套件的版本。
- 重新啟動 Proxmox 主機以套用核心更新:
init 6
設定 Proxmox 以進行虛擬機器遷移
Proxmox 主機重新啟動後,請登入 Proxmox VE 網頁介面。您應能在左上角看到新的版本號。
- 前往
Datacenter > Storage並點擊Add > ESXi將包含來源虛擬機器的 ESXi 主機的資料存放區新增至 Proxmox 清單中。此操作是使用 VMware 至 Proxmox 遷移工具的必要步驟,且該 ESXi 項目是在升級後才可用的。
- 請在
General用於新增 ESXi 儲存空間的標籤頁:ID– 這是 Proxmox 清單中顯示的 ESXi 儲存裝置名稱。請使用字母,請勿僅使用數字。Server– 輸入存放來源虛擬機器之 ESXi 主機的 IP 位址。Username– 輸入在 ESXi 主機上具有 root 權限的使用者名稱Password– 請輸入此使用者的密碼Nodes– 選擇一個 Proxmox 主機,將虛擬機器遷移至該主機。若您未建立憑證,則可跳過憑證驗證步驟。
點擊
Add.
- 已新增 ESXi 儲存裝置,並顯示在
Storage章節。現在,我們可以看到ESXi31儲存清單中的項目。此項目包含所有連接到所選 ESXi 主機的資料存放區。您可以雙擊此項目來查看這些資料存放區。
開始匯入虛擬機器
- 在開始將 VMware 遷移至 Proxmox 之前,請先關閉 ESXi 主機上的來源虛擬機器。此操作可讓您傳輸一致的資料,並在 ESXi 與 Proxmox 主機皆透過虛擬機器的橋接模式連接到同一網路時,避免發生網路衝突。在開始虛擬機器遷移程序之前,請先刪除原始虛擬機器的快照。請記錄來源虛擬機器的網路設定——遷移完成後您可能需要這些設定。
- 在 Proxmox 網頁介面的左側窗格中,選取 ESXi 儲存空間(
ESXi31(在此範例中)。選取vmx您要從 ESXi 主機匯入至 Proxmox VE 的原始 VMware 虛擬機器檔案。我們將匯入Debian12.點擊 匯入.

- Proxmox 虛擬機器匯入工具會讀取來源 ESXi 虛擬機器的設定,並為新虛擬機器建立完全相同的硬體配置。新虛擬機器將包含匯入至 Proxmox 主機上的虛擬磁碟。
請檢查建議的虛擬機器配置,並在必要時修改一些設定
Generaltab.
- 請勿選取
Live Import選項。"即時匯入"不等同於虛擬機器的即時遷移。選取此選項後,當 Proxmox 主機估計已傳輸足夠的資料,足以啟動該虛擬機器的客體作業系統並繼續虛擬機器遷移程序時,便會啟動目標虛擬機器。 - 您可以選擇
Advanced點選該分頁,並選擇虛擬磁碟控制器、CD/DVD 光碟機選項以及網路介面選項。
點擊
Import按下此按鈕以開始將 VMware 虛擬機器遷移至 Proxmox。
- 請勿選取
- 請等待虛擬機器遷移至 Proxmox 主機的過程完成。您可以在彈出視窗中監控進度。完成後,您可以關閉此視窗。
如您所見,原始的
vmdk虛擬磁碟已轉換為 Proxmox QEMU 的原生虛擬磁碟格式,稱為qcow2在遷徙期間。
- 在 Proxmox 主機上啟動已遷移的虛擬機器。

- 從已遷移至 Proxmox 的虛擬機器中解除安裝 VMware Tools。在虛擬機器上安裝 VirtIO 來賓驅動程式及其他所需軟體。
結論
要將虛擬機器從 VMware 遷移至 Proxmox,可透過建立一個新的空白虛擬機器、複製原始虛擬機器的虛擬磁碟,並將這些虛擬磁碟匯入 Proxmox 虛擬機器來完成。虛擬磁碟可直接複製,或透過將原始虛擬機器匯出為 OVF 範本來進行。Proxmox 還推出了一項新工具,可在網頁介面中從 ESXi 主機匯入虛擬機器,使遷移過程更加便捷。 將虛擬機器遷移至 Proxmox VE 後,請務必進行備份。
執行遷移時,請確保您擁有來源 VMware 虛擬機器的最新備份,並在開始將 Proxmox 虛擬機器用於生產環境後,立即開始進行備份。 NAKIVO Backup & Replication 這是一款通用備份解決方案,您可以藉此備份 VMware ESXi 和 Proxmox VE 虛擬機器。