2011-03-28

VirtualBox

VirtualBox 版本:4.0.4 r70112
先前要作一些多核心之類的設定一直無法完成,所以這次建立虛擬系統時,特別把選項看個清楚,讓新的虛擬機器連接我的虛擬光碟,安裝完成後開啟工作管理員果然可以看到多核心的運作,官方似乎有說虛擬機器多核心設定不要超出真實核心數,我的 Core i5-2410M 是 2C4T,虛擬機器設成 2 個核心應該算中規中矩吧?

安裝客端額外功能
這是一定要裝的功能,主要有兩個作用,一個是免除『HOST 鍵』的麻煩,不必經由「右側 Ctrl」來切換滑鼠目標作用視窗,另一個作用是與主端系統「共享資料夾」,這對資料傳遞及同步有著很大的幫助。
客端系統啟動後,可以在 VirtualBox 選單列上找到「裝置\安裝 Guest Additions」,執行完畢重啟客端系統就可以了。如果客端系統是 linux 類的話,由於光碟掛載後不會自動執行,還需以 root 身份執行客端額外功能光碟下的安裝檔才會真正的安裝相關套件。
Update 20120117:
虛擬 XP 需以「安全模式」執行,額外功能才能裝設「3D 加速」支援。

共享資料夾
客端系統為 Windows 時:用「連線網路磁碟機」就能很容易的連上這個共享資料夾,不過目前 VirtualBox 版本對客端系統 Windows 是很友善的,關閉客端系統,在 VirtualBox 上設定好共享資料夾,勾選「自動掛載」及「成為永久性」,完成後啟動客端系統後,客端系統 Windows 就能看到這個共享資料夾。
客端系統為 Ubuntu 時:
執行安裝 sudo apt-get install virtualbox-ose-guest-utils
然後掛載 sudo mount -t vboxsf Share /home/user/share

Update 20110401:
昨日睡前在 VirtualBox 中又設置 Windows 2000 虛擬系統,大致都正常;今天又馬上在 VirtualBox 中設置了 Ubuntu,這算是我第二次使用 linux 類系統,以前因為沒有那麼親和的介面可以使用,加上資訊又少,整個使用經驗不是很愉快,今日借助 VirtualBox 不怕弄壞機器,最多重新設定安裝罷了,不致於影響工作,也不必找另一台機器(雖然我現在也有兩部電腦)。

Update 20110404:
快速建置相同客端系統或備份客端系統
開啟命令列模式,切換到 VirtualBox 安裝目錄下,執行
VBoxManage.exe clonehd 來源.vdi 目標.vdi
啟動 VirtualBox 的 GUI 設置介面,新增系統選擇已存在的硬碟(就是上面複製出來的 VDI 檔),相關設定調好後,第二個客端系統就已建置完成可以啟動,客端系統不必從安裝作業系統開始,連已經安裝好的軟體都已經可以使用。

Update 20110423:
因為要測試客端系統直接連接主端系統的週邊,所以設置了 USB,可是只能使用 usb 1.1 的模式,一旦啟用 usb 2.0 系統立即回報錯誤,找了一下資料才知道,得要裝上「Extension Pack」後 VirtuaBox 才能完整的支援到 usb 2.0,不論官方的考量是什麼,總之使用 VirtualBox 時,一定要裝上這個 Extension Pack 使得 USB 支援功能更完整。

Update 20110505:
VirtualBox 新建置的虛擬機預設有一張 NAT 模式的網卡,基本上它是個特殊驅動程式,可以提供客端系統透過主端系統上網,但是主端是無法直接用它跟客端系統溝通,如果雙方要成為同一網段,可以添加一個「僅限主機」的介面卡,在客端系統下,這個介面將會配發一個與主端系統同一網段的內部網址,雙方即可形成子網群,但需注意客端系統的防火牆設定,得開啟相關的 port,要在虛擬機中跑 server 時要特別注意這個地方。

Update 20110506:
如果客端系統所有設定完成,要讓客端系統開始對主端系統所處區網段提供服務,將網卡改成單一「橋接介面卡」並選定主端連接區域網路的實體網卡橋接即可立即上線。

Update 20111108:
Windows XP 微軟已停止支援,雖然現階段新安裝的系統仍可就即存之更新檔,進行線上更新作業,但總有一天會被停止,原本打算以指定 ISO 檔的方式讓虛擬機啟動 GHOST 來備份系統,無奈一直出現錯誤無法啟動,目前尚不知是 VirtualBox 還是 ISO 檔有問題。

Update 20111109:
縮小 VirtualBox VDI 檔案
使用 VirtualBox 執行虛擬機器時,建立 VDI 檔案時通常我們都會選擇設定檔案增長的方式使用虛擬機器的硬碟,也就是虛擬機器用多少 VDI 檔案就長多大。然而實際上虛擬硬碟寫入一份文件之後將該文件刪除時,在虛擬機器中雖然會釋出空間但是VDI檔案卻不會變小,因此通常 VDI 檔案大小都會比虛擬機器所使用的空間還大。
VBoxManage modifyhd 已關閉之客端.vdi --compact
不過根據官網的消息,執行前需在客端系統下執行 sdelete 將客端系統硬碟未使用空間填入特定值,目前新版本有個 -z 的參數可針對虛擬機器來使用。

Update 20120127:
忘記是何時更新的,VirtualBox 的版本已換成 4.1.8 r75467。

Update 20150712 備份 VMDK 格式客端系統:
在使用VDI格式時,一般會先縮減後再備份,
VBoxManage modifyhd 已關閉之客端.vdi --compact
VBoxManage.exe clonehd 來源.vdi 目標.vdi
而使用 VMDK 格式時,因為 VirtualBox 不支持直接壓縮 VMDK 格式,就得先轉換成 VDI 並壓縮再轉回 VMDK。
VBoxManage clonehd "來源.vmdk" "臨時目標.vdi" --format vdi
VBoxManage modifyhd "臨時目標.vdi" --compact
VBoxManage clonehd "臨時目標.vdi" "最終目標.vmdk" --format vmdk
PS: 如果在 VMDK 轉成 VDI 後容量縮小了很多,可以不用再壓縮,直接轉回 VMDK 就可以,因為轉換的過程似乎會省略虛擬硬碟已標記未使用的磁區。

2 意見:

hanying 提到...

不好意思~能請問一下嗎?

您如何讓virtualbox 設定成可以在工作管理員看到多顆核心?

我試過很多設定~很好奇你在文章中提到的
"把選項看個清楚,讓新的虛擬機器連接我的虛擬光碟,安裝完成後開啟工作管理員果然可以看到多核心的運作"

能指點一下嗎?謝謝你!!!

Amauds 提到...

回覆hanying
印象有些模糊,在主端這邊(也就是VirtualBox本身的操作介面)設定好客端系統的多核心,位置在「設定值」「系統」「處理器」。
客端系統如果是WinXP-SP3的整合版,不需特別設定,裝好就能看到多核心;如果客端系統是Win2K,需要修改(裝完後再修改),詳細作法請搜索網路教學文。