Disk2Vhd:學習將實體機器轉換為虛擬磁碟

你是否有一些想要虛擬化並擺脫笨重的實體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-VKVM,也可以正常使用。

A user account with administrative access.

安装和运行Disk2vhd

您的第一步是安装Disk2vhd,如果尚未安装。对于即将进行的任务,您将需要具有管理员访问权限和对Windows设备的物理访问权限。要转换的磁盘需要连接并在线

前往Microsoft的Sysinternals页面,并下载Disk2vhd的副本。撰写本文时,最新版本可用,并且示例将基于此版本,即版本2.02。下载将是一个包含程序各个版本的zip压缩文件。

右键单击适合您设备的最合适版本,然后选择如下所示的以管理员身份运行

Starting Disk2vhd as administrator

将物理磁盘转换为虚拟磁盘

现在您已经有了一个可工作和运行的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。

  • 如果您在運行中的系統上進行工作並且不想干擾系統狀態,請勾選使用卷影複製。此選項旨在使轉換過程更加順暢。您不需要擔心文件正在使用時彈出的錯誤或系統狀態的不一致性。如果您不勾選此選項,將直接從實時卷中複製文件,而不是從卷影複製中複製文件。

卷影複製本質上是卷的點時只讀快照,可用於一致的磁碟複製操作。依賴此技術的程序甚至在應用程序正在使用時也能安全地複製文件。

如果您按照以下截圖進行操作,您的選項應該如下所示。

Selecting the appropriate options

您沒有選擇VHDX,因為VirtualBox無法完全處理VHDX磁碟。為了避免通過嘗試從一種磁碟格式轉換為另一種而使教程過於冗長,輸出格式被設置為VHD。

2. 現在是選擇輸出文件的時候。選擇輸出VHD文件的名稱,包括其完整路徑和擴展名。在本例中,輸出文件將與設備名稱相同,如下所示。

Providing the file name

3. 您現在將選擇要虛擬化的卷。本教程中的磁碟基於主引導記錄(MBR),因此您只需選擇所需的唯一卷,如下所示。請確保在目標驅動器上至少保留與所需空間列指定的一樣多的空間。

對於使用GUID分割表(GPT)的磁碟,您必須複製EFI系統分區(ESP)卷以及操作系統(OS)卷。ESP卷包含系統需要定位並正確引導操作系統所需的引導加載程序文件。

Selecting input volumes, pay attention to the Space Required information

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

Conversion in progress

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

The resulting output VHD file

請務必不要直接將生成的VHD掛載到物理機器上。Windows使用簽名來識別每個已連接的磁盤。為避免磁盤簽名碰撞,當您將其掛載在與物理磁盤相同的機器上時,Windows將更改虛擬磁盤的簽名。如果您像本教程中那樣使用該磁盤創建新的虛擬機器,則可能導致新的虛擬機器無法啟動。

通過命令行轉換磁盤

對於那些需要自動化或遠程使用的用戶,Disk2vhd還具有命令行選項。語法如下:

disk2vhd [-c][-h] <volumes-to-include> <output-vhdfile>
  • 標誌-h與在圖形用戶界面(GUI)上選擇“為在虛擬PC中使用做準備”相同。
  • 標誌-c將進行直接拷貝,而不是影像拷貝。
  • 卷冊通過指定它們的驅動器字母或用於全部包含。

以下示例通過PowerShell會話在64位機器上創建C:\驅動器C的備份副本。輸出文件名將使用Get-Date PowerShell cmdlet將備份創建日期合併到文件名中。為了在非PowerShell會話中運行此代碼,給文件指定一個特定的名稱。

disk2vhd -c c: "\\file-server\Backups\snapshot-$(Get-Date -f yyyy-MM-dd).vhd"

該命令將在成功轉換後創建一個類似於屏幕截圖中的文件。

VHD file created via Disk2vhd command-line

您可以將命令行與計劃解決方案配對,例如PowerShell中的計劃任務,以創建一個基本的自動備份系統。

使用轉換的磁盤創建虛擬機

既然您有了物理副本的虛擬副本,您將附加結果虛擬硬盤以檢查操作結果。啟動虛擬系統後,您將發現它虛擬複製了您先前的系統(故意的)。

1. 打開VirtualBox進行操作,然後在機器菜單下選擇新建

Create a new VM in VirtualBox Manager

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

VM creation window: Identification details

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

VM Creation Window: RAM settings

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

VM Creation Window: Hard Disk creation

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

VM Creation Window: Hard disk Selection

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

Selecting the converted hard disk file

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

VM Creation Window: Hard disk selection

8. 點擊 建立

VM Creation Window: Create VM

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

Starting the VM: Turning on the VM

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

Starting the VM: Sign-in Screen

11. 登錄後,您會注意到虛擬機器與實體設備完全相同,包括使用者帳戶和已安裝的應用程式。 虛擬機器與實體機器相同。

結論

Disk2vhd 可以在您需要虛擬化實體磁碟時節省大量時間,無論是實時 OS 還是非實時 OS 。 通過走到這一步,您現在已準備好虛擬化您的實體設備並享受虛擬化的好處。

您計劃虛擬化的機器是什麼?

Source:
https://adamtheautomator.com/disk2vhd/