在 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
我遇到過同樣的問題
- 建立具有所需大小的新 VHD
- 使用 clonhd 從舊 vhd 複製到新 vhd
參考 :http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual-box-vdi-dis/
答案3
我遇到了同樣的問題,我設法使用格帕特現場CD
- 建立新的VHD來接收複製的資料(建立分割區並格式化)
- 下載 GParted LiveCD 並在 VirtualBox 上啟動
- 選擇設備 -> 嘗試資料救援
- 按一下“確定”,然後在“掃描”後按一下“查看”(這將掛載 /tmp/gparted-roview-XXXXXX)
- 在終端機上,安裝第二個 VHD (sudo mount /dev/sdb1 /mnt)
- 複製檔案(sudo cp -R /tmp/gparted-roview-XXXXXX/* /mnt
之後,您可以關閉虛擬機器並在 Windows 裝置管理員上安裝 VHD。
答案4
值得注意的是,我遇到了完全相同的問題,這是由於我在來賓運行時發出了命令modifyhd。官方文件沒有提到,您必須先刪除快照,並且應該停止該來賓。
我的計劃是在機器運行時調整磁碟大小,因為我有一個動態卷,也可以動態增加。然而,這是一個壞主意,因為我重新啟動機器以獲得完整的磁碟大小,但我被蒙在鼓裡,圖像損壞了,即使不使用 testdisk,我也無法恢復該映像。 Testdisk 找到分割區,但檔案系統嚴重損壞且無法修復。
所以請注意:
- 將所有快照合併到基礎映像中
- 關閉來賓作業系統
我已經使用備份映像在我的電腦上重複了該過程,並且關閉了來賓作業系統,效果很好。