← Back to list

如何從 VMware ESXi 將 Windows 虛擬機遷移到 Proxmox VE (Automatic Import)

上一篇介紹完如何遷移 Linux 虛擬機器之後,今天就來分享如何從 VMware ESXi 將 Windows 虛擬機遷移到 Proxmox VE。

Ivan Cheng · 2026-06-02 07:30 · 0 claps · 10.9 min read
#vmware #windows #proxmox #migration
Open on Medium ↗
Wiki topics: 🔓 · Open Source

如何從 VMware ESXi 將 Windows 虛擬機遷移到 Proxmox VE (Automatic Import)

上一篇介紹完如何遷移 Linux 虛擬機器之後,今天就來分享如何從 VMware ESXi 將 Windows 虛擬機遷移到 Proxmox VE。

與 Linux 虛擬機器相比,Windows 虛擬機遷移的步驟比較繁瑣一點。

[embed]如何從 VMware ESXi 將 Liunx 虛擬機遷移到 Proxmox VE (Automatic Import) 建議在正式環境進行遷移之前,請先使用測試用虛擬機完整演練整個流程,確認磁碟轉換、開機流程與網路設定皆正常運作,以降低實際搬遷時發生意外中斷的風險。medium.com

如果虛擬機器原本執行在 VMware ESXi 上,建議先移除 VMware Tools,再安裝新平台對應的驅動程式與代理程式。

自動匯入虛擬機 Proxmox VE 8 或以上版本提供了整合的虛擬機匯入工具,可直接連接 ESXi API 將整台虛擬機的配置與資料匯入,目前支援 ESXi 6.5 至 8.0 版本。

點選 Datacenter 的 Storage 頁籤,新增一個 ESXi 儲存。

輸入 ESXi 主機的 IP 以及管理員帳密,若 ESXi 使用自簽憑證可勾選略過憑證驗證。

選擇剛剛新增的 ESXi 儲存,檢查面板是否能列出所有可用的虛擬機。

選擇要匯入的虛擬機,點擊 Import。

  • 選擇 Storage 存放區
  • 選擇 Bridge 網路介面

若叢集內的 CPU 型號有差異,建議選擇通用的 x86–64-v<X> 模型以利於線上遷移 (Live-migration)。

預設會勾選 Prepare for VirtIO-SCSI ,這是一個非常標準且保險的做法。

此時磁碟匯流排類型會改為 SATA,可確保 Windows 在 KVM 環境開機時,不會因缺少儲存控制器驅動程式而無法啟動或發生藍畫面 (BSOD)。因為 SATA 驅動程式通常已內建於系統中,可作為過渡階段的啟動方式。

確認來源虛擬機已關機後,啟動匯入作業。

從 ESXi 主機觀察,搬遷每秒穩定在 600 Mbps。

搬移了一個 90GB 的 Window Server 2025 虛擬機,耗時 20 分鐘左右。

等作業系統順利開機並安裝好 VirtIO 驅動程式後,就可以安全地將此磁碟卸載並重新掛載到 VirtIO 匯流排上,以獲得更好的 I/O 效能。

為了方便讓大家知道 SATA 與 VirtIO Block 效能的差異,我們先跑一下 Disk Mark 看一下 SATA 硬碟的 I/O 速度。

安裝 VirtIO 驅動程式

當我們建立虛擬機時,系統通常會採全虛擬化方式來模擬真實的實體硬體。這種方式雖然相容性極高,但因為指令需要經過層層轉譯,會造成嚴重的效能瓶頸。

使用 VirtIO 半虛擬化技術時,虛擬機的作業系統知道自己是運行在虛擬環境中。跳過繁瑣的硬體模擬過程,直接透過 VirtIO 介面與底層的 Hypervisor (KVM) 進行高速溝通,從而達到接近實體機的原生效能。

下載 VirtIO 驅動程式 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/?C=M;O=D

virtio-win Known Issues

