網頁

2017年11月23日 星期四

調整Oracle Virtual Box 5.x的虛擬硬碟大小

使用:
Windows 10 版號 1709 (Build 16299.64)

Virtual Box 5.2.0 (r118431)

Virtual Box建立虛擬硬碟
     Virtual Box在建立虛擬硬碟時有兩種方式,一種為「動態配置(Dynamically allocated)」另一則是「固定大小(Fixed size)」。


       假設如上圖一開始將「虛擬硬碟大小為25GB」且使用「動態配置」,那麼建立虛擬機完成之後,在設定值當中可以看到如下圖之相關資訊。


       如上使用Virtual Box建立虛擬硬碟後,往後也許會遇到需要使用的空間不足,而必須調整虛擬硬碟的大小,除了重新再做一個新的虛擬機之外,還能夠使用調整虛擬硬碟大小的方式。

Windows PowerShell
   首先找到當初安裝VirtualBox的資料夾(預設路徑為C:\Program Files\Oracle\VirtualBox),將滑鼠游標停留在其上,然後按住鍵盤的「Shift」不放,並且按下滑鼠右鍵,接著出現「快顯式選單」後,點選「在這裡開啟PowerShell視窗」,如下圖:

如此,Windows PowerShell視窗就出現了。


列出虛擬硬碟清單
再來可以使用以下命令,列出虛擬硬碟清單:

.\VBoxManage.exe list hdds


        
        命令執行後會列出所有的虛擬硬碟及其相關資訊,下圖為其中一個。 其中包含該虛擬硬碟的所在位置,以及型式、容量等資訊。


轉換「動態配置」型虛擬硬碟大小
以這顆25GB大小的動態型虛擬硬碟為例,要轉換成32GB的大小,那麼輸入以下指令:

.\VBoxManage.exe modifyhd "F:\VirtualPC\OSTest\OSTest.vdi" --resize 32768

其中resize 後面的數字,單位為MB,因此 32 x 1024 = 32768 MB = 32 GB
執行過程如下圖:


以上完成後,回到Virtual Box 點選該虛擬機的設定值,可以看到經過轉換的虛擬硬碟大小確實成功完成了,從原本的25GB擴大成為32GB

固定大小虛擬硬碟擴充
但若是固定大小虛擬硬碟該如何調整呢?


若使用上述動態型的方式調整,將得到如下的錯誤結果,程式顯示不支援Fixed格式的轉換。


固定大小轉換成動態配置
因此,必須先將虛擬硬碟從「固定大小」複製一份成為「動態配置」的虛擬硬碟。
輸入以下指令,確認這份虛擬硬碟的資訊:

.\VBoxManage.exe showhdinfo "F:\VirtualPC\FixedHDD\FixedHDD.vdi"


接著輸入以下指令:

.\vboxmanage.exe clonehd "F:\VirtualPC\FixedHDD\FixedHDD.vdi" "F:\VirtualPC\FixedHDD\DynamicHDD.vdi"


        回到檔案總管,可以看到確實已從「固定大小」複製了一份並轉換成「動態配置」的虛擬硬碟。



可以再使用以下指令先確認這份「動態配置」虛擬硬碟的資訊。

.\VBoxManage.exe showhdinfo "F:\VirtualPC\FixedHDD\DynamicHDD.vdi"


接著可以使用上述轉換動態型虛擬硬碟大小的方式,將該虛擬硬碟擴充容量。

.\VBoxManage.exe modifyhd "F:\VirtualPC\FixedHDD\DynamicHDD.vdi" --resize 4096



再次確認這份轉換過後的「動態配置」虛擬硬碟的資訊,容量已改變。


刪除或備份原始的「固定大小」虛擬硬碟
        以上步驟做完後,可視需要刪除原始的「固定大小」虛擬硬碟或將其備份下來,然後使用新大小的虛擬硬碟。

        請到VirtualBox當中該虛擬機的設定值當中,選取「存放裝置→ 該虛擬硬碟」,點下畫面中間偏下方的「紅色減號」即可移除該虛擬機與這顆虛擬硬碟的繫結,最後按下「確定」。


        若要刪除,請先確認要刪除的原始虛擬硬碟資訊,並將其中的UUID複製下來,直接用滑鼠在上面將其標記,然後按滑鼠右鍵即可複製到剪貼簿中,如下。

.\VBoxManage.exe showhdinfo "F:\VirtualPC\FixedHDD\FixedHDD.vdi"


執行以下指令:
.\VBoxManage.exe closemedium 0bca6e70-9d27-49dd-acc6-a269acde2b8a --delete


接著將虛擬硬碟從「動態配置」轉換為「固定大小」
要將虛擬磁盤從動態轉換為固定,請執行以下命令:
.\VBoxManage.exe clonemedium disk "F:\VirtualPC\FixedHDD\DynamicHDD.vdi" "F:\VirtualPC\FixedHDD\FixedHDD.vdi" -variant Fixed



再到檔案總管,可以看到這份新的「固定大小」的虛擬硬碟。


回到VirtualBox重新繫結虛擬硬碟
        然後回到VirtualBox,選擇該虛擬機,點選「存放裝置→ 控制器:SATA」,再點選2.部分紅色框框的圖示,VirtualBox會跳出「問題視窗」,按下「選擇現有的磁碟」。

        跳出「請選擇虛擬硬碟檔案」視窗後,選擇上述已擴充大小後的新「固定大小」虛擬硬碟。最後按下「開啟」。

        此時回到如下畫面,可以再次確認到,已準備繫結新「固定大小」虛擬硬碟的相關資訊,最後按下「確定」。

        至此,擴充固定大小虛擬硬碟的流程已完畢,拿來當作中介的那顆動態配置虛擬硬碟也可以使用上述的方式將之刪除。

沒有留言:

張貼留言