使用 VirtualBox 安裝 Linux 虛擬機
VirtualBox 能讓任何人都可以輕松安裝 Linux 虛擬機。你不需要有使用命令行的經驗,就可以自己安裝一個簡單的 Linux 虛擬機。在虛擬機方面,我精通很多東西,但這篇文章將向新手展示如何安裝一個 Linux 虛擬機。此外,這篇文章還概述了如何使用開源虛擬機管理程序 ??VirtualBox?? ,來運行以及安裝一個測試目的的 Linux 系統。
一些術語
在開始之前,你需要了解在本安裝教程中的兩個操作系統(OS)之間的區別:
- 主機系統host system:這指的是你安裝 VirtualBox 的操作系統(即本機的操作系統)。
- 客體系統guest system:這指的是你想要在主機系統之上運行的虛擬化系統。
在輸入/輸出、網絡、文件訪問、剪貼板、音頻和視頻方面,主機系統和客體系統都必須能夠交互。
在本教程中,我將使用 Windows 10 作為 主機系統,??Fedora 33?? 作為 客體系統。
安裝前的準備
當我們談論虛擬化時,實際上,我們指的是 ??硬件輔助虛擬化??。硬件輔助虛擬化需要兼容的 CPU。過去十年來,幾乎每個普通的 x86 CPU 都有這一功能。AMD 公司稱這樣的 x86 CPU 是具有 AMD 虛擬化技術(AMD-V) 的處理器,英特爾公司則稱其是具有 Intel 虛擬化技術(VT-x) 的處理器。虛擬化功能增加了一些額外的 CPU 指令,你可以在 BIOS 中啟用或禁用這些指令。
在安裝虛擬機之前:
- 確保在 BIOS 中啟用了虛擬化技術(AMD-V 或 VT-x)。
- 下載并安裝好??VirtualBox??。
準備虛擬機
下載你要用的 Linux 發行版的鏡像文件。下載 32 位還是 64 位的操作系統鏡像都沒有關系,因為在 32 位的主機系統上也可以啟動 64 位的操作系統鏡像(當然內存的使用會受限),反之亦然。
注意事項: 如果可以的話,請下載附帶有 ??邏輯卷管理器??(LVM)的 Linux 發行版。LVM 會將文件系統與物理硬盤驅動器解耦。如果你的空間不足時,這能夠讓你增加客體系統的硬盤驅動器的大小。
現在,打開 VirtualBox,然后單擊黃色的“新建New”按鈕:
VirtualBox New VM
接下來,配置客體操作系統允許使用多少內存:
Set VM memory size
我的建議是:不要吝嗇分配給客體操作系統使用的內存!當客體操作系統的內存不足時,客體系統將開始從隨機存取存儲器(RAM)向硬盤驅動器進行內存分頁,這樣會極大地惡化系統的性能和響應能力。如果底層的主機系統開始分頁,你很可能不會注意到。對于具有圖形化桌面環境的 Linux 工作站系統,我建議至少分配 4GB 內存。
接下來,創建虛擬磁盤:
Create virtual hard disk
虛擬磁盤的格式選擇默認的選項 “VDI(VirtualBox 磁盤鏡像)” 就可以了:
Selecting hard disk file type
在以下的窗口中,我建議選擇“動態分配dynamically allocated”,因為這允許你在之后增加虛擬磁盤的大小。如果你選擇了“固定大小fixed size”,磁盤的速度可能會更快,但你將無法修改虛擬磁盤的大小了:
Dynamically allocating hard disk
建議你使用附帶有邏輯卷管理器(LVM)的 Linux 發行版,這樣你就可以先創建一個較小的硬盤。如果之后你的客體系統的空間快用完了,你可以按需增加磁盤的大小。
注意:我選擇的客體系統為 Fedora,在 Fedora 的官網說明:??Fedora 至少需要分配 20GB 的空閑磁盤空間??。我強烈建議你遵守該規范。在這里,我選擇了 8GB,以便稍后演示如何用命令行增加磁盤空間。如果你是 Linux 新手,或者對命令行沒有經驗,請依舊選擇 20GB。
Setting hard disk size
創建好硬盤驅動器后,從 VirtualBox 主窗口的列表中選擇新創建的虛擬機,然后單擊“設置Settings”。在設置菜單中,點擊“系統System”,然后選擇“處理器Processor”標簽。默認情況下,VirtualBox 只向客體系統分配一個 CPU 內核。在現代多核 CPU 計算機上,分配至少兩個內核是沒有任何問題的,這能顯著地加快客體系統的速度:
Assigning cores to guest system
設置網絡適配器
接下來,要處理的是網絡設置。默認情況下, VirtualBox 會創建一個 NAT 連接,這對于大多數情況來說,是沒有問題、不用做其他更改的:
Network settings
你也可以創建多個網絡適配器。以下是網絡適配器最常見的類型:
- NAT:NAT 適配器能自動執行??網絡地址轉換???。從外部看,主機和客體系統使用著相同的 IP 地址。你無法通過網絡從主機系統內訪問客體系統。(盡管,你也可以通過定義??端口轉發??,來訪問某些服務。)當你的主機系統可以訪問互聯網時,則你的客體系統也可以訪問互聯網。NAT 不再需要進一步的配置。
- 如果你只需要讓客體系統接入互聯網就可以的話,請選擇 “NAT”。
- 橋接適配器Bridged adapter:在此配置中,客體系統和主機系統可以共享相同的物理以太網設備。這兩個系統都將擁有獨立的 IP 地址。從外部看,網絡中會有兩個獨立的系統,它們共享相同的物理以太網適配器。這種設置更靈活,但需要更多的配置。
- 如果你想要共享客體系統的網絡服務的話,請選擇 “橋接適配器”。
- 僅限主機的適配器Host-only adapter:在此配置中,客體系統只能與主機,或在同一主機上運行的其他客體系統相互通信。主機系統也可以連接到客體系統。但客體系統不能接入互聯網或物理網絡。
- 如果你想要獲得高安全性,請選擇 “僅限主機的適配器”。
分配操作系統鏡像
在設置菜單中,點擊“存儲Storage”,然后選擇虛擬光盤驅動器。單擊右側的 “光盤”圖標,然后點擊“選擇一個磁盤文件……Choose a disk file…”,然后分配你想要安裝的、已下載的 Linux 發行版鏡像:
Assigning OS image
安裝 Linux
現在,就已經配置好了虛擬機。右上角關閉“設置Settings”菜單,返回主窗口。點擊“綠色箭頭”(即“開始”按鈕)。虛擬機將從虛擬光盤驅動器啟動,你將發現你已經進入到 Linux 發行版的安裝程序中:
VirtualBox Fedora installer
設置分區
安裝程序將在安裝過程中要求你提供分區信息。選擇“自定義Custom”:
Selecting Custom partition configuration
注意: 我假設,你創建這一虛擬機的目的是為了測試。此外,你也無需關心客體系統的休眠,因為此功能會由 VirtualBox 來隱式地提供。因此,你可以省略交換分區,以節省主機系統的磁盤空間。請記住,如果你需要的話,你可以稍后自己添加交換分區。在 《??Linux 系統交換空間的介紹??》 這篇文章中,作者 David Both 進一步解釋了如何添加交換分區,并選擇交換分區正確的大小。
Fedora 33 及之后更高的版本提供了一個 ??zram 分區??,zram 分區可以用于存放分頁和交換、并經過壓縮過后的硬盤數據。zram 分區可以按需地調整大小,并且它比硬盤交換分區快得多。
為了簡單,我們只添加以下兩個掛載點Mount Point:
Adding mount points
保存更改,接下來我們繼續安裝。
安裝 VirtualBox 增強功能
完成安裝后,從硬盤驅動器啟動,并登錄到虛擬機?,F在,你可以安裝 VirtualBox 增強功能VirtualBox Guest Additions,其中包括特殊的設備驅動程序和系統應用程序,它們能提供以下功能:
- 共享剪貼板
- 共享文件夾
- 更好的性能
- 可自由擴展的窗口大小
點擊頂部菜單欄的“設備Devices”,然后選擇“插入增強功能的 CD 鏡像……Insert Guest Additions CD image...”,來安裝 VirtualBox 增強功能:
Selecting Guest Additions CD image
在大多數 Linux 發行版上,帶有增強功能的 CD 鏡像會自動掛載,并且能夠在文件管理器中找到。Fedora 會問你是否要運行安裝腳本。單擊“運行Run”,并授予該安裝進程 root 權限:
Enabling ?
Guest Additions autorun
安裝完成后,需要重新啟動系統。
LVM:擴大磁盤空間
我在之前給 Fedora 虛擬機分配了 8GB 硬盤空間,是一個愚蠢的決定,因為 Fedora 很快就會告警空間不足:
Fedora hard disk running out of space
正如我提到的,Fedora 官網建議安裝時分配 20GB 的磁盤空間。因為 8GB 是 Fedora 33 安裝啟動就需要的最少空間。沒有安裝其他軟件(除了 VirtualBox 增強功能)的一個新安裝的系統就幾乎占用了整個 8GB 的可用空間。這時候,不要打開 GNOME 軟件中心或任何其他可能從互聯網下載文件的東西。
幸運的是,我選擇了附帶有 LVM 的 Fedora,這樣我就可以用命令行輕松地修復這個問題。
要增加虛擬機中文件系統的空間,你必須先增加主機系統上分配的虛擬硬盤驅動器。
關閉虛擬機。如果你的主機系統運行的是 Windows,請打開終端,并進入到 ??C:\Program Files\Oracle\VirtualBox?
? 目錄下。使用以下命令,將磁盤大小擴大到 12,000MB:
然后啟動虛擬機,并打開“磁盤Disks”工具。你可以看到你剛剛新創建且未分配的可用空間。選擇“可用空間Free Space”,然后單擊 “+” 按鈕:
Free space before adding
現在,創建一個新的分區。選擇你要使用的可用空間的大?。?/p>
Creating a new partition and setting size
如果你不想在新分區上創建文件系統或任何其他內容,請選擇“其他Other”:
Selecting "other" for partition volume type
選擇“無文件系統No Filesystem”:
Setting "No filesystem" on new partition
現在,磁盤空間應該如下圖所示:
VirtualBox after adding new partition
虛擬機有了一個新的分區設備:??/dev/sda3?
??。通過輸入 ??vgscan?
?? ,來檢查你的 LVM 卷組,找到 ??fedora_localhost_live?
? 這一 LVM 卷組 :
Checking LVM volume group by typing vgscan:
現在,已經萬事俱備了。在新分區 ??/dev/sda3?
?? 中擴展卷組 ??fedora_localhost_live?
?:
vgextend command output
由于卷組比邏輯卷大,你可以增加邏輯卷的大小。命令 ??vgdisplay?
? 顯示了共有 951 個可用的物理擴展(PE):
vgdisplay command output
將邏輯卷增加 951 個物理擴展:
lvextend command output
在增加了邏輯卷后,最后一件事就是調整文件系統的大小:
resize2fs command output
這樣磁盤空間就增加完成了!檢查“磁盤使用分析器Disk Usage Analyzer”,你就可以看到擴展空間已經可用于文件系統了。
總結
使用虛擬機,你可以檢查在一個特定的操作系統或一個特定版本的操作系統、軟件是如何操作的。除此之外,你還可以嘗試任何想測試的 Linux 發行版,而不必擔心系統損壞。對于資深用戶來說,VirtualBox 在測試、網絡和模擬方面提供了廣泛的可能性。