virtio-win 0.1.285:Read errors and performance issues with IO-heavy Windows Server 2025 VMs

  • Windows Server 2025 VMs has been reported to cause read errors / performance issues when running IO-heavy workloads, particularly seen with a Microsoft SQL server.
  • 確認 virtio-win 0.1.271 未受此問題影響,可作為暫時替代方案。

virtio-win 0.1.215 - 0.1.262:The following issues have been reported.

  • The Windows event viewer shows warnings mentioning vioscsi, Event ID 129, message Reset to device, \Device\RaidPortN, was issued. N corresponds to the LUN of the affected disk. After such a warning appears the first time, a warning can appear every minute.
  • IO on the affected disk may be blocked
  • In-guest rebooting the VM may get stuck (with a spinning wheel)
  • On the host, QEMU may log messages like kvm: virtio: zero sized buffers are not allowed or kvm: Desc next is 3
  • 升級至 0.1.266 或更新版本,即可解決此問題。

我們選擇 virtio-win 0.1.271 版本,透過 Download from URL 的方式,直接存放到 Local Storage。

掛載 ISO 至該虛擬機器

執行 virtio-win-guest-tools.exe,使用預設選項安裝即可。

安裝精靈會依序幫我們安裝下列程式

  • VirtIO 驅動程式:虛擬化環境中的一組標準化 API 與半虛擬化驅動
  • QEMU Guest Agent:讓 Proxmox 準確地取得系統狀態與執行關機指令
  • SPICE Agent:可讓 VM 動態解析度縮放與剪貼簿雙向複製貼上

強制啟用 VirtIO 磁碟控制器

即使 Windows 已經安裝 VirtIO 驅動,也不代表已經啟用 VirtIO 磁碟控制器,因為 Windows 是依照 PCI/ACPI 硬體 ID 來綁定驅動,而不是依照是否曾安裝過驅動程式來自動切換控制器。

若系統當下沒有觸發對應硬體的偵測,即使 Driver 已存在於 Driver Store,也尚未實際套用在 VirtIO 控制器上。

新增一顆掛在 VirtIO SCSI 控制器上的磁碟,讓 Windows 會觸發 Plug and Play 重新偵測 VirtIO 控制器,使得 VirtIO 儲存架構真正啟用並生效。

點選 Hardware 的 Add,新增一顆 Hard Disk。

附加新建立的虛擬磁碟,詳細訊息如下。

  • BUS/Device:選擇 VirtIO Block
  • Stroage:選擇 local-zfs
  • Disk Size(GB):使用 1 GB 即可

開啟磁碟管理選單,進行初始化磁碟。

先選擇一個磁碟機號,稍後我們將刪除該顆磁碟。 完成後關閉虛擬機器。

最佳化 Windows 虛擬機

回到虛擬機器的 Hardware,Detach 先前新增的 VirtIO 磁碟。

再點選 Remove 將其刪除

接下來對虛擬機器的每一個磁碟,使用 Detach 將其與虛擬機器斷開連接。 再編輯這些未使用的磁碟,並將 BUS/Device 變更為 VirtIO Block。

編輯 Network Device 如下,選擇 VirtIO (Paravirtualized)。

編輯 Machine 如下

  • Machine:選擇 q35 模擬晶片組,支援現代作業系統。舊版作業系統遇到相容性問題才選擇 i440fx。
  • Version:選擇最新的版本,例如 9.2+pve1。
  • vIOMMU:選擇 VirtIO

編輯虛擬機器的 Options 如下,勾選Use QEMU Guest Agent。

  • Type:選擇 VirtIO

確認一下 Boot Order,看是否有需要調整。

順利開啟機器,跑一下 Disk Mark 看看 VirtIO Block 硬碟的 I/O 速度。

左邊的 SATA 與右邊的 VirtIO Block 硬碟的 I/O 速度

  • 大型檔案連續讀寫效能(SEQ1M Q8T1):模擬搬移大型影片檔或大型資料庫備份,可以看到 VirtIO Block 比 SATA 讀寫快了 4 倍以上。
  • 隨機 4K 讀寫效能 (RND4K Q32T1): 模擬了繁重多工處理或密集的資料庫負載,可以看到 VirtIO Block 比 SATA 讀寫快了 6 倍以上。

