Centos

如何複製由 vmdk 文件表示的磁碟?

  • June 25, 2015

我在 Windows 8.1 上安裝了 VirtualBox。我創建了一個 CentOS 7 虛擬機,它載入通過 SATA 線連接到 PC 的分離硬碟驅動器的內容。VirtualBox 中的虛擬機將其 SATA 控制器設置為usb.vmdk. 實際usb.vmdk文件非常小,但它載入了一個大磁碟分區。

如何複製該磁碟分區的內容,以便可以在 VirtualBox 中創建一個虛擬機,該虛擬機具有與分離的硬碟驅動器中的所有相同數據?

請注意,CentOS 7 使用 XFS 文件系統。

這是創建的程式碼usb.vmdk

cd %programfiles%\oracle\virtualbox

VBoxManage internalcommands createrawvmdk -filename "%USERPROFILE%"\desktop\usb.vmdk -rawdisk \\.\PhysicalDrive#  

編輯:


根據@GeraintJones 的建議,我在 Windows 中打開磁碟管理並得到以下資訊:

未選擇驅動器時,點擊Action > CreateVHD會出現以下對話框:

請注意,硬碟驅動器的 CentOS 7 組件位於磁碟 1 左側所示的 4 個分區中。 (分離的磁碟 1 是從一台當機雙啟動機器中提取的,而該舊機器的 windows 部分位於H: 和 I: 驅動器如左圖所示。)

另請注意,新電腦中的 CentOS 7 VM 看不到外部驅動器。我已經做了一些工作來尋找它,我認為不嘗試讓 VirtualBox VM 來執行此操作會快得多。

那麼如何為上面列印螢幕右側顯示的磁碟 1 的 CentOS 部分創建 VHD?

有幾種方法。

在 Windows 的磁碟管理器中,您應該能夠選擇磁碟並選擇“創建 VHD”,然後您可以將其導入 VirtualBox。

或者我的偏好是分配一個比 CentOS VM 上的物理驅動器稍大的新 VMDK,然後用於dd將其中的驅動器複製到新的 VMDK 設備。

然後,您可以從 VM 中刪除 VMDK,並將其附加到您將使用它的 VM。

要在您現有的 CentOS VM 上執行sudo fdisk -l並記錄輸出,應該有一些項目 - 其中之一是 USB 硬碟

然後在 VirtualBox 中選擇連接了 USB/SATA 磁碟的 VM,然後點擊“設置”,然後在儲存選項卡上點擊帶有磁片和加號的圖示,然後選擇“添加硬碟”:

添加磁碟

在以下對話框中選擇“創建新磁碟”,然後按照嚮導進行操作(確保您創建的磁碟大於您複製的磁碟

一旦在 CentOS VM 的控制台中完成,sudo fdisk -l再次執行,應該會列出一個新設備,現在是 . 您可能必須重新啟動 VM 才能被列出。

dd if=<usb> of=<newdevice> bs=1M 例如,要複製磁碟dd if=/dev/sda of=/dev/sdb bs=1M

完成後關閉虛擬機,然後返回 VirtualBox 設置中的儲存選項卡並記下位置(突出顯示您添加的磁碟及其在右側窗格中),然後點擊帶有紅色減號的磁片。在資源管理器中,然後將 VMDK 移動到您想要的位置。在新虛擬機上重複上述過程,但添加新磁碟時選擇“選擇現有磁碟”

引用自:https://serverfault.com/questions/701458