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