VMware PVSCSI

自動匯入如果沒有勾選 Prepare for VirtIO-SCSI,Proxmox VE 會盡可能保留原本虛擬機器的 VMware PVSCSI 控制器,因為 QEMU / KVM 本身支援模擬 VMware 的 PVSCSI 控制器。

為了方便讓大家知道 SCSI 與 VirtIO Block 效能的差異,我們也跑一下 Disk Mark 看一下 SCSI 硬碟的 I/O 速度。

左邊的 SCSI 與右邊的 VirtIO Block 硬碟的 I/O 速度

  • 大型檔案連續讀寫效能(SEQ1M Q8T1):模擬搬移大型影片檔或大型資料庫備份,可以看到兩邊基本上不相上下。
  • 隨機 4K 讀寫效能 (RND4K Q32T1):模擬了繁重多工處理或密集的資料庫負載,可以看到 VirtIO Block 還是比 SCSI 讀寫快了 3 倍以上。

在 Proxmox VE 上執行 Windows 虛擬機器時,安裝 VirtIO 驅動程式是最佳化效能的重要步驟之一。雖然 Windows 可以透過 SATA 或部分模擬硬體正常開機,但若未安裝 VirtIO 驅動,虛擬機器將無法充分發揮 KVM/QEMU 的效能優勢。

安裝 VirtIO 驅動的主要好處包括:

  • 提升磁碟 I/O 效能:可使用 VirtIO SCSI 或 VirtIO Block 控制器,大幅降低虛擬化開銷,提高磁碟讀寫速度與 IOPS 表現。
  • 改善網路效能:使用 VirtIO 網路卡可獲得更高的吞吐量、更低的延遲,以及較低的 CPU 使用率。
  • 降低系統資源消耗:透過半虛擬化 (Paravirtualization) 技術,減少客體作業系統與虛擬化平台之間的模擬成本。
  • 支援進階虛擬化功能:例如多佇列 (Multiqueue)、TRIM/Discard、熱插拔 (Hot Plug) 等功能。
  • 提升整體使用體驗:在高負載環境下,系統反應速度通常較傳統模擬硬體更佳。

對於從其他虛擬化平台遷移至 Proxmox VE 的 Windows 虛擬機器,即使系統已能正常開機,仍建議確認 VirtIO 驅動是否已正確安裝,並將磁碟與網路控制器逐步切換至 VirtIO 類型,以獲得最佳效能與相容性。

今天的分享就到這邊,感謝收看。

參考文件

[embed]Migrate to Proxmox VE This article aims to assist users in transitioning to Proxmox Virtual Environment. The first part explains the core…pve.proxmox.com

[embed]從 VMware 到 Proxmox VE:逐步逃生計劃 了解如何使用內建導入工具將虛擬機器從 VMware ESXi 遷移到 Proxmox VE,並提供最佳化 Windows 遷移後的提示。www.storagereview.com


메타데이터
post_id
fc9e7f3453a4
slug
如何從-vmware-esxi-將-windows-虛擬機遷移到-proxmox-ve-automatic-import-fc9e7f3453a4
url
https://medium.com/@jieshiun/%E5%A6%82%E4%BD%95%E5%BE%9E-vmware-esxi-%E5%B0%87-windows-%E8%99%9B%E6%93%AC%E6%A9%9F%E9%81%B7%E7%A7%BB%E5%88%B0-proxmox-ve-automatic-import-fc9e7f3453a4
canonical_url
https://medium.com/@jieshiun/%E5%A6%82%E4%BD%95%E5%BE%9E-vmware-esxi-%E5%B0%87-windows-%E8%99%9B%E6%93%AC%E6%A9%9F%E9%81%B7%E7%A7%BB%E5%88%B0-proxmox-ve-automatic-import-fc9e7f3453a4
author_url
https://medium.com/@jieshiun
status
ok
fetched_at
2026-06-21 20:33:08