
最近后台收到不少朋友问同一个问题想在自己的电脑上装一套 Linux 环境来学习或开发但又不想把主力机系统搞乱应该怎么办。我的建议一直很简单——用虚拟机而且是用 VirtualBox 装 Ubuntu。这套组合我前前后后给同事、学生、以及我自己的几台不同配置的电脑上都配过踩过的坑加起来能写满一页纸。这篇文章就把完整的下载、安装、系统安装、常用配置和问题排查全部拆开讲清楚照着做基本能一遍过。不管你是刚接触虚拟化的小白还是想在 Windows 上搞一个干净 Linux 开发环境的程序员这篇文章都适用。它能帮你省掉双系统切换的麻烦也能让你随时备份恢复系统尤其适合用来练命令行、搭 MySQL、Git、Node.js 这些服务。下面进入正题。1. 为什么用 VirtualBox 跑 Ubuntu1.1 虚拟化方案的取舍VirtualBox 和 VMware 怎么选虚拟机的主流方案其实就那几家VMware Workstation 和 Oracle 的 VirtualBox 是桌面端用得最多的。我之前长期用过 VMware Workstation后来换到 VirtualBox不是因为 VMware 不好而是 VirtualBox 在绝大多数场景下已经够用并且它开源免费许可对个人用户非常友好不需要到处找许可证更新也勤快。从功能角度看VirtualBox 对日常学习、跑 Linux 服务器环境、做网络实验完全没问题。它支持快照、克隆、共享文件夹、多种网络模式足以覆盖 90% 的需求。VMware 强在商业环境下的性能和兼容性更稳但在普通电脑上跑一两个 Ubuntu 虚拟机两者体验差距并不大。所以我给新手的建议很明确先装 VirtualBox省心也省资源。这里顺便提一句很多人在搜索引擎里还会看到 VirtualBox 5.2.44 这个老版本。这个版本确实经典专门针对 Windows 7 做了优化如果你的电脑还在用 Win7 或者配置很低可以选它如果是 Win10/11直接装新版就好没必要为了“经典”折腾老版本新版本对高分辨率屏幕和 USB 设备的支持要好很多。1.2 安装前必须确认的硬件条件在开始下载之前先花两分钟确认电脑的状态能避免后面一堆莫名其妙的问题。首先要确认 CPU 的虚拟化功能已经开启。Intel 平台对应 VT-xAMD 平台对应 SVM/AMD-V。大部分电脑出厂默认是开启的但有些品牌机默认关闭。怎么确认打开任务管理器切到“性能”标签点击 CPU看右下角的“虚拟化”状态显示“已启用”就没问题。如果显示“已禁用”需要重启电脑进 BIOS在 CPU 配置里找到“Intel Virtualization Technology”或者“SVM Mode”并打开。其次是内存和硬盘。Ubuntu 桌面版本身占用不大但你要是开浏览器、跑编辑器再指望虚拟机流畅建议给虚拟机分配至少 4GB 内存实际体验最好在 8GB 以上。硬盘空间方面Ubuntu 的干净安装大概需要 10GB 到 15GB但后续安装开发工具、Docker 镜像这些很容易涨到 30GB 以上建议至少预留 40GB 给虚拟机。另外优先把虚拟机文件放在 SSD 上否则启动和安装过程会明显慢。2. VirtualBox 下载与安装实操2.1 到哪下载、怎么避开捆绑和旧版本坑VirtualBox 的下载我只有一个建议去官网。官网地址很好记直接搜 “VirtualBox download” 就能找到官方入口。没必要去第三方下载站或者博客里给的网盘那些地方的安装包版本混乱有些还被改过装完还给你塞一堆推广软件。官网首页会显示当前最新版本号和对应的 Windows / macOS / Linux 安装包。下载时要看清楚架构x86_64 对应 64 位系统现在绝大多数电脑都选这个。如果你用的是 Linux 发行版作为宿主机也可以从发行版仓库装但官网的 .deb 或 .rpm 包通常更新更快。官方页面还会提供一个“Oracle VM VirtualBox Extension Pack”也就是扩展包。这个一定要下载而且要选择和 VirtualBox 主程序版本一致的版本否则会提示版本不匹配无法安装。扩展包提供了 USB 2.0/3.0 设备支持、VirtualBox RDP 远程桌面、磁盘加密、NVMe 支持等能力。如果不装它虚拟机里插 U 盘经常会识别不到分辨率也可能受限制。2.2 安装过程的几个注意点Windows 下安装 VirtualBox 基本都是默认下一步但有几个细节值得留意。安装路径建议保持默认或者装到一个路径里没有中文、没有空格的目录比如D:\Programs\Oracle\VirtualBox。早期版本对中文路径的处理不够好虽然新版改善了很多但为了避免玄学问题还是别在路径里放中文和空格。安装过程中有个弹窗会提示“警告网络接口”大概意思是安装时会重置网络适配器可能导致网络短暂断开。这个不用担心点击“是”继续就行。因为 VirtualBox 要安装虚拟网卡驱动这步是必须的如果不装虚拟机的网络模式会缺失很大一部分功能。组件选择上如果你之前没装过 VirtualBox建议把所有的组件都勾上尤其是 USB 驱动和 Host-Only 网络驱动后面配置网络时会用到。装完之后桌面会出现 “Oracle VM VirtualBox” 图标打开它会看到一个相对简洁的主界面左边是虚拟机列表右边是详细信息面板这个界面后面会天天打交道。3. 创建 Ubuntu 虚拟机3.1 先选对 Ubuntu 镜像版本装完 VirtualBox 后下一步是准备 Ubuntu 的安装镜像。镜像同样建议从 Ubuntu 官网下载。Ubuntu 官网会优先推荐最新的 LTS 版本也就是长期支持版。LTS 版本的好处是维护周期长达五年软件源稳定社区资料多遇到问题随便一搜就是答案。桌面版和服务器版的区别一句话说清桌面版带图形界面适合日常使用和学习服务器版没有图形界面更省资源适合部署服务。如果是第一次接触 Linux我建议先装桌面版图形化界面能大幅降低入门门槛以后要跑生产服务或者学习运维再换服务器版也不迟。下载镜像时保留.iso文件即可不需要解压。这个文件大小通常在 4GB 到 6GB 之间所以硬盘空间一定要提前留好。下载完成后最好校验一下 SHA256 校验值官网会给出对应文件用命令行工具对一下防止下载损坏。这一步很多人会跳过但如果装到一半提示文件损坏回头再排查就浪费时间了。3.2 新建虚拟机内存、硬盘、显存的合理配置在 VirtualBox 主界面点击“新建”会弹出创建向导。名称可以随便填比如 “Ubuntu-Learn”重点是“文件夹”和“ISO 映像”这两项。“文件夹”决定虚拟机文件保存位置建议放在剩余空间充足的盘里“ISO 映像”选择刚才下载的 Ubuntu 镜像。类型选择 Linux版本选择 Ubuntu 64-bit。如果你的机器比较老也可能是 32 位版本但 2024 年以后 Ubuntu 官方已经基本放弃 32 位镜像直接选 64 位即可。内存大小这一步需要认真规划。Ubuntu 桌面版最小建议是 2GB但想用得流畅我通常给 8GB。注意虚拟机分配的内存是宿主机“借”出来的别贪多如果宿主机自己只有 8GB虚拟机给 8GB 之后宿主机会卡到没法看。一个经验值宿主机 16GB 内存虚拟机分 8GB宿主机 8GB 内存虚拟机分 4GB这是比较平衡的配置。处理器核心数看 CPU 线程数。如果 CPU 是 6 核 12 线程给虚拟机分 4 核基本够了。显存建议分配 128MB别低于 32MB。因为 Ubuntu 桌面版的动画和放大效果也需要一点图形内存给少了会明显掉帧。勾选“启用 3D 加速”后续界面会更跟手。接下来创建虚拟硬盘有两种方式动态分配和固定大小。动态分配的意思是虚拟硬盘文件先只占很小空间随着虚拟机里数据变多再慢慢增大固定大小则是一开始就占用全部指定空间。从性能上讲固定大小稍好一点点因为不会在运行中反复扩展文件但从灵活性上讲动态分配更省空间。我的建议是选择动态分配容量给 40GB 或更多这样以后不用重新创建硬盘。4. 安装 Ubuntu 系统全程图解4.1 启动虚拟机并进入安装程序虚拟机创建完成后选中虚拟机点击“启动”。第一次启动会自动从 ISO 镜像引导进入 GRUB 引导菜单。用键盘上下键选择“Try or Install Ubuntu”回车。如果屏幕长时间黑屏或者卡在启动界面常见原因是显存设置太低或者没有开启 3D 加速可以先把虚拟机设置里的显存调高一点再试一次。随后系统会进入试用桌面桌面背景是 Ubuntu 默认的壁纸上方有一条菜单栏桌面上有两个图标其中一个是“Install Ubuntu”。双击它安装向导就启动了。这一步需要注意的是语言选择左边语言列表里有“中文简体”选它可以让整个安装界面变成中文后面配置起来更省事。安装类型里有“正常安装”和“最小安装”两个选项。我的建议是选“正常安装”因为最小安装裁剪了不少常用软件比如 LibreOffice新手刚开始可能会觉得缺东西。下面的“为图形或无线硬件安装第三方软件”选项建议勾上因为它会安装一些专有驱动和解码器能避免不少 Wi-Fi、NVIDIA 显卡相关的后续问题。不过要留意这个选项在安装过程中需要联网网络速度慢的话安装会久一些。4.2 磁盘分区怎么处理最省心分区是很多人最头疼的部分。Ubuntu 安装向导提供了两种默认方式一个是“清除整个磁盘并安装 Ubuntu”另一个是“手动分区”Something Else。对虚拟机来说我的建议是用“清除整个磁盘并安装 Ubuntu”。因为虚拟硬盘就是一块独立的大文件里面没有别的数据直接让安装程序自动分区完全没问题。这会自动创建 ESP 引导分区、根分区和交换分区等不需要我们操心。千万不要选“手动分区”增加不必要的复杂性除非你想了解 Linux 分区结构。手动分区其实也不难主要是搞清楚几个挂载点/是根分区所有系统文件所在/boot/efi是引导分区装 UEFI 启动要用swap是交换分区相当于扩展内存。但新手没必要一上手就折腾这些等跑通一次之后再用“Something Else”实验。安装程序最后一步会让你设置计算机名称和用户名还会要求输入密码。这里没什么特殊要求用户名建议用不带空格的英文因为这个用户名会成为你的主目录名比如/home/yourname以后写代码、建 Git 仓库都会用到。勾选“自动登录”可以省去开机输密码的步骤但如果是练习环境无所谓如果是学习服务器管理建议保留密码登录。安装完成后安装程序会提示重启。这时候虚拟机可能会弹出一个窗口说“请移除安装介质”如果移除准确操作是点选“设备”-“光盘”把 ISO 文件从光驱里卸载或者在 VM 设置里把启动顺序改成硬盘优先。否则虚拟机重启后又会从 ISO 启动。4.3 安装增强功能这一步不做事倍功半第一次进入 Ubuntu 桌面后屏幕分辨率往往很小窗口没法自适应鼠标也无法自由从虚拟机里移动到宿主机。原因很明确虚拟机里缺一组驱动也就是 VirtualBox 的 Guest Additions中文常叫“增强功能”。安装增强功能的操作在 VirtualBox 窗口顶部菜单栏点“设备”-“安装增强功能”虚拟机会挂载一个虚拟光盘。在 Ubuntu 里打开文件管理器找到这个光盘设备通常在侧边栏显示为“VBox_GAs_x.x.x”里面有一个autorun.sh脚本。但要直接双击运行多半不行更稳的方式是打开终端执行sudo apt update sudo apt install -y build-essential dkms linux-headers-$(uname -r)安装完编译所需的依赖后再到挂载目录下执行cd /media/$USER/VBox_GAs* sudo ./VBoxLinuxAdditions.run等脚本跑完重启虚拟机。重启后你会看到分辨率可以跟随窗口自动调整了鼠标也能自由穿梭共享剪贴板才真正生效。共享文件夹也需要这组驱动配合才能工作。先在 VirtualBox 的虚拟机设置里打开“共享文件夹”添加一个宿主机目录比如D:\share再指定挂载名比如share。在虚拟机里把它挂载上来mkdir -p ~/share sudo mount -t vboxsf share ~/share如果你希望每次开机自动挂载可以把这行命令写到/etc/fstab里或者干脆直接在共享文件夹设置面板里勾选“自动挂载”。5. 虚拟机网络配置与日常使用优化5.1 三种网络模式到底怎么选VirtualBox 默认给虚拟机提供的是 NAT 网络即虚拟机可以访问外网但宿主机和其他设备无法直接访问虚拟机。这种模式对正常 apt 装软件、上网查资料来说没问题也是推荐新手先保持默认的原因。但如果你想在宿主机浏览器里访问虚拟机里跑的一个网站比如你在 Ubuntu 里用npm run dev起了个前端服务默认 NAT 模式下宿主机直接访问不到。解决办法有两种第一种是改网络模式为“桥接模式”让虚拟机直接和宿主机在同一个局域网里虚拟机有自己的 IP宿主机直接访问这个 IP 即可第二种是保留默认网络用端口转发。端口转发的设置在虚拟机设置 - 网络 - 高级 - 端口转发规则里。举个例子你虚拟机里有个服务监听 8080 端口设置规则协议 TCP宿主机的 IP 留空端口设为 8080子系统的 IP 留空端口设为 8080。之后宿主机浏览器访问http://127.0.0.1:8080请求就被转发到了虚拟机里的 8080 端口。这个方式在 NAT 模式下特别常用尤其是搭网站或者测试接口时。三种模式的核心差别可以这样记NAT 适合虚拟机上网但不对外提供服务桥接相当于虚拟机变成局域网里的一台独立机器会被分配独立的 IP最接近于真实主机仅主机Host-Only意味着虚拟机只能和宿主机通信不能上外网适合做隔离实验。5.2 SSH 连不上虚拟机的排查思路很多朋友装完 Ubuntu 第一件事是想从宿主机用 SSH 连进去因为终端操作更方便。但连接失败很常见原因也就那几个按顺序排查就好。先检查虚拟机里有没有安装 SSH 服务。Ubuntu 桌面版默认不装 SSH 服务端需要自己装sudo apt update sudo apt install -y openssh-server sudo systemctl status ssh如果服务状态显示 active再查虚拟机的 IPip addr在宿主机上ping一下这个 IP能通再试 SSH。如果 ping 不通先确认是否选择了正确的网络模式。NAT 模式下宿主机 SSH 到虚拟机默认是进不去的需要端口转发。桥接模式下注意虚拟机 IP 和宿主机 IP 是否在同一网段不在同一网段也是连不上的。还有一个容易被忽略的点Ubuntu 自带的防火墙 ufw。如果你之前开启过防火墙默认策略会拒绝外部 SSH 连接。可以用以下命令放行sudo ufw allow from 192.168.1.0/24 to any port 22 sudo ufw enable注意别把规则范围开太大生产环境千万不要对所有人开放 22 端口。5.3 换软件源、装中文输入法和基础开发环境Ubuntu 默认源在国外在国内网络环境下执行apt update往往很慢。解决办法是改成国内镜像源。操作很简单打开“软件和更新”应用在“下载自”下拉框里选择“其他站点”然后点“选择最佳服务器”系统会自动测速选一个快的也可以直接手动编辑源列表将archive.ubuntu.com替换成可用的镜像源地址比如mirrors.aliyun.com这种。之后执行sudo apt update sudo apt upgrade -y中文输入法是很多人刚装完 Ubuntu 会遇到的坎。桌面版在“设置”-“键盘”-“输入源”里添加“中文”选择“智能拼音”或“谷歌拼音”。如果装完没有拼音选项先安装sudo apt install -y fcitx5 fcitx5-chinese-addons然后注销再登录一般就能在输入源里看到拼音了。开发环境方面如果你打算在虚拟机里写代码建议先把 Git、Node.js、MySQL 这些基础组件装好。Git 的安装很直接sudo apt install -y git git config --global user.name yourname git config --global user.email youexample.comNode.js 的安装注意别用 Ubuntu 自带的版本那个通常太老。建议用 NodeSource 或 nvm 方式安装。nvm 的好处是可以随时切换 Node 版本命令也很简单curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install --ltsMySQL 的安装需要注意Ubuntu 默认仓库里的 mysql-server 包在安装时不会再弹窗让你设 root 密码而是使用了 auth_socket 插件。这意味着你只能用sudo mysql进入如果你需要设置 root 密码安装完成后再执行sudo mysql ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 你的密码; FLUSH PRIVILEGES;这些装完之后虚拟机的日常开发环境基本就齐了。接着你可能会想换一套更接近 macOS 风格的字体在终端里选一个开源等宽字体比如 JetBrains Mono、Fira CodeUbuntu 的设置界面里可以手动添加字体文件整体观感立刻会好很多。6. 常见问题速查与个人踩坑记录6.1 高频问题速查表下面这个表格是按我过往回答和操作中遇到的情况整理的列出最常见的现象、原因和解决办法方便你以后翻出来直接对照。现象大概率原因解决办法虚拟机启动后黑屏或卡死显存不够、未开启 3D 加速设置 - 显示调高显存到 128MB勾选 3D 加速USB 设备无法识别未安装 Extension Pack下载与 VirtualBox 版本一致的扩展包并安装共享剪贴板不生效未安装增强功能在虚拟机内安装 Guest Additions 并重启分辨率不能自适应未安装增强功能执行 VBoxLinuxAdditions.run 后重启宿主机访问不了虚拟机的网站NAT 模式没有开端口转发用桥接模式或添加端口转发规则SSH 连不上虚拟机SSH 服务没装、防火墙拦截安装 openssh-server放行 22 端口apt 更新太慢默认源网络延迟高换成国内可用镜像源虚拟机没有声音声卡驱动未正确识别设置 - 声音音频控制器选 ICH AC97 并重新安装增强功能启动报 VT-x/AMD-V 不可用BIOS 里虚拟化被关闭重启进 BIOS 打开虚拟化开关除了上面这些还有一个容易被忽略的老大难问题有些网络模拟软件比如某些国产网络实验工具会提示 “与 VirtualBox 不兼容”。这种一般是因为 VirtualBox 版本太新软件期待的虚拟网卡驱动没适配。解决思路是降级到旧版 VirtualBox比如 5.2.44 版本或者改虚拟机的网络适配器类型。遇到这类问题先记录下报错文字去搜索引擎按“软件名 VirtualBox 不兼容”查比盲试快得多。6.2 我的一点经验之谈装虚拟机这件事表面上是一步步点“下一步”但真正决定你能不能长期用下去的往往是一些不起眼的习惯。第一善用快照。VirtualBox 支持快照就是在某个安装配置完成后记录下当前虚拟机的状态。以后系统玩坏了可以直接恢复到快照点比重装系统快得多。我在装完增强功能、换完源、装好开发环境后分别打了快照这样后面怎么折腾都不慌。第二备份虚拟硬盘文件。虚拟机的所有数据都存在.vdi文件里位置默认在用户目录下的VirtualBox VMs文件夹。如果你要重装宿主机或者换电脑只需要把这个文件夹打包带走新机器上安装 VirtualBox 后用“控制”-“注册”添加这个 .vbox 文件即可。这个操作比重新配置环境省太多时间。第三遇到问题时先看日志。VirtualBox 的日志文件位于虚拟机文件夹里名为Logs/VBox.log。每次启动失败这个文件会记录下详细的报错原因。比如之前装 Ubuntu 一直卡在 GRUB我打开日志看到有个 ACPI 相关的警告虚拟机的“系统”设置里把“启用 ACPI”改了一下就能正常启动了。很多问题在日志里都有线索不要凭感觉乱改配置。第四修改虚拟机的硬件配置前要关机。在 VirtualBox 里内存、CPU、显存、网卡这些设置虚拟机关机状态下才能改。很多朋友发现配置按钮是灰的就是因为虚拟机还开着把它关机或强制断电后再看就正常了。最后再补充一个小技巧如果你在虚拟机里打开了几个终端同时又要看文件管理器建议先把增强功能的“无缝模式”用起来。这个模式下虚拟机里的窗口会直接融合在宿主机的桌面上看起来就像原生窗口一样省去来回切换虚拟机的麻烦。快捷键是宿主机键默认是右 Ctrl L随时可以用。装完这一套你已经拥有一台随时可以折腾的 Ubuntu 系统了。后续不管你是学 Python、搭 Docker、练 Linux 运维还是编译开源项目都是在这台虚拟机里继续深入。我这个配置方案跑了好几年最大的心得就是虚拟机别怕折腾留好快照大胆试错它比物理机耐造得多。