VirtualBox/基礎
此頁面適用於 5.2 及更高版本 的 Oracle VM VirtualBox。
Oracle VM VirtualBox 是一個 x86 虛擬化軟體包,由 甲骨文公司 作為其虛擬化產品家族的一部分維護。VirtualBox 安裝在現有的主機作業系統上。
安裝 VirtualBox 之前您擁有的物理計算機硬體和作業系統是“主機計算機”和“主機作業系統”。
在 VirtualBox 應用程式中,您可以建立許多虛擬機器,有時稱為“訪客計算機”,它們的行為與物理計算機硬體非常相似,只是您無法觸碰它們,因為它們都是模擬在您的真實物理計算機硬體中。
在 VirtualBox 應用程式中,可以載入和執行額外的訪客作業系統,每個都稱為訪客作業系統,每個都有自己的虛擬環境。
當前支援的主機作業系統包括 Linux、Mac OS X、Windows XP、Windows Vista、Windows 7、Solaris 和 OpenSolaris。但是,還存在一個移植到 FreeBSD(僅限 OSE 版本)。
虛擬機器管理程式是一種管理虛擬機器的軟體,虛擬機器在理論上是模擬的 PC。因此,虛擬機器管理程式可以被視為一種模擬器,其中一個系統透過將程式碼轉換為可執行的內容來假裝成另一個系統。
由於 IBM PC 的架構 x86 在設計上是一個複雜的指令集,因此它能夠執行復雜的操作,使其能夠有效地模擬其他平臺。但 x86 本身呢?
在 x86 中,軟體在特權級別(通常稱為環)中執行,並由作業系統組織。作業系統通常在其程式碼部分(核心)中執行儘可能低的級別,以便它可以有效地管理系統和使用者空間——環 0,因此被稱為核心模式。標準軟體(如從網站下載的可執行檔案)在環 3 中執行,稱為使用者模式。
VirtualBox 虛擬化 x86,並且幾乎不模擬使用者模式;它不即時轉換每條指令,而是透過將虛擬核心程式碼重新定位到環 1 來模擬環 0,並在核心或軟體呼叫 I/O 訪問(即驅動程式)時捕獲指令。開發人員不得不解決其他特定情況,但其餘軟體幾乎未經修改即可執行,在許多情況下允許軟體近乎裸機效能。
VirtualBox 使用基於 QEMU 的程式碼,但它不是 QEMU 的分支。QEMU 具有 KVM,允許它採用與 VirtualBox 類似的做法,但它還針對 VirtualBox 不支援的 x86 之外的各種平臺(例如 PowerPC、ARM 和 SPARC)。
在虛擬化上下文中,您的主計算機稱為主機。它可以訪問物理元件,例如顯示器、鍵盤和滑鼠以及硬碟。在 VirtualBox 中執行作業系統時,訪客無法訪問這些內容。相反,它被虛擬機器管理程式和作業系統核心管理的虛擬元件所取代,例如檔案系統上的虛擬硬碟。VirtualBox 允許您使用模擬的鍵盤、滑鼠和顯示器與訪客進行互動,這些元件儘可能接近通用,以便作業系統具有正確的驅動程式。如果這些驅動程式不是作業系統的一部分,VirtualBox 還將包含訪客增強功能,這些增強功能將安裝與主機的整合,例如剪貼簿共享和動態解析度(作業系統將根據視窗調整顯示大小)。
為了使 VirtualBox 能夠工作,主機 CPU 需要支援 SSE2(流式 SIMD 擴充套件 2)。
在 VirtualBox 中,您將遇到虛擬媒體管理器。這是一個 VirtualBox 以前與訪客一起使用的磁碟列表。三種類型——硬碟、光碟和軟盤——由管理器記憶和分組,如果需要可以刪除或複製。當程式啟動時無法檢測到這些映像時,它將通知使用者。
支援的硬碟格式列表如下
VDI(虛擬磁碟映像):VirtualBox 的本機格式。VMDK(虛擬機器磁碟):由 VMware 設計。VHD(虛擬硬碟):以前是 Connectix 的 Virtual PC 格式,但現在由微軟使用。在 Windows 主機上,這些檔案可以在磁碟管理實用程式中本地掛載。[注 1]
VHDX(虛擬硬碟擴充套件):微軟的 Hyper-V 格式。
HDD(硬碟驅動器):Parallels 的本機格式。VirtualBox 不支援 2 之後的版本,理由是該格式缺乏文件。但是,Parallels 包括用於降級格式的實用程式。QCOW(快速寫時複製):以前是 QEMU 的本機格式;它已被 QCOW2 取代。VirtualBox 中的 QCOW2 支援是隻讀的。QED:QCOW 的實驗性繼任者,現已棄用。支援僅包含在與現有影像的相容性方面,建議轉換為另一種格式。
軟盤是一個特殊情況,因為它們儲存的資料量很小,因此不需要特殊的映像格式來節省磁碟空間或加快機器速度。
有兩種副檔名,FLP 和 IMG,經常使用,但這些型別之間的區別幾乎為零。軟盤映像實際上是原始格式,因為它們完全保留了磁碟資料,而不是物理方面。
動態分配用於節省空間對您的工作流程至關重要的場景,在這種場景中,映像使用的磁碟空間少於分配的空間。
當您在任何計算機上刪除檔案時,硬碟實際上不會擦除其扇區(如果那樣做,更大的檔案將需要更長時間才能刪除)。相反,它將資料所在的扇區標記為可重寫,以便釋放空間。這解釋了為什麼資料恢復是可能的;恢復軟體將搜尋“空”扇區以查詢資料。
VirtualBox 會自動增加表示虛擬機器硬碟的動態分配的“.vdi”主機檔案的物理大小,因為訪客作業系統將(非零)塊寫入它。
可以透過兩種不同的方式減少動態分配的“.vdi”主機檔案的物理大小。
當 VirtualBox 和訪客作業系統都設定為支援連續 TRIM 時,VirtualBox 可以自動減少“.vdi”主機檔案的物理大小,當訪客作業系統刪除檔案時。即使訪客作業系統不支援 TRIM,也有一些命令列工具,例如 VBoxManage 和 CloneVDI,可以將“.vdi”主機檔案的物理大小減少到僅包含實際“使用”的塊。[1][2][3][4]
檔案可以透過 訪客增強功能 在主機和訪客系統之間共享,或者透過傳統方法(如 SMB 和 FTP)共享。如果訪客系統缺乏網路功能,可以透過在光碟燒錄工具中建立 ISO 9660 磁碟映像以插入虛擬光碟驅動器來共享檔案。
您的 VirtualBox VM 的檔案位於
- Windows:
%USERPROFILE%\VirtualBox VMs - Linux:
~/VirtualBox VMs
您可以透過右鍵單擊 VirtualBox 中的虛擬機器並選擇“在檔案管理器中顯示”來快速訪問虛擬機器的資料夾。[註釋 2]
虛擬機器資料夾的基本元件包括
- 一個 .
vbox檔案。它包含了系統本身的所有詳細資訊,例如規格、映像和裝置的路由方式等。 - 一個硬碟映象檔案
其他元件可能包括
- 一個 .
vbox-prev檔案。它是 .vbox檔案的備份副本。 - 一個 Logs 資料夾。它包含了機器的日誌,以便在出現問題時進行檢視。
- 一個 Snapshots 資料夾。它包含了快照。