介紹
VirtualBox 是免費好用的虛擬機器,不過偶而會遇到一種情況:剛開始裝設的虛擬機器只是用來測試,所以一開始沒有配給很大的虛擬硬碟,不過後來測試的東西越來越多導致原有硬碟容量不足,在以前的 VirtualBox 版本中虛擬硬碟 (VDI,Virtualbox Disk Image) 一旦決定了最大值是無法事後擴增的,因此只能建立一個新的。在 VirtualBox 4.x 以後的版本已經支援 VDI 容量擴增與壓縮,不過官方並不建議這樣做,故沒有製作 GUI 的調整方式,僅提供指令來 擴充/壓縮 硬碟映像檔。
[動態空間調整]
放大硬碟空間(限定使用 vdi 格式)
放大硬碟空間VBoxManage modifyhdWin7-旗艦版.vdi --resize 512000
壓縮虛胖的硬碟空間
VirtualBox同時支援自己的虛擬硬碟格式VDI和Vmware的VMDK格式,兩種格式的壓縮略有不同。
[磁碟重組]:第一步要做的是磁碟重組,打開虛擬機器,執行下面的命令:
Linux下
sudo dd if=/dev/zero of=/EMPTY bs=1M
sudo rm -f /EMPTY
Windows下
Windows系統需要下載 Sysinternals Suite 解壓縮後路徑請放在:C:\SysinternalsSuite
執行以下指令sdelete –z
[壓縮資料]
關閉虛擬機器,現在可以開始壓縮虛擬硬碟了如果你的虛擬硬碟是 VirtualBox 自己的VDI格式,找到你的虛擬硬碟檔,執行命令:MAC VirtualBox 應用程式安裝路徑:/Applications/VirtualBox.app/ContentsVBoxManage.exe modifyhd mydisk.vdi --compact
如果你的虛擬硬碟是Vmware的VMDK格式,那就要麻煩點,因為VirtualBox不支援直接壓縮VMDK格式,但是可以變通下:先轉換成VDI並壓縮,再轉回VMDK。執行命令:
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd cloned.vdi --compact
VBoxManage clonehd "cloned.vdi" "compressed.vmdk" --format vmdk
事實上,執行命令的過程中可以發現:在從 VMDK 轉換到 VDI 的過程中似乎已經做了壓縮,檔大小已經減少了很多,第二條命令反而沒見到檔大小有什麼變化,所以這裡第二條命令應該可以省略了。
Port Forwarding
簡單的 VirtualBox 內建功能 「Port Forwarding 」
新增加一個規則,Host Port 設成 6082,Guest Port 是 22,這樣只要連本機的 6082 port,就會自動轉向到 VM 的 22 port (SSH)
使用下面 SSH 指令連線至 VMssh -p 6082 root@localhost