
如果你是做開發(fā)、運維或者想折騰 Linux 環(huán)境VirtualBox 裝 Ubuntu 20.04 應(yīng)該是繞不開的一步。這次我們完整走一遍下載鏡像、創(chuàng)建虛擬機(jī)、安裝系統(tǒng)、裝增強(qiáng)功能、調(diào)網(wǎng)絡(luò)、解決常見坑全程按實測順序來每一步都給你判斷標(biāo)準(zhǔn)照做就能跑起來。1. VirtualBox 安裝 Ubuntu 20.04 核心信息速覽先把關(guān)鍵信息放在前面。做虛擬機(jī)方案之前你真正關(guān)心的無非是用什么軟件、用什么系統(tǒng)鏡像、吃多少資源、能不能遷移、裝完卡不卡。能力項說明宿主機(jī)平臺Windows、Linux、macOS 均可VirtualBox 提供跨平臺安裝包虛擬化軟件Oracle VirtualBox本文流程基于 VirtualBox 7.x 向?qū)Ы缑婵蛻魴C(jī)系統(tǒng)Ubuntu 20.04 LTS20.04.6 及同系列鏡像均可ISO 鏡像類型Ubuntu 官方桌面版 ISO 或服務(wù)器版 ISO推薦桌面版做日常學(xué)習(xí)和開發(fā)測試內(nèi)存分配建議4GB 起步8GB 體驗較好受宿主機(jī)物理內(nèi)存限制磁盤分配建議默認(rèn)動態(tài)分配即可建議初始分配 30GB 左右空間不足可后續(xù)擴(kuò)容CPU 分配建議 2 核起步編譯和多任務(wù)場景可給 4 核需宿主機(jī) CPU 支持并開啟 VT-x/AMD-V顯存設(shè)置VirtualBox 默認(rèn) 128MB 左右即可滿足桌面環(huán)境3D 加速按需開啟是否支持遷移支持VirtualBox 虛擬機(jī)文件可復(fù)制到另一臺宿主機(jī)重新導(dǎo)入但需要注意網(wǎng)卡和 UUID 問題啟動方式VirtualBox 圖形界面啟動也支持 VBoxManage 命令行啟動主要適合場景Linux 學(xué)習(xí)、Docker 環(huán)境、服務(wù)器開發(fā)、內(nèi)網(wǎng)測試、跑 CI 本地調(diào)試、操作系統(tǒng)課程實驗網(wǎng)絡(luò)模式NAT、橋接、內(nèi)部網(wǎng)絡(luò)、僅主機(jī)四種默認(rèn) NAT 可上網(wǎng)安裝后必做安裝增強(qiáng)功能、開啟雙向粘貼板、設(shè)置共享文件夾、支持自適應(yīng)分辨率需要明確一點VirtualBox 安裝 Ubuntu 20.04 屬于傳統(tǒng)虛擬化方案不是容器方案。虛擬機(jī)里跑的是完整內(nèi)核和宿主機(jī)彼此隔離適合需要 Linux 完整環(huán)境、內(nèi)核模塊、Docker 嵌套等場景。2. 適用場景與使用邊界VirtualBox 裝 Ubuntu 20.04 不是唯一選擇但它是很多人的入門首選。適合這么用剛開始學(xué) Linux 命令和服務(wù)器部署不想把宿主機(jī)搞壞。需要 Ubuntu 20.04 環(huán)境跑 Docker、MySQL、Redis、Nginx 等常見服務(wù)。做操作系統(tǒng)課程實驗管理考試環(huán)境。想試 Ubuntu 桌面版又不想雙系統(tǒng)。做局域網(wǎng)內(nèi)網(wǎng)測試需要一臺獨立 IP 的虛擬機(jī)。實驗性安裝 Python、CUDA 開發(fā)環(huán)境后續(xù)可以隨時刪掉重建。有些場景不適合需要高頻訪問顯卡做 AI 訓(xùn)練和推理VirtualBox 的 GPU 穿透能力有限更建議 Windows WSL2 或裸機(jī) Linux。需要極致磁盤 IO虛擬磁盤存在性能損耗大規(guī)模數(shù)據(jù)庫壓測建議換原生環(huán)境或使用 Docker on Linux。需要直接讀取宿主機(jī) USB 加密狗和設(shè)備驅(qū)動需要額外加裝擴(kuò)展包和 USB 過濾器不是開箱即用。安全和合規(guī)邊界也要注意安裝的 Ubuntu 系統(tǒng)請從官方渠道下載 ISO。虛擬機(jī)里的服務(wù)不要隨意映射到公網(wǎng)默認(rèn) NAT 不會暴露端口橋接模式則要自己做好防火墻。共享文件夾會把宿主機(jī)目錄暴露給虛擬機(jī)只給最小讀寫權(quán)限不要共享整個磁盤。如果在虛擬機(jī)里運行爬蟲、掃描器、代理類工具務(wù)必確認(rèn)使用邊界和授權(quán)范圍不要用于未授權(quán)目標(biāo)。鏡像文件、課程環(huán)境、許可證問題需要確認(rèn)來源合規(guī)。3. 環(huán)境準(zhǔn)備與前置條件在正式動手之前先把宿主機(jī)和軟件準(zhǔn)備到位。VirtualBox 安裝 Ubuntu 20.04 不需要太高的服務(wù)器配置普通辦公電腦即可但下面幾項直接影響體驗。3.1 操作系統(tǒng)與硬件VirtualBox 支持 Windows、macOS、Linux 宿主機(jī)。Windows 10/11 和主流 Linux 發(fā)行版都沒有問題。比較關(guān)鍵的是 CPU 虛擬化Intel CPUBIOS 里開啟 VT-x。AMD CPUBIOS 里開啟 SVMAMD-V??梢栽谌蝿?wù)管理器 - 性能 - CPU 里查看“虛擬化”是否已啟用。如果沒有開啟后面啟動虛擬機(jī)時會直接報錯提示“VT-x is not available”或者類似信息這類錯誤排查放在常見問題里具體講。內(nèi)存方面宿主機(jī) 8GB 起步比較穩(wěn)妥16GB 內(nèi)存跑虛擬機(jī)會更自在。給虛擬機(jī)分配內(nèi)存時不要讓宿主機(jī)內(nèi)存見底。磁盤空間建議預(yù)留 50GB 以上因為 Ubuntu 20.04 系統(tǒng)本身占 10GB 左右再安裝開發(fā)工具、Docker 鏡像后會快速膨脹。注意以下安裝步驟以 Windows 11 宿主機(jī)為例但操作流程在 Linux 和 macOS 宿主機(jī)上基本一致只是安裝包格式和菜單名稱略有差別。3.2 下載 VirtualBox 安裝包VirtualBox 的官網(wǎng)地址固定進(jìn)入 Downloads 頁面后選擇對應(yīng)宿主機(jī)平臺的安裝包。Windows 用戶下載 exeLinux 用戶選擇對應(yīng)發(fā)行版的包。如果你需要擴(kuò)展包比如 USB 3.0 支持、RDP 遠(yuǎn)程桌面下載同一個版本的 Extension Pack這個后面安裝增強(qiáng)功能時也可能用到。安裝過程沒有特殊選項按默認(rèn)下一步即可。安裝時會提示網(wǎng)絡(luò)接口警告這是因為 VirtualBox 要安裝虛擬網(wǎng)卡驅(qū)動點擊安裝即可。3.3 下載 Ubuntu 20.04 LTS 鏡像Ubuntu 20.04 是 LTS 版本支持周期長軟件源穩(wěn)定很多教程和服務(wù)器環(huán)境都基于它。下載位置在 Ubuntu 官方 Releases 頁面當(dāng)前 20.04.x 的桌面版和服務(wù)器版都在這里。注意區(qū)分架構(gòu)x86_64 架構(gòu)絕大多數(shù)電腦選這個。ARM 架構(gòu)需要下載 ARM64 鏡像但 VirtualBox 在 Windows 宿主機(jī)上主要支持 x86_64ARM 場景建議先確認(rèn)你的 VirtualBox 版本是否支持。桌面版后綴類似ubuntu-20.04.6-desktop-amd64.iso服務(wù)器版后綴類似ubuntu-20.04.6-live-server-amd64.iso。日常學(xué)習(xí)和桌面體驗選 desktop純服務(wù)器環(huán)境選 live-server。下載完成后校驗一下 SHA256 值避免鏡像文件不完整導(dǎo)致安裝中途失敗。Windows 下可以用 PowerShellGet-FileHash .\ubuntu-20.04.6-desktop-amd64.iso -Algorithm SHA256和官方頁面給的哈希值對比一致再繼續(xù)操作。3.4 檢查端口與默認(rèn)設(shè)置VirtualBox 管理界面通過 GUI 操作一般不占額外端口。VM 內(nèi)部的 SSH 默認(rèn)走 22 端口如果開啟了 NAT 端口轉(zhuǎn)發(fā)需要保證宿主機(jī) 22 端口沒被系統(tǒng)服務(wù)占用。安裝階段可以先不設(shè)置端口轉(zhuǎn)發(fā)裝完系統(tǒng)后再按需添加。4. VirtualBox 創(chuàng)建虛擬機(jī)與安裝 Ubuntu 20.04環(huán)境準(zhǔn)備好了下面進(jìn)入實操。整個流程按順序做不需要額外命令全部在 VirtualBox 圖形界面完成。4.1 新建虛擬機(jī)打開 VirtualBox點擊“新建”。名稱填寫Ubuntu20.04VirtualBox 會自動識別類型為 Linux版本為 Ubuntu (64-bit)。如果識別不對手動選擇 Linux 和 Ubuntu (64-bit)。文件夾默認(rèn)放在用戶目錄下的VirtualBox VMs如果 C 盤空間緊張建議改到其他盤例如D:\VirtualMachines。ISO 鏡像選擇剛才下載的 Ubuntu 20.04 ISO 文件。點擊下一步后設(shè)置硬件參數(shù)。內(nèi)存大小推薦 4096 MB4GB。如果你的宿主機(jī)內(nèi)存只有 8GB可以分 4GB如果 16GB 以上分 8GB 體驗更好。處理器核心數(shù)推薦 2 個如果宿主機(jī) CPU 核心足夠多可以給 4 個但不要超過宿主機(jī)物理核心數(shù)的一半避免把宿主機(jī)拖死。虛擬硬盤選擇“現(xiàn)在創(chuàng)建虛擬硬盤”硬盤文件類型選 VDI存儲方式選“動態(tài)分配”初始大小 30GB。動態(tài)分配的意思是剛開始文件很小實際用到多少才增長多少不會瞬間占滿 30GB 磁盤空間。參數(shù)配置好后點擊“完成”。4.2 修改虛擬機(jī)顯示設(shè)置虛擬機(jī)創(chuàng)建完后先別急著啟動。在設(shè)置里把下面幾項調(diào)好能省掉很多后續(xù)麻煩。進(jìn)入“設(shè)置 - 顯示”顯存大小調(diào)整到 128MB。圖形控制器默認(rèn) VMSVGA 即可支持 Ubuntu 20.04 桌面環(huán)境。加速3D 加速可以根據(jù)需要勾選如果安裝增強(qiáng)功能后桌面卡頓可以嘗試關(guān)閉 3D 加速。進(jìn)入“設(shè)置 - 存儲”確認(rèn) Ubuntu 20.04 ISO 已經(jīng)掛在光驅(qū)位置。如果沒有點擊光驅(qū)圖標(biāo)選擇“選擇磁盤文件”把 ISO 加進(jìn)去。進(jìn)入“設(shè)置 - 網(wǎng)絡(luò)”默認(rèn)“NAT 網(wǎng)絡(luò)”即可。NAT 模式能讓虛擬機(jī)通過宿主機(jī)共享網(wǎng)絡(luò)上網(wǎng)虛擬機(jī)啟動后 DHCP 自動獲取 IP不需要額外配置。4.3 啟動安裝 Ubuntu 20.04點擊“啟動”。第一次啟動時VirtualBox 可能彈出“選擇啟動盤”對話框選擇 Ubuntu 20.04 ISO 后回車。啟動后進(jìn)入 Ubuntu 安裝界面流程如下第一步選擇語言并點擊“安裝 Ubuntu”。第二步鍵盤布局默認(rèn) English (US) 或 Chinese按自己習(xí)慣選擇。第三步更新和其他軟件。這里建議選“正常安裝”網(wǎng)絡(luò)下載更新可以臨時不勾選安裝完系統(tǒng)后再統(tǒng)一更新速度更快更可控。第四步安裝類型。如果是全新的虛擬磁盤直接選“清除整個磁盤并安裝 Ubuntu”這是最省事的方案。你不需要擔(dān)心宿主機(jī)磁盤被清掉這里的“整個磁盤”指的是虛擬硬盤不是物理硬盤。第五步選擇時區(qū)為 Shanghai點擊繼續(xù)。第六步填寫用戶名、計算機(jī)名、密碼。這些信息要記住后面登錄系統(tǒng)和管理員權(quán)限都要用到。點擊“繼續(xù)”后Ubuntu 開始安裝。安裝過程取決于磁盤速度和 ISO 讀取速度通常 5 到 15 分鐘。安裝完成后提示重啟點擊“現(xiàn)在重啟”。如果重啟時提示“請移除安裝介質(zhì)”直接把光驅(qū)里的 ISO 移除或者關(guān)閉虛擬機(jī)后手動移除再啟動。4.4 安裝完成后的首次啟動重啟后進(jìn)入 Ubuntu 20.04 桌面輸入剛才設(shè)置的用戶名和密碼登錄。到這里VirtualBox 安裝 Ubuntu 20.04 的“最小可用系統(tǒng)”已經(jīng)完成。但此時系統(tǒng)還是原始狀態(tài)分辨率和宿主機(jī)不一致粘貼板不互通也沒有共享文件夾這些都要通過安裝增強(qiáng)功能解決。5. 安裝 VirtualBox 增強(qiáng)功能增強(qiáng)功能是 VirtualBox 集成工具的統(tǒng)稱裝好之后有四個直觀收益支持自適應(yīng)分辨率虛擬機(jī)窗口可以隨意拉伸。支持宿主機(jī)和虛擬機(jī)雙向共享粘貼板。支持拖拽文件。優(yōu)化鼠標(biāo)切換、屏幕刷新和顯卡驅(qū)動。5.1 安裝步驟在 Ubuntu 20.04 虛擬機(jī)頂部的菜單欄點擊“設(shè)備 - 安裝增強(qiáng)功能”。VirtualBox 會加載一個虛擬光盤VBox_GAs_6.x.xUbuntu 桌面版會自動彈出光盤窗口或者在文件管理器側(cè)邊欄能看到。如果圖標(biāo)沒有自動運行打開文件管理器進(jìn)入光盤目錄在空白處右鍵打開終端執(zhí)行l(wèi)s你會看到VBoxLinuxAdditions.run這個腳本。運行它需要 root 權(quán)限和若干編譯依賴所以先裝依賴sudo apt update sudo apt install -y build-essential dkms linux-headers-$(uname -r)依賴裝完后執(zhí)行腳本sudo bash ./VBoxLinuxAdditions.run等待腳本執(zhí)行完成看到類似Building the VirtualBox Guest Additions kernel modules和Successfully installed的時候說明安裝成功。重啟虛擬機(jī)使模塊生效sudo reboot重啟后在虛擬機(jī)菜單欄“設(shè)備 - 共享粘貼板”里選擇“雙向”再拖一下窗口試試分辨率變化。5.2 增強(qiáng)功能安裝失敗的常見原因如果你執(zhí)行VBoxLinuxAdditions.run時提示找不到內(nèi)核頭文件通常是因為內(nèi)核頭文件沒裝好。確認(rèn)一下uname -r apt list --installed | grep linux-headers如果實際運行的內(nèi)核版本和linux-headers-$(uname -r)不一致重新執(zhí)行安裝命令sudo apt install -y linux-headers-$(uname -r)另外要注意Ubuntu 自動更新內(nèi)核后需要重新編譯增強(qiáng)功能模塊。建議裝完增強(qiáng)功能后暫時不要更新內(nèi)核等工作穩(wěn)定后再做系統(tǒng)更新。5.3 設(shè)置共享文件夾共享文件夾用于在宿主機(jī)和虛擬機(jī)之間傳文件。先關(guān)閉虛擬機(jī)的“設(shè)置 - 共享文件夾”點擊右上角“添加共享文件夾”圖標(biāo)。選擇宿主機(jī)上的一個目錄比如D:\share勾選“自動掛載”和“固定分配”。如果想讓虛擬機(jī)有寫權(quán)限勾選“讀寫”。在虛擬機(jī)里共享文件夾默認(rèn)掛載在/media/用戶名/sf_share但由于權(quán)限控制當(dāng)前用戶可能沒有直接訪問權(quán)限。把用戶加入 vboxsf 組即可sudo usermod -aG vboxsf $USER退出重新登錄訪問/media/用戶名/sf_share應(yīng)該能看到宿主機(jī)D:\share里的文件并且可以讀寫。6. 安裝后的基礎(chǔ)配置與網(wǎng)絡(luò)設(shè)置基礎(chǔ)系統(tǒng)跑起來了不等于能直接用還需要做幾項配置尤其是軟件源、SSH 和剪貼板功能。6.1 更換 apt 軟件源默認(rèn)軟件源在國外國內(nèi)更新速度可能比較慢。把軟件源換成國內(nèi)鏡像源比如清華源、阿里源或中科大源。下面以清華源為例。先備份源文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak編輯源文件sudo sed -i s//.*archive.ubuntu.com//mirrors.tuna.tsinghua.edu.cng; s//security.ubuntu.com//mirrors.tuna.tsinghua.edu.cng /etc/apt/sources.list執(zhí)行更新sudo apt update sudo apt upgrade -y如果你經(jīng)常訪問國外軟件源也可以保持默認(rèn)不換源問題也不大。6.2 啟用 SSH 服務(wù)如果你想從宿主機(jī)用終端連接虛擬機(jī)需要安裝 SSH 服務(wù)sudo apt install -y openssh-server sudo systemctl enable ssh --now查看虛擬機(jī) IPip a如果你用的是 NAT 網(wǎng)絡(luò)模式宿主機(jī)無法直接訪問虛擬機(jī)需要設(shè)置端口轉(zhuǎn)發(fā)。常見做法是宿主機(jī) 2222 端口轉(zhuǎn)發(fā)到虛擬機(jī) 22 端口。在 VirtualBox 的設(shè)置 - 網(wǎng)絡(luò) - 高級 - 端口轉(zhuǎn)發(fā)里添加規(guī)則名稱ssh協(xié)議TCP主機(jī) IP127.0.0.1主機(jī)端口2222子系統(tǒng) IP留空或填虛擬機(jī)的 NAT 內(nèi)網(wǎng) IP子系統(tǒng)端口22之后宿主機(jī)的 SSH 命令ssh -p 2222 用戶名127.0.0.1如果虛擬機(jī)用的是“橋接模式”它會直接出現(xiàn)在局域網(wǎng)像一臺獨立主機(jī)一樣可以直接用局域網(wǎng) IP 訪問省去端口轉(zhuǎn)發(fā)。6.3 驗證虛擬機(jī)能否正常上網(wǎng)Ubuntu 20.04 默認(rèn) NAT 模式可聯(lián)網(wǎng)。測試命令ping -c 4 archive.ubuntu.com ping -c 4 mirrors.tuna.tsinghua.edu.cn如果 ping 不通檢查以下內(nèi)容虛擬網(wǎng)卡是否啟用了 DHCP。宿主機(jī)防火墻是否攔截了 VirtualBox。VirtualBox 網(wǎng)絡(luò)模式是否意外改成了“未連接”。6.4 檢查系統(tǒng)版本與內(nèi)核驗證當(dāng)前系統(tǒng)信息lsb_release -a uname -a如果顯示Ubuntu 20.04.x LTS說明系統(tǒng)安裝成功。7. VirtualBox 網(wǎng)絡(luò)模式選擇與端口轉(zhuǎn)發(fā)網(wǎng)絡(luò)配置是虛擬機(jī)使用中最容易出問題的地方這里單獨展開說一下。VirtualBox 有四種網(wǎng)絡(luò)模式工作方式不同適用場景也不同。網(wǎng)絡(luò)模式虛擬機(jī)能否上外網(wǎng)宿主機(jī)能否訪問虛擬機(jī)局域網(wǎng)設(shè)備能否訪問虛擬機(jī)適用場景NAT能不能直接訪問需端口轉(zhuǎn)發(fā)不能默認(rèn)模式適合下載軟件、系統(tǒng)更新橋接能能直接用虛擬機(jī)局域網(wǎng) IP能需要局域網(wǎng)互動測試僅主機(jī) Host-Only不能訪問外網(wǎng)能不能測試內(nèi)網(wǎng)服務(wù)、隔離環(huán)境內(nèi)部網(wǎng)絡(luò)不能訪問外網(wǎng)不能直接用不能多臺虛擬機(jī)內(nèi)部通信測試日常使用默認(rèn) NAT 就足夠。但如果要用 SSH 從宿主機(jī)直接連接虛擬機(jī)就需要學(xué)會端口轉(zhuǎn)發(fā)或者直接切換到橋接模式。橋接模式的好處是虛擬機(jī)就像局域網(wǎng)里的一臺真實電腦缺點是虛擬機(jī)完全暴露在局域網(wǎng)內(nèi)需要自己做好防火墻。如果你在多臺宿主機(jī)之間遷移虛擬機(jī)會發(fā)現(xiàn)網(wǎng)卡名稱變了比如從enp0s3變成enp0s8。這是因為 VirtualBox 給每個虛擬網(wǎng)卡分配了固定的 MAC 和 PCI 地址。遷移后如果是讓 Ubuntu 重新識別新硬件sudo rm -f /etc/udev/rules.d/70-persistent-net.rules然后重啟虛擬機(jī)。當(dāng)然這個問題在較新的 Ubuntu 上已經(jīng)不太常見但遇到網(wǎng)絡(luò)不通時可以按這個思路排查。8. 資源占用與性能優(yōu)化虛擬機(jī)性能是一個相對概念取決于宿主機(jī)配置、分配資源和操作系統(tǒng)負(fù)載。8.1 資源占用觀察方法在虛擬機(jī)運行時可以通過任務(wù)管理器觀察宿主機(jī) CPU、內(nèi)存和磁盤使用情況。在虛擬機(jī)內(nèi)部可以通過top、htop、free -h查看實際使用。free -h htop裝完桌面環(huán)境并打開瀏覽器虛擬機(jī)內(nèi)存占用通常在 1GB 到 2GB 之間空閑桌面大概 800MB 到 1.2GB。這只是普遍的觀察經(jīng)驗具體數(shù)字受桌面環(huán)境、后臺服務(wù)、已安裝軟件影響以你自己的測試為準(zhǔn)。如果內(nèi)存不夠用系統(tǒng)會開始使用 swap這時候桌面會明顯卡頓。建議把虛擬機(jī)的內(nèi)存分配到宿主機(jī)物理內(nèi)存的一半以內(nèi)并且保留至少 2GB 給宿主機(jī)。8.2 性能優(yōu)化建議處理器核心數(shù)從 2 核開始編譯任務(wù)時再增加到 4 核。顯存 128MB開啟 3D 加速能改善桌面渲染和視頻播放。虛擬磁盤默認(rèn) VDI 動態(tài)分配性能一般。固態(tài)硬盤上體驗更好如果感覺磁盤 IO 慢可以嘗試把虛擬磁盤文件遷移到 SSD 目錄中并保持至少 20% 空閑空間。如果不需要桌面環(huán)境建議用 Ubuntu Server 版安裝比桌面版流暢得多。不要同時運行多個大型虛擬機(jī)虛擬化環(huán)境本身會疊加內(nèi)存和 CPU 開銷。增強(qiáng)功能必裝少了它桌面鼠標(biāo)切換和分辨率適配會很難受。8.3 減少虛擬機(jī)卡頓的排查順序如果你覺得虛擬機(jī)里操作卡頓按以下順序檢查先看宿主機(jī)資源占用是不是內(nèi)存已經(jīng)滿了再看虛擬機(jī)分配的內(nèi)存和 CPU 是否足夠然后確認(rèn)增強(qiáng)功能是否安裝成功最后檢查磁盤剩余空間。大部分卡頓問題出在內(nèi)存不足或者沒有安裝增強(qiáng)功能。9. 常見問題與排查方法把實操中經(jīng)常遇到的坑整理成表格遇到問題直接對照處理。問題現(xiàn)象可能原因排查方式解決方案啟動虛擬機(jī)提示 VT-x/AMD-V 不可用BIOS 未開啟虛擬化任務(wù)管理器查看虛擬化狀態(tài)重啟進(jìn) BIOS開啟 VT-x/AMD-V 后重啟宿主機(jī)提示“未能啟動虛擬電腦可能缺少操作系統(tǒng)”沒有掛載 Ubuntu ISO或者 ISO 損壞查看存儲設(shè)置里是否有 ISO校驗 ISO 哈希重新掛載官方 ISO確認(rèn) SHA256Ubuntu 安裝界面黑屏或花屏顯存不足或圖形控制器不匹配嘗試降低顯存大小或切換圖形控制器設(shè)置顯存 128MB圖形控制器切到 VMSVGA安裝完成后重啟卡在“移除安裝介質(zhì)”光驅(qū)仍掛著 ISO在存儲設(shè)置里移除 ISO關(guān)閉虛擬機(jī)彈出 ISO 后重新啟動虛擬機(jī)增強(qiáng)功能安裝失敗缺少編譯工具和內(nèi)核頭文件查看/var/log/vboxadd-setup.log安裝 build-essential、dkms、linux-headers虛擬機(jī)無法上網(wǎng)網(wǎng)絡(luò)模式為未連接或 DHCP 異常執(zhí)行ip a查看網(wǎng)卡狀態(tài)網(wǎng)絡(luò)模式切為 NAT重啟網(wǎng)絡(luò)服務(wù)宿主機(jī)無法 SSH 到虛擬機(jī)NAT 模式下未配置端口轉(zhuǎn)發(fā)檢查端口轉(zhuǎn)發(fā)規(guī)則添加 2222 到 22 的 TCP 轉(zhuǎn)發(fā)規(guī)則虛擬機(jī)和宿主機(jī)復(fù)制粘貼無效增強(qiáng)功能未安裝或粘貼板方向設(shè)置錯誤檢查增強(qiáng)功能運行狀態(tài)安裝增強(qiáng)功能設(shè)置共享粘貼板為“雙向”虛擬機(jī)里共享文件夾不顯示用戶不在 vboxsf 組執(zhí)行g(shù)roups $USER執(zhí)行sudo usermod -aG vboxsf $USER并重啟遷移虛擬機(jī)到另一臺宿主機(jī)后網(wǎng)絡(luò)不通虛擬網(wǎng)卡 MAC 和 udev 規(guī)則沖突查看ip a檢查網(wǎng)卡名稱刪除70-persistent-net.rules重啟網(wǎng)絡(luò)服務(wù)安裝 docker 后網(wǎng)絡(luò)功能異常Ubuntu 20.04 內(nèi)核中 iptables 版本變化執(zhí)行sudo docker run hello-world查看錯誤日志配置 iptables-legacy 或調(diào)整 docker 網(wǎng)絡(luò)配置虛擬機(jī)里鼠標(biāo)被“捕獲”退出不了增強(qiáng)功能未安裝按右側(cè) Ctrl 鍵釋放鼠標(biāo)安裝增強(qiáng)功能以上問題覆蓋了從創(chuàng)建虛擬機(jī)到日常使用的主要故障點新手遇到報錯時不要慌先看錯誤彈窗里的關(guān)鍵詞再對照表格處理。10. 最佳實踐與使用建議作為一個長期使用 VirtualBox 和 Ubuntu 的組合方案給你幾個工程化建議能少走很多彎路。第一第一次測試不要追求大配置。先用 2 核 4GB 內(nèi)存 30GB 動態(tài)磁盤跑通全流程確認(rèn)沒問題后再按需調(diào)整。第二保留一份最小可運行配置。系統(tǒng)裝好后如果沒問題可以把整個虛擬機(jī)目錄復(fù)制一份備份或者用 VirtualBox 的“導(dǎo)出”功能導(dǎo)出為 OVA 文件。以后環(huán)境搞壞了直接重新導(dǎo)入而不是重裝系統(tǒng)。第三模型文件、ISO 鏡像、虛擬機(jī)磁盤文件、共享文件夾分開存放。不要全部堆在系統(tǒng)盤。VirtualBox 默認(rèn)把虛擬機(jī)放在用戶目錄機(jī)箱緊張時遷移到其他盤可以減小 C 盤壓力。第四批量創(chuàng)建虛擬機(jī)時盡量使用無人值守安裝和 VBoxManage 命令。單個虛擬機(jī)用圖形界面沒問題但如果你需要同時創(chuàng)建多個環(huán)境手動點界面的效率太低。VBoxManage 創(chuàng)建虛擬機(jī)的通用命令模板VBoxManage createvm --name Ubuntu20.04-auto --ostype Ubuntu_64 --register VBoxManage modifyvm Ubuntu20.04-auto --memory 4096 --cpus 2 --vram 128 VBoxManage createhd --filename Ubuntu20.04-auto.vdi --size 30720 --format VDI VBoxManage storagectl Ubuntu20.04-auto --name SATA --add sata --controller IntelAhci VBoxManage storageattach Ubuntu20.04-auto --storagectl SATA --port 0 --device 0 --type hdd --medium Ubuntu20.04-auto.vdi VBoxManage storageattach Ubuntu20.04-auto --storagectl SATA --port 1 --device 0 --type dvddrive --medium ubuntu-20.04.6-desktop-amd64.iso VBoxManage modifyvm Ubuntu20.04-auto --nic1 nat VBoxManage startvm Ubuntu20.04-auto注意上面命令里的虛擬機(jī)名、路徑、ISO 文件需要按你的實際環(huán)境替換不同平臺和 VirtualBox 版本參數(shù)細(xì)節(jié)會有差異建議先查看幫助文檔確認(rèn)。第五引入自動化配置管理。虛擬機(jī)裝好后可以用 Ansible 或者 shell 腳本統(tǒng)一安裝常用軟件、配置源、設(shè)置防火墻規(guī)則。這樣每臺新虛擬機(jī)的交付成本會低很多。第六日常使用注意安全。虛擬機(jī)默認(rèn) NAT 模式比較安全如果切換橋接模式請確認(rèn) Ubuntu 防火墻已啟用sudo ufw enable sudo ufw allow 22/tcp不要在橋接模式下暴露不安全的服務(wù)。第七遇到虛擬機(jī)和宿主機(jī)之間網(wǎng)絡(luò)不通時先把網(wǎng)絡(luò)模式切回 NAT確認(rèn)能上網(wǎng)后再排查橋接問題。一個穩(wěn)定可用的環(huán)境比復(fù)雜的網(wǎng)絡(luò)拓?fù)涓匾?。第八使用快照功能。在安裝增強(qiáng)功能、配置基礎(chǔ)環(huán)境、安裝大型軟件之前分別打一個快照出錯時直接恢復(fù)到上一個狀態(tài)比重新安裝省很多時間。11. 總結(jié)與下一步VirtualBox 安裝 Ubuntu 20.04 的成功路徑很明確下載官方 ISO創(chuàng)建虛擬機(jī)掛載 ISO安裝系統(tǒng)安裝增強(qiáng)功能按需調(diào)整網(wǎng)絡(luò)。整個過程不涉及高深命令但容易在 BIOS 虛擬化、ISO 掛載、增強(qiáng)功能依賴這三個環(huán)節(jié)踩坑。建議拿到虛擬機(jī)后先按優(yōu)先級驗證幾件事執(zhí)行uname -a和lsb_release -a確認(rèn)系統(tǒng)版本和內(nèi)核版本。執(zhí)行ping命令確認(rèn)網(wǎng)絡(luò)連通性。安裝增強(qiáng)功能后測試復(fù)制粘貼和窗口縮放。配置 SSH 并嘗試從宿主機(jī)遠(yuǎn)程連接。安裝 Docker 并跑一個hello-world容器確認(rèn)虛擬化環(huán)境能支撐容器服務(wù)。這套環(huán)境搭好之后后續(xù)可以繼續(xù)擴(kuò)展安裝 Ubuntu Server 做無桌面服務(wù)器、用 Vagrant 管理虛擬機(jī)、配置多臺虛擬機(jī)組成內(nèi)網(wǎng)集群、或者把 Ubuntu 20.04 作為 Docker 宿主環(huán)境。VirtualBox 和 Ubuntu 20.04 的組合不復(fù)雜但它能承載的實踐內(nèi)容非常多值得花時間把它配置成一個穩(wěn)定的日常開發(fā)環(huán)境。