你是否有一些想要虛擬化並擺脫笨重的實體Windows設備,但卻不知該如何最佳處理?親愛的讀者,不再猶豫。在這篇文章中,你將更多了解Sysinternals的Disk2vhd:一種經過嘗試、驗證且免費的將實體機器或磁碟轉換為虛擬等效物的方法。
在這篇文章中,你將透過創建磁碟的虛擬複本來轉換一個實體Windows系統。渴望進入虛擬世界嗎?那就開始吧!
先備條件
這個教程將是一個實際示範。請確保你擁有以下內容:
- A Physical Windows device. The examples will run on a Windows 10 device.
已記錄Disk2vhd可在Windows 11上運行。如果你的實體磁碟中包含運作中的Windows 11安裝,這個教程仍然適用於你。
- 足夠的可用磁碟空間以保存將要轉換的磁碟。Disk2vhd將幫助你確定需要多少空間。最低限度,你將需要與實體磁碟上使用的空間一樣多的空間。
- 任何运行的Hypervisor。在示例中使用Oracle VirtualBox v6.1.22。其他Hypervisors,如Hyper-V或KVM,也可以正常使用。
A user account with administrative access.
安装和运行Disk2vhd
您的第一步是安装Disk2vhd,如果尚未安装。对于即将进行的任务,您将需要具有管理员访问权限和对Windows设备的物理访问权限。要转换的磁盘需要连接并在线。
前往Microsoft的Sysinternals页面,并下载Disk2vhd的副本。撰写本文时,最新版本可用,并且示例将基于此版本,即版本2.02。下载将是一个包含程序各个版本的zip压缩文件。
右键单击适合您设备的最合适版本,然后选择如下所示的以管理员身份运行。

将物理磁盘转换为虚拟磁盘
现在您已经有了一个可工作和运行的Disk2vhd副本,是时候将Windows 10引导磁盘虚拟化了。所选磁盘将是用作示例的计算机上的C:\驱动器。
为了简洁起见,本文将仅限于将引导磁盘(具有Windows的工作副本的磁盘)转换为虚拟硬盘。但是,Disk2vhd并不仅限于转换引导磁盘。
您的第一个任务是为即将创建的磁盘选择正确的标志:
- 如果您打算使该磁盘与不推荐使用的Microsoft Virtual PC兼容,请选中为在Virtual PC中使用而准备标志。
- 如果您希望生成的虚拟磁盘以vhdx格式而不是常规vhd文件,请选中使用Vhdx。
VHDX 是 VHD 格式的升級版本,但在供應商支援上相對有限,與 VHD 相比,VHDX 在性能和最大磁碟大小方面都有較好的表現(64TB 對比 2TB)。由於這兩種格式最終都來自 Microsoft,所以在使用 Hyper-V 作為 hypervisor 的情況下,使用 VHDX 是合理的選擇。如果需要與其他 hypervisors 進行跨平台相容性,則可以使用 VHD。
- 如果您在運行中的系統上進行工作並且不想干擾系統狀態,請勾選使用卷影複製。此選項旨在使轉換過程更加順暢。您不需要擔心文件正在使用時彈出的錯誤或系統狀態的不一致性。如果您不勾選此選項,將直接從實時卷中複製文件,而不是從卷影複製中複製文件。
卷影複製本質上是卷的點時只讀快照,可用於一致的磁碟複製操作。依賴此技術的程序甚至在應用程序正在使用時也能安全地複製文件。
如果您按照以下截圖進行操作,您的選項應該如下所示。

您沒有選擇VHDX,因為VirtualBox無法完全處理VHDX磁碟。為了避免通過嘗試從一種磁碟格式轉換為另一種而使教程過於冗長,輸出格式被設置為VHD。
2. 現在是選擇輸出文件的時候。選擇輸出VHD文件的名稱,包括其完整路徑和擴展名。在本例中,輸出文件將與設備名稱相同,如下所示。

