在 VirtualBox 中調整 vhd 硬碟大小後無法啟動

在 VirtualBox 中調整 vhd 硬碟大小後無法啟動

在 Windows 7 中,我在 VirtualBox 中設定了另一個 Windows 7 VM。效果很好。然後,我需要增加 vhd HD 大小。因此,我使用 VBoxManage 實用程式來執行此操作,並添加以下註釋:

VBoxManage modifyhd "c:\VMs\Win7.vhd" --resize 30000

然後,我嘗試再次運行虛擬機,但它無法啟動並給出以下錯誤:

致命:找不到可啟動介質!系統停止。

然後,我嘗試查看 VHD 內部發生了什麼,並嘗試將其附加到裝置管理中,但它顯示無法附加,因為檔案或目錄已損壞且無法讀取

知道這裡出了什麼問題以及如何將我的虛擬機器保存在該 VHD 檔案中嗎?

答案1

不幸的是,VBoxManage --resize 選項的 VirtualBox 文件具有誤導性。您不能只增加磁碟映像的大小就讓一切正常運作。必須調整映像中的磁碟分割資訊,以便客戶作業系統知道磁碟映像正在模擬的「磁碟機」的佈局。您可以透過下載包含分割區編輯器的可開機 CD 映像並將 VM 引導至該 CD 來完成此調整。然後,您可以使用分割區編輯器調整磁碟映像的分割區以使用新增的空間。

有一個很好的程序寫法這裡;只需跳至步驟 4。

答案2

我遇到過同樣的問題

  1. 建立具有所需大小的新 VHD
  2. 使用 clonhd 從舊 vhd 複製到新 vhd

參考 :http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual-box-vdi-dis/

答案3

我遇到了同樣的問題,我設法使用格帕特現場CD

  1. 建立新的VHD來接收複製的資料(建立分割區並格式化)
  2. 下載 GParted LiveCD 並在 VirtualBox 上啟動
  3. 選擇設備 -> 嘗試資料救援
  4. 按一下“確定”,然後在“掃描”後按一下“查看”​​(這將掛載 /tmp/gparted-roview-XXXXXX)
  5. 在終端機上,安裝第二個 VHD (sudo mount /dev/sdb1 /mnt)
  6. 複製檔案(sudo cp -R /tmp/gparted-roview-XXXXXX/* /mnt

之後,您可以關閉虛擬機器並在 Windows 裝置管理員上安裝 VHD。

答案4

值得注意的是,我遇到了完全相同的問題,這是由於我在來賓運行時發出了命令modifyhd。官方文件沒有提到,您必須先刪除快照,並且應該停止該來賓。

我的計劃是在機器運行時調整磁碟大小,因為我有一個動態卷,也可以動態增加。然而,這是一個壞主意,因為我重新啟動機器以獲得完整的磁碟大小,但我被蒙在鼓裡,圖像損壞了,即使不使用 testdisk,我也無法恢復該映像。 Testdisk 找到分割區,但檔案系統嚴重損壞且無法修復。

所以請注意:

  1. 將所有快照合併到基礎映像中
  2. 關閉來賓作業系統

我已經使用備份映像在我的電腦上重複了該過程,並且關閉了來賓作業系統,效果很好。

相關內容