調整Virtual Box硬盤大小

我在Mac下使用Virtual Box安裝Win7的虛擬機。因爲之前裝過Win7的32位版。現在因爲機器內存升到8G,就可以劃出4G來支持Win7虛擬機。所以就重新安裝了Win7的64位版。在創建虛擬機的硬盤時,我選擇了Virtual Box的默認容量20G。我看到Virtual Box告知的是這個硬盤容量是可以動態調整的,誰知道這其實是一個誤導。這裏所謂的動態調整並不能超過設置的值,即我設置的20G是存儲分配的上限。所謂動態分配其實是一種節約磁盤空間的做法。意思是當我們在創建虛擬機的硬盤時,可以設置足夠大。只要這個硬盤沒有用完,這些空間是可以被主機所共享的。而Win7的64位版所佔用的硬盤空間又遠遠超過了32位版。在安裝了操作系統後,剩下的空間就不多了。在安裝了SQL Server 2008後,再想完整安裝Visual Studio 2010,空間就不夠了。我之前認爲硬盤容量可以動態調整,所以在Visual Studio提示空間容量不夠時,我仍然選擇“繼續”,結果安裝錯誤。

那麼,該怎麼解決這一問題呢?重新安裝嗎?那就實在太悲催了。雖然現在並沒有安裝什麼軟件,但安裝操作系統和數據庫就挺耗時的。於是,我試着調整Virtual Box的硬盤大小。可是在Virtual Box的管理工具中,並沒有找到修改硬盤大小的選項。通過Google,我找到了通過命令行修改磁盤空間的辦法,前提是Virtual Box的版本必須是4.0及以上。

這個命令:

VBoxManage modifyhd uuid –resize 40960

這裏的40960就是你要調整的容量,即40G。命令中的uuid也可以用vid文件名代替。不過我的文件名不幸包含了空格。或許通過雙引號或"/“可以支持空格的文件名,但我沒有嘗試,因爲使用uuid是更好的做法。至於命令行的輸入,在Mac下,直接在Terminal下輸入即可。因爲安裝了Virtual Box時,會將VBoxManage添加到路徑中,Terminal是可以識別該命令的。

要使用uuid,則需要獲得當前虛擬機的uuid。在管理工具中無法獲得,因此,我們應通過命令行獲得:

VBoxManage list hdds

該命令會顯示所有的虛擬硬盤。你可以通過Location來判斷你要調整的硬盤。獲得uuid,就可以通過modifyhd調整硬盤大小了。注意,在調整硬盤之前,一定要先關閉該虛擬機。

補記:當我通過modifyhd命令調整了磁盤空間後,通過管理工具查看vid文件,容量確實發生了變化,達到了預期的結果。於是我認爲可以高枕無憂了。哪知道在Virtual Box下打開該虛擬機後,看到C盤的空間仍然是20G。這讓我不禁鬱悶不已。於是我想,可能在Virtual Box中還有什麼設置。可是看了所有Virtual Box的管理菜單,都沒有能夠找到。我甚至在Storage中,移除對vid文件的引用,並重新加載,仍然沒有變化。我又嘗試着重新啓動Virtual Box,甚至重新啓動計算機,還是如此。究竟問題出在哪兒呢?正在百思不得其解,甚至打算刪除該虛擬機,重新安裝。可是想到還要去安裝操作系統,以及相關軟件,就不寒而慄。於是打算退而求其次,在Virtual Box中爲其增加一塊磁盤。結果,增加之後,啓動虛擬機,發現並沒有在計算機中增加新的磁盤。突然靈機一動,想到是否是計算機管理中的磁盤分區管理的問題呢。於是,打開Win7"計算機管理”中的“磁盤管理”,發現新增加的磁盤顯示爲未分配,而原來的磁盤容量赫然爲40G,其中卻有20G未曾分配。於是選擇擴展磁盤,失蹤的20G磁盤果然被找了回來。Virtual Box的硬盤大小調整終於取得成功。

因此,通過Virtual Box命令對磁盤進行調整後,一定要記得在Win7操作系統中擴展磁盤。這就好似你爲你的計算機新添加了一塊磁盤一樣,需要進行同樣的操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章