ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

VirtualBox安装Ubuntu 20.04全流程:参数优化与增强功能故障排查

2026/8/29 2:19:23 拓冰建站 浏览量
VirtualBox安装Ubuntu 20.04全流程:参数优化与增强功能故障排查 入手 VirtualBox 折腾 Ubuntu 20.04 的人绝大多数不是想当专业运维而是被项目环境逼到这一步的ROS 机器人开发、嵌入式交叉编译、课程实验、跑老版本神经网络推理代码、复现论文里的 Linux 环境还有单纯想体验一下 Linux 而不想给 Windows 重装系统。但很多人第一个周末就卡住了。我见过太多类似场景镜像下载好了、虚拟机也建了结果启动后黑屏、卡在 Ubuntu Logo、装增强功能时提示缺少内核头文件、分辨率一直 800x600、拖拽复制完全失效。这些问题十有八九不是你没有技术天赋而是对 VirtualBox 和 Ubuntu 20.04 的配合机制理解得不够。换言之装系统不难难的是让系统在你的台式机上被稳定、流畅地运行起来。这篇文章我不想写成那种一步步截图配文的教程而是想把 VirtualBox 安装 Ubuntu 20.04 全流程拆给你看为什么选这个组合、下载什么文件、建虚机时哪些参数最影响体验、安装系统时哪些选项可以放心跳过以及装完之后最应该做的三件事。如果你之前装过但翻车了直接跳到第 7 章对照排查。先说一个明确判断对这个组合来说官方默认设置往往不是最优的特别是在“磁盘预分配”“显存大小”“3D 加速”这几个选项上只要稍微调整后续体验会完全不同。1. 这篇文章真正要解决的问题先说为什么这个主题值得写。Ubuntu 20.04 是 2020 年发布的 LTSLong Term Support版本官方支持周期到 2030 年。也就是说即使现在已经过了最初发布的热潮它仍然是很多教学文档、ROS Noetic 教程、嵌入式 SDK、深度学习旧依赖的首选系统。而 VirtualBox则是目前对个人开发者最友好、最容易上手的虚拟机方案。这两个软件组合在一起解决了三类真实痛点第一种你只有一台 Windows 电脑但课程或项目要求在 Linux 环境下开发。双系统不是不行但重启切换的代价太高而且在笔记本上驱动偶尔会掉链子。虚拟机的最大价值不是性能而是“隔离感”你不怕把它弄坏出了问题直接删掉重新建一个就行。第二种你需要在多个环境之间反复切换。比如一个项目要 Ubuntu 18.04 验证另一个要 20.04还有一个要 CentOS。物理机上做多系统太痛苦但 VirtualBox 上每个环境就是一个文件夹随用随挂。第三种你担心自己的操作会影响主力系统。比如安装 ROS、修改内核参数、测试网络服务这些操作在虚拟机上做再安全不过了。它的可回滚性快照是物理机无法比拟的。当然我必须先把结论说清楚VirtualBox 不适合所有人。如果你的目标是深度学习训练、大型 Android 模拟器、或者需要频繁访问 GPU请优先考虑 WSL 2 或双系统。VirtualBox 的图形性能是它最大的短板哪怕装了增强功能也只是“可用”而不是“流畅”。适合 VirtualBox 的场景是那些以 Linux 命令行、编译环境、服务器软件、ROS 基础操作、网络实验为主的工作。2. 基础概念与前置知识很多人上来就下载安装遇到报错时一脸懵原因就是对 VirtualBox 的几个关键机制理解不够。这里我用尽量通俗的方式讲清楚。2.1 VirtualBox 是什么VirtualBox 是 Oracle 公司维护的开源虚拟机软件本质是一个运行在宿主机Host上的应用程序。它通过虚拟化技术在 Intel 芯片上依赖 VT-x在 AMD 芯片上依赖 AMD-V模拟出一整套电脑硬件包括 CPU、内存、硬盘、网卡、声卡、显卡然后在这个虚拟硬件上安装客户机操作系统Guest OS。理解这个架构之后很多问题就迎刃而解了其一你给虚拟机分配的内存不能超过宿主机的实际物理内存否则 Window 自己都不够用虚机自然卡。其二虚拟硬盘只是宿主机上的一个文件默认是 .vdi 格式删除虚拟机不等于删除文件这个特性让备份和迁移变得非常灵活。其三虚拟机的“启动 BIOS”和 U 盘启动原理很像它有一个启动顺序如果光驱ISO 镜像不在硬盘之前系统就永远会从硬盘启动导致“可能缺少操作系统”的报错。2.2 Ubuntu 20.04 LTS 的特点Ubuntu 20.04 LTS 的升级周期比 Ubuntu 18.04 更合理生态也更完善。其采用 Linux 5.4 内核用户空间工具链比较新同时没有 Ubuntu 22.04 那么激进。如果你要做 ROS 开发20.04 直接对应 ROS Noetic是目前很多工业项目和教学环境的默认配置如果你想做嵌入式开发很多 SDK 官方给的也是 Ubuntu 20.04 的编译环境。更重要的是20.04 比 18.04 对虚拟机环境的兼容性好很多尤其是对 virtio 驱动、UEFI 支持的改进。所以如果你纠结版本我建议日常学习、ROS 开发、命令行工具为主选 20.04想折腾最新桌面和软件选 22.04 甚至 24.04 也可以但本文不展开。2.3 增强功能Guest Additions的意义增强功能是 VirtualBox 给虚拟机里安装的一个驱动和工具包相当于给 VMware 的 VMware Tools。安装之后才有以下提升显示器分辨率可以自适应窗口大小、鼠标可以在宿主机和虚拟机之间无缝切换、支持拖拽文件和共享剪贴板、启用 3D 加速、性能有优化。不装增强功能的虚拟机就像一台没有显卡驱动的 Windows能用但非常难受。所以第 5 章我把它单独拎出来讲。3. 环境准备与版本选择开始安装之前先把下载和版本问题说清楚这是很多坑的源头。3.1 下载 VirtualBox访问 VirtualBox 官方网站 Download 页面选择适合 Windows / macOS / Linux 的安装包。热搜词里出现的 5.2.44 是比较老的版本不建议新用户使用因为旧版对新硬件和 Ubuntu 20.04 的支持不完整。当前主流版本以 6.x 和 7.x 为主版本请以官方网站为准。有个细节网页上会有 Windows hosts、Linux hosts 等不同安装包别下载错分类。如果你在 Windows 上安装选 Windows hosts 即可。安装过程一路 Next但建议注意两点安装到默认路径以外的位置可以但路径不要包含中文或空格否则后续容易出莫名其妙的问题。安装过程中会提示安装 VirtualBox USB 驱动等组件保持默认不要去掉勾选。3.2 下载 Ubuntu 20.04 镜像Ubuntu 20.04 LTS 的官方镜像文件通常在 releases 页面文件名类似ubuntu-20.04.x-desktop-amd64.iso其中desktop是带桌面版的很多人只需要服务器功能的话也可以选live-server版本但本文以桌面版为例。国内用户在官网下载镜像可能较慢推荐使用国内镜像站。常见的有清华 TUNA 镜像源、阿里云镜像站路径大致是https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04/或https://mirrors.aliyun.com/ubuntu-releases/20.04/。文件较大建议用下载工具或浏览器断点续传。我不会给出具体旧版本号因为 20.04 还会有累计更新的 Point Release比如 20.04.x你只需要选择最新的 20.04 Point Release 桌面版即可。较早的 20.04.0 镜像有一些已知的内核和驱动问题建议选择后续更新的镜像文件。3.3 检查 CPU 虚拟化是否开启VirtualBox 运行的前提是宿主机 CPU 开启了虚拟化支持。Windows 上可以打开任务管理器 → 性能 → CPU 选项卡查看“虚拟化”是否处于“已启用”状态。如果显示“已禁用”需要进入 BIOS/UEFI 设置开启 Intel VT-xIntel 平台或 AMD-VAMD 平台功能。这一步是排查“虚拟机启动时出现严重错误”的常见手段。4. 创建虚拟机与安装 Ubuntu 20.044.1 新建虚拟机注意这几个参数打开 VirtualBox点击“新建”按钮填写名称例如Ubuntu20.04然后设置如下参数。参数项建议值说明类型Linux让 VirtualBox 自动匹配系统版本Ubuntu (64-bit)如果只有 32-bit 选项说明宿主机或虚拟化未正确开启内存大小4096 MB 及以上至少 2048 MB8GB 内存的宿主机最多给 4096 MB虚拟硬盘现在创建虚拟硬盘也可以稍后挂载已有 .vdi 文件硬盘文件类型VDIVirtualBox 原生格式迁移方便存储在物理硬盘上动态分配更省空间不建议预分配满磁盘大小25GB - 50GB按需要选择如果规划装 ROS 等大工具建议 50GB为什么动态分配而不是固定大小因为固定大小会立刻占用宿主机磁盘空间而动态分配在刚安装时占用的空间很小随着虚拟机使用逐渐增长。虽然固定大小性能稍好但对传统机械硬盘或 SATA 固态来说差别不大不必为了这点性能牺牲空间灵活性。4.2 调整系统设置显存和启动顺序创建虚拟机后先不要急着启动先点“设置”按钮做几个关键调整。显示设置在“设置 → 显示”中把显存大小拉到最大通常是 128MB勾选“启用 3D 加速”。如果 Lubuntu 或其他轻量桌面显存 64MB 也可以。这个设置直接关系到 Ubuntu 桌面动画是否卡顿。显卡控制器保持默认即可。如果后续出现开机黑屏再回来手动切换为 VMSVGA 或 VBoxSVGA 测试。启动顺序在“设置 → 系统 → 处理器”中把 CPU 核心数调为 2 或更高但要小于宿主机逻辑核心数。然后切到“主板”选项卡确认“启动顺序”中光驱在硬盘之前。这个顺序决定了安装光盘能否在首次启动时被加载。存储挂载 ISO在“设置 → 存储”中选择控制器 IDE 下的“空”光驱图标然后在右侧属性面板中点击光盘小图标选择 Ubuntu ISO 镜像文件。这样就可以从 ISO 启动安装。4.3 正式安装 Ubuntu 20.04启动虚拟机后很快会看到 GRUB 菜单选择第一项“Try or Install Ubuntu”。进入 Ubuntu 桌面后你会看到一个试用的桌面环境。双击桌面上的“Install Ubuntu”。安装向导中有几个步骤容易出错键盘布局选择“English (US)”或你自己的布局如果不确定就保持默认。更新和其他软件如果只想快速安装选“最小安装”如果准备用桌面办公选“正常安装”。建议把“安装第三方软件”勾上可以自动处理部分多媒体解码器和无线网卡固件。安装类型因为是虚拟机安全起见直接选“清除整个磁盘并安装 Ubuntu”。这个操作只影响虚拟硬盘不会动宿主机数据可以放心选。点击“安装”后会让你选择时区并创建用户名和密码。这里的用户名会自动用于 sudo 操作密码要记好。安装过程大约 10 到 20 分钟期间完成即可。安装完成后提示重启重启时如果卡在Please remove the installation medium之类的提示直接关闭虚拟机在存储设置中把光驱里的 ISO 移除然后重新启动。4.4 安装完成后先别急着开心第一次重启进入 Ubuntu 后桌面大概率是小分辨率的纯紫色背景鼠标也不是很流畅。这是正常的因为还没安装增强功能。先打开终端CtrlAltT执行系统更新sudo apt update sudo apt upgrade -y这个更新可能要几分钟先做这一步可以减少后面很多驱动问题的发生。5. 安装 VirtualBox 增强功能这是整套流程里最容易翻车的环节也是体验提升最大的环节。请按顺序操作。5.1 安装必要的依赖工具打开 Ubuntu 终端先确认系统有编译工具链和内核头文件sudo apt update sudo apt install -y build-essential dkms linux-headers-$(uname -r)dkms是动态内核模块支持它的作用是让 VirtualBox 的驱动模块在内核升级后自动重新编译避免以后升级内核后增强功能失效。linux-headers-$(uname -r)会自动匹配当前内核版本的源码头文件如果这一步装不上往往是因为 apt 源没更新先执行 update 再装。5.2 挂载增强功能镜像在 VirtualBox 菜单栏中选择“设备 → 安装增强功能Insert Guest Additions CD image”。这会在虚拟机的光驱中挂载一个 ISO 镜像。如果 Ubuntu 没有自动弹出窗口在文件管理器中找到光驱设备或者手动执行sudo mkdir -p /mnt/cdrom sudo mount /dev/cdrom /mnt/cdrom如果你的虚拟机上没有/dev/cdrom可以查看/dev/sr0或/dev/disk/by-label/。只要挂载成功能在/mnt/cdrom下看到VBoxLinuxAdditions.run文件就算成功。5.3 运行增强功能安装脚本cd /mnt/cdrom sudo ./VBoxLinuxAdditions.run安装脚本会编译并安装内核模块。终端会输出一堆编译信息最后提示Building the VirtualBox Guest Additions kernel modules ... done之类的结果。如果没有报错重新启动虚拟机sudo reboot重启后你会看到分辨率立刻变正常窗口可以随 VirtualBox 窗口大小自动缩放鼠标移动也更流畅。这就是增强功能生效的标志。5.4 验证增强功能是否生效lsmod | grep vboxguest如果输出包含vboxguest说明内核模块已在运行。另外在 VirtualBox 菜单“设备 → 共享剪贴板”中把共享方向设置为“双向”在“拖放”中也设置为“双向”这样宿主机和虚拟机之间就能直接复制文本、拖拽文件了。6. 运行结果与系统验证安装完成后你需要验证系统是否真的可用。不要装完就退出建议做以下四项基本检查。6.1 验证系统版本cat /etc/os-release | grep VERSION预期输出类似VERSION20.04.6 LTS (Focal Fossa)。如果显示类似 22.04说明你下载的镜像不是 20.04后续 ROS Noetic 等依赖可能不匹配需要注意。6.2 验证内存和 CPU 分配free -h nprocfree -h显示内存总量和使用量nproc显示逻辑 CPU 数量。这些数据可以帮你确认 VirtualBox 分配的资源是否生效。如果发现内存只有 1GB说明你在创建虚拟机时分配的内存偏小可以在关机状态下修改虚拟机设置。6.3 验证网络连通性ping -c 4 www.baidu.com如果丢失率不是 0%说明网络配置有问题。默认情况下VirtualBox 使用 NAT 网络模式虚拟机可以访问外网但宿主机无法主动访问虚拟机的服务。如果你希望宿主机能直接连接虚拟机的 SSH、数据库等服务需要把网络模式改为“桥接”或端口转发。6.4 验证剪贴板共享打开 Windows 上的任意文本编辑器复制一段文字然后在 Ubuntu 中按 CtrlV。如果之前安装了增强功能并设置了双向剪贴板这段文字应该能正常粘贴到 Ubuntu 的文本编辑器中。如果不行先重新插拔增强功能光驱再执行一次安装脚本。7. 常见问题与排查思路把接触过的用户问题和网上常见反馈整理成一张排查表。如果你在安装过程中遇到问题可以对照处理。问题现象可能原因排查方式解决方案启动时提示“VT-x/AMD-V 硬件加速不可用”或“严重错误”BIOS/UEFI 中虚拟化未开启进入 BIOS 查看设置重启进入 BIOS开启 Intel Virtualization Technology / SVM并确认虚拟化状态为已启用提示“未能启动虚拟电脑可能缺少操作系统”ISO 未挂载或启动顺序错误检查存储设置看是否有光盘介质挂载 ISO在系统启动顺序中把光驱放在硬盘之前开机黑屏卡在紫色界面或 Ubuntu Logo 不动显卡控制器选错、显存不足、3D 加速问题关闭 3D 加速切换显卡控制器测试在显示设置中尝试 VMSVGA取消 3D 加速或增大显存安装 Ubuntu 后无法调整分辨率未安装增强功能安装增强功能重启按第 5 章步骤安装 Guest Additions增强功能安装失败提示缺少 gcc、makeMinimal 安装缺少编译工具查看安装日志先执行sudo apt install -y build-essential dkms linux-headers-$(uname -r)再装虚拟机运行卡顿明显分配内存、CPU 过少或母机资源不够查看宿主机任务管理器增大内存/CPU但预留宿主机资源若机械硬盘使用中被卡严重考虑将 vdi 移动到固态盘共享剪贴板、拖放功能无效未设置双向或增强功能未彻底安装VBox 菜单中查看设备设置设置里切换共享剪贴板和拖放为双向并确认lsmod | grep vboxguest有输出Ubuntu 升级后增强功能失效内核版本变化后 vboxguest 未重编通过 dkms 重装重跑sudo ./VBoxLinuxAdditions.run或sudo dkms autoinstall虚拟机时间经常偏差宿主机睡眠后虚拟机时间错乱状态栏对比时间安装增强功能后比较稳妥的是定期执行sudo ntpdate cn.pool.ntp.org或启用自动同步8. 最佳实践与工程建议很多教程到这里就结束了但实际使用中还有几个非常影响体验的工程细节值得单独说。8.1 善用快照功能快照Snapshot是 VirtualBox 最被低估的功能。在安装完系统、装好增强功能、安装完自己常用工具链之后建议打一个“初始环境”快照。以后不管怎么折腾只要从快照恢复就能立刻回到一个干净可用的系统状态。操作路径虚拟机右上角菜单 → 快照 → 拍摄。8.2 管理虚拟硬盘大小扩容动态分配的虚拟硬盘不会超过指定大小但如果你一开始只分配了 25GB后面安装 ROS 和依赖后可能空间告急。扩容方法是先关机然后在宿主机命令行执行VBoxManage modifyhd 你的虚拟硬盘路径.vdi --resize 51200上面命令把虚拟硬盘容量调整为 51200 MB即 50GB。扩容后启动 Ubuntu还需要用 GParted 或系统自带的磁盘工具扩展分区否则多出来的空间不会自动出现。这一步建议在复制重要数据后再操作。8.3 虚拟机的迁移与备份VirtualBox 虚拟机其实就是宿主机上的一个文件夹。想迁移到别的硬盘只需要在关机状态下把整个虚拟机目录复制或移动过去然后在新的 VirtualBox 中点击“添加”并选择.vbox文件即可。如果担心文件损坏可以导出为 OVA 包但导出的格式相对较大好处是任何 VirtualBox / VMware 环境都能导入。8.4 网络模式选择默认 NAT 模式适合访问外网但如果要在 Windows 宿主机里访问 Ubuntu 上的服务如 SSH、MySQL、Jupyter建议在“设置 → 网络”中添加端口转发也可以切换为桥接模式让虚拟机和宿主机共享局域网。桥接模式更方便但会多占用局域网 IP且需要注意防火墙。网络模式虚拟机能否访问外网宿主机能否访问虚拟机适用场景NAT可以默认不能需端口转发单机学习、下载软件桥接可以可以通过局域网 IP局域网服务测试、模拟设备Host-Only通常不行可以虚拟机集群、内部通信实验8.5 不建议在 VirtualBox 里做的事不建议做高负载 GPU 计算。VirtualBox 的 3D 加速能力很有限深度学习训练请用 VMware 的 GPU 直通或双系统。不建议在生产环境把 VirtualBox 当作服务器虚拟化平台KVM、VMware ESXi 会更合适。不建议关闭防火墙或乱改网络配置虚拟机同样可能成为宿主机网络风险的一部分。不建议直接删除 .vdi 文件而不做导出备份定期快照加导出比较稳妥。9. 总结与后续深入学习方向到这你应该已经拥有了一台可以正常使用的 VirtualBox Ubuntu 20.04 虚拟机分辨率正常、可以共享剪贴板、能访问外网、还能拍快照。这套流程不是只解决“把系统装进去”的问题而是教会了你怎么配置参数、排查故障、管理生命周期这样以后你装 Ubuntu 22.04、Debian 或 CentOS 都是同一个套路。如果下一步要继续深入常见的路线建议如下如果你想做 ROS在 Ubuntu 20.04 上安装 ROS Noetic注意使用国内软件源加速安装过程中需要多次source /opt/ros/noetic/setup.bash。如果你想搞嵌入式 Linux准备交叉编译工具链学习用 VirtualBox 做串口模拟和网络模拟。如果你想搭服务器环境在虚拟机中尝试安装 Docker、配置 Nginx、MySQL、MQTT Broker然后再考虑迁移到云服务器。如果你想加深对虚拟化本身的理解可以再去了解 KVM、QEMU 和容器技术 Docker 的区别。虚拟机重在“虚拟硬件”容器重在“隔离进程”两者的适用边界完全不同。最后建议收藏这篇文章遇到问题的时候照着排查表和操作流程来会比到处搜碎片化答案省下不少时间。别忘了装完系统之后第一件事是打快照这是整个 VirtualBox 使用过程中最划算的一步。