[VirtualBox] 將 VMDK 轉成 VDI 後,調整硬碟大小
今天想在一個 VirtualBox 的 Windows VM 裡安裝 Visual Studio 2015,
這才發現原本的硬碟只有 25GB,剩餘空間根本不夠裝,悲劇!
不過當然不可能為了這種事就重裝一台 VM,
來想辦法改變硬碟的大小吧~
參考資料:
How To Enlarge a Virtual Machine’s Disk in VirtualBox or VMware
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,
按下右上角的硬碟+圖示,準備新增硬碟:
這邊選擇 Chooese existing disk,把剛剛建立好的 VDI 檔案選起來:
VDI 加好之後,順手把原本的 VMDK 檔案用下面的刪除圖示刪掉,
再把 VDI 的排線選擇到原本 VMDK 所在的 IDE Primary Master
(換位置的話不曉得 Windows 那邊會不會以為新增硬體),
可以看到現在的 VDI 已經是 500GB 的大小了:
5. 在 Windows 中使用新的硬碟空間
雖然硬碟變大了,可是 Windows 原本的分割區還是只有 25 GB,
進到 Computers > 按右鍵 > Manage > Storage > Disk Management,
可以看到有個 475 GB 的未分配空間:
在 C 槽上按右鍵,選擇 Extend Volume:
跳出了 Extend Volume 精靈,按下一步吧:
這邊預設把 C 槽後面未使用的空間全部列出來了,直接按下一步:
按下 Finish 就完成了:
可以看到 C 槽已經被擴展成 500 GB 囉,到檔案總管也可以看到一樣的結果~
不知道 Extend Volume 這個是不是 Windows 7 的功能,
以前連這種小事都得請出像 Partition Magic 類的軟體才行,
現在 Windows 內建這種功能真是太方便了:
到此為止,VM 的硬碟已經成功擴展大小了,
終於可以再去裝 Visual Studio 啦~^^