[VirtualBox] 將 VMDK 轉成 VDI 後,調整硬碟大小

[VirtualBox] 將 VMDK 轉成 VDI 後,調整硬碟大小

今天想在一個 VirtualBox 的 Windows VM 裡安裝 Visual Studio 2015,

這才發現原本的硬碟只有 25GB,剩餘空間根本不夠裝,悲劇!

不過當然不可能為了這種事就重裝一台 VM,

來想辦法改變硬碟的大小吧~

 

參考資料:

How To Enlarge a Virtual Machine’s Disk in VirtualBox or VMware

筆記本電腦的筆記本:VMDK to VDI

 

1. 找出硬碟檔的位置

首先要先查到硬碟檔案的位置…

用 VBoxManage list vms 先看一下現在的 VM,

本例中我只有一個叫 “Win7 SP1 en New” 的 VM:

testuser@localhost ~ $ VBoxManage list vms
"Win7 SP1 en New" {c2309694-be9a-4258-9e13-4ef6c376a9ce}

 

接著用 VBoxManage showvminfo 看一下硬碟檔在哪裡:

testuser@localhost ~ $ VBoxManage showvminfo "Win7 SP1 en New" | egrep IDE
IDE (0, 0): /Users/testuser/VirtualBox VMs/Win7 SP1 en New/Win7 SP1 en New-disk1.vmdk (UUID: 8519da73-6f69-49ee-aef9-1e54fd769f34)
IDE (1, 0): /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso (UUID: cff0e764-cacc-4227-89c9-fc5fecfb2e93)

 

可以看到 IDE (0, 0) 上掛的是個 vmdk 檔案,這通常就是硬碟檔囉~

 

2. 改變 VMDK 硬碟的大小

進到硬碟檔所在的目錄後,用 VBoxManage modfymedium 試著把它改成 500GB:

testuser@localhost ~ $ cd "/Users/testuser/VirtualBox VMs/Win7 SP1 en New"
testuser@localhost ~ $ VBoxManage modifymedium disk "Win7 SP1 en New-disk1.vmdk" --resize $((500*1024))
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize medium operation for this format is not implemented yet!

 

唉呀!真是太不幸了,VirtualBox 說它還不支援 resize VMDK 這種檔案格式…

想想我原本這個 VM 是從別人那邊拿到的,

可能原本是用 VMware ESXi/Workstation 做出來的,所以是 VMDK 的格式,

那現在只能把 VMDK 轉成 VDI 再試試看囉~

 

3. 將 VMDK 轉成 VDI 後再改變大小

用 VBoxManage clonemedium 指令,

將剛剛的 VMDK 複製成 VirtualBox 自己的 VDI 格式:

testuser@localhost ~ $ VBoxManage clonemedium disk "Win7 SP1 en New-disk1.vmdk" "Win7 SP1 en New-disk1.vdi" --format VDI
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'VDI'. UUID: 76248fd3-3041-4369-b21a-af607699eb6e

 

複製完成後,再一次用 VBoxManage modifymedium 指令改變這個 VDI 的大小,

終於成功了:

testuser@localhost ~ $ VBoxManage modifymedium disk "Win7 SP1 en New-disk1.vdi" --resize $((500*1024))
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

 

4. 刪除 VMDK 並掛上新的 VDI 硬碟

進到 VM 的設定選項裡,找到 Storage,這邊可以看到原本掛載的 VMDK, 

按下右上角的硬碟+圖示,準備新增硬碟:

Screen Shot 2015-08-30 at 11.57.12 PM

 

這邊選擇 Chooese existing disk,把剛剛建立好的 VDI 檔案選起來:

Screen Shot 2015-08-30 at 11.57.28 PM

 

VDI 加好之後,順手把原本的 VMDK 檔案用下面的刪除圖示刪掉,

再把 VDI 的排線選擇到原本 VMDK 所在的 IDE Primary Master

(換位置的話不曉得 Windows 那邊會不會以為新增硬體),

可以看到現在的 VDI 已經是 500GB 的大小了:

Screen Shot 2015-08-31 at 12.02.26 AM

 

5. 在 Windows 中使用新的硬碟空間

雖然硬碟變大了,可是 Windows 原本的分割區還是只有 25 GB,

進到 Computers > 按右鍵 > Manage > Storage > Disk Management,

可以看到有個 475 GB 的未分配空間:

2015-08-31 00_09_22-Computer Management

 

在 C 槽上按右鍵,選擇 Extend Volume:

2015-08-31 00_11_28-Computer Management (Local)_Storage_Disk Management

 

跳出了 Extend Volume 精靈,按下一步吧:

2015-08-31 00_12_41-Extend Volume Wizard

 

這邊預設把 C 槽後面未使用的空間全部列出來了,直接按下一步:

2015-08-31 00_12_59-Extend Volume Wizard

 

按下 Finish 就完成了:

2015-08-31 00_13_14-Extend Volume Wizard

 

可以看到 C 槽已經被擴展成 500 GB 囉,到檔案總管也可以看到一樣的結果~

不知道 Extend Volume 這個是不是 Windows 7 的功能,

以前連這種小事都得請出像 Partition Magic 類的軟體才行,

現在 Windows 內建這種功能真是太方便了:

2015-08-31 00_13_31-Computer Management  

 

到此為止,VM 的硬碟已經成功擴展大小了,

終於可以再去裝 Visual Studio 啦~^^

 

(本頁面已被瀏覽過 2,859 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料