3. 您現在將選擇要虛擬化的卷。本教程中的磁碟基於主引導記錄(MBR),因此您只需選擇所需的唯一卷,如下所示。請確保在目標驅動器上至少保留與所需空間列指定的一樣多的空間。
對於使用GUID分割表(GPT)的磁碟,您必須複製EFI系統分區(ESP)卷以及操作系統(OS)卷。ESP卷包含系統需要定位並正確引導操作系統所需的引導加載程序文件。

4. 一切就緒後,您可以開始轉換過程!請注意,由於Disk2vhd對正在運行的系統施加的負載,不建議在已知負載高的系統上運行它。點擊創建開始轉換,並等待過程完成。

5. 完成轉換過程的等待後,您應該在指定的文件夾中找到一個VHD文件,如下面的屏幕截圖所示。

請務必不要直接將生成的VHD掛載到物理機器上。Windows使用簽名來識別每個已連接的磁盤。為避免磁盤簽名碰撞,當您將其掛載在與物理磁盤相同的機器上時,Windows將更改虛擬磁盤的簽名。如果您像本教程中那樣使用該磁盤創建新的虛擬機器,則可能導致新的虛擬機器無法啟動。
通過命令行轉換磁盤
對於那些需要自動化或遠程使用的用戶,Disk2vhd還具有命令行選項。語法如下:
- 標誌-h與在圖形用戶界面(GUI)上選擇“為在虛擬PC中使用做準備”相同。
- 標誌-c將進行直接拷貝,而不是影像拷貝。
- 卷冊通過指定它們的驅動器字母或用於全部包含。
以下示例通過PowerShell會話在64位機器上創建C:\驅動器C的備份副本。輸出文件名將使用Get-Date PowerShell cmdlet將備份創建日期合併到文件名中。為了在非PowerShell會話中運行此代碼,給文件指定一個特定的名稱。
該命令將在成功轉換後創建一個類似於屏幕截圖中的文件。

您可以將命令行與計劃解決方案配對,例如PowerShell中的計劃任務,以創建一個基本的自動備份系統。
使用轉換的磁盤創建虛擬機
既然您有了物理副本的虛擬副本,您將附加結果虛擬硬盤以檢查操作結果。啟動虛擬系統後,您將發現它虛擬複製了您先前的系統(故意的)。
1. 打開VirtualBox進行操作,然後在機器菜單下選擇新建

2. 為機器命名,選擇存儲文件的文件夾,根據需要選擇操作系統類型和版本,然後點擊下一步。

3. 選擇系統將消耗的記憶體。 對於您的測試目的,2 GB 的 RAM 應該足夠。

4. 現在來到最關鍵的部分,硬碟 選擇。 選擇“使用現有的虛擬硬碟檔案” 並點擊提供的瀏覽圖示以找到先前建立的 VHD 。

5. 下一個畫面列出已知的 Virtual Box VHDs 。 選擇 新增 以將新的 VHD 包含在 VirtualBox 已知的磁碟清單中。 在將磁碟附加到任何 VM 之前,此步驟是必要的。

瀏覽到上一節中創建的 VHD 檔案並選擇 開啟。

7. VirtualBox 將 VHD 列為 未附加。 選擇該檔案並點擊 選擇 以將 VHD 附加到新的 VM 。

8. 點擊 建立 。

9. 您現在可以啟動 VM 。 選擇如下所示的 正常啟動 。

10. 您應該看到與實體裝置相同的登錄畫面。

11. 登錄後,您會注意到虛擬機器與實體設備完全相同,包括使用者帳戶和已安裝的應用程式。 虛擬機器與實體機器相同。
結論
Disk2vhd 可以在您需要虛擬化實體磁碟時節省大量時間,無論是實時 OS 還是非實時 OS 。 通過走到這一步,您現在已準備好虛擬化您的實體設備並享受虛擬化的好處。
您計劃虛擬化的機器是什麼?