ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Windows上跑Linux:VirtualBox安装Ubuntu虚拟机完整避坑指南

Windows上跑Linux:VirtualBox安装Ubuntu虚拟机完整避坑指南 最近身边好几个朋友都来问我同一个事想在 Windows 上体验一把 Linux装 VirtualBox 虚拟机跑个 Ubuntu 到底行不行、麻不麻烦。答案当然是行而且这是目前门槛最低、成本为零的一套组合——VirtualBox 免费开源Ubuntu 社区版镜像随便下载跟着流程点一遍一台能折腾的 Linux 环境就有了。我这些年帮人装过不下二十台虚拟机也见过太多卡在半路的案例蓝屏、黑屏、USB 读不到、网络连不上、中文输入法调不出来甚至还有把宿主机搞崩溃的。踩遍这些坑之后我想把整套流程从头到尾捋一遍把说明书里没写的关键点和避坑细节都补上。这篇内容不是纯复制粘贴的安装教程。每一处配置我都会解释为什么这样设、改了会有什么影响以及哪些环节容易翻车。不管你是第一次接触虚拟机的零基础新手还是装过但没成功、想搞清楚原理的实践派按这个流程走完应该能少折腾一整个晚上。1. 方案选型为什么这套组合适合入门1.1 虚拟化方案怎么挑Windows 平台上主流的虚拟机软件就那几款Hyper-V、VMware Workstation、VirtualBox还有面向服务器的 KVM 等。对大多数普通人来说真正纠结的其实只有 VMware Workstation 和 VirtualBox 两个。VirtualBox 最大的优势是免费且开源个人学习、折腾、跑测试没有任何授权成本。官方版本迭代一直很活跃支持 Windows、macOS、Linux 主机虚拟机里能装 Windows、Linux、macOS需要一些额外操作等多种系统。VMware Workstation 功能更强、性能调优更细腻——比如更强的 3D 加速支持、更完善的快照管理、更省心的网络配置但它是商业软件个人版虽然免费了也需要注册账号而且对旧硬件的兼容性有时候反而不如 VirtualBox 灵活。我的建议很直接如果只是装个 Ubuntu 学习 Linux、跑 Docker、写写代码VirtualBox 完全够用没必要为了这些需求去折腾付费方案的授权。如果后续要跑大型图形应用、重度 GPU 运算或者对桌面交互流畅度有苛刻要求再考虑 VMware 也不迟。1.2 明确需求再选版本选版本这件事很多人上来就踩坑。VirtualBox 官网提供了一个主版本下载页但还有对应各平台的 Extension Pack扩展包以及旧版本存档。不少新手只装了主程序没装扩展包结果 USB 设备识别不了、Remote Desktop 用不了回头怀疑是系统问题。另外VirtualBox 和 Ubuntu 都有长期支持版本的概念。Ubuntu 的 LTSLong Term Support版本每两年发布一次桌面版支持 5 年服务器版支持 10 年。装虚拟机图的就是稳定别去追最新的非 LTS 版本。我常用的组合是 VirtualBox 7.x Ubuntu 22.04 LTS这套组合经过大量验证社区资料最全遇到问题搜一下全是解决方案。用最新版 Ubuntu 24.04 LTS 也行但有些第三方软件的兼容性在早期会有小问题新手不建议一上来就冲首发。2. 创建虚拟机参数这么配才不卡2.1 内存、CPU、硬盘怎么分创建虚拟机的时候会有个配置向导很多人直接一路“下一步”结果日后卡成幻灯片或者根本启动不了。这里的关键不是追求最大配置而是合理分配宿主机资源。我实测下来在 16GB 内存的 Windows 主机上给 Ubuntu 虚拟机分配 4GB 内存和 2 个 CPU 核心是比较舒服的起步值。内存给太多会挤压宿主机的运行空间Win 系统动不动占 3-4GB再开浏览器、IDE剩余空间就很紧张内存给太少Ubuntu 的 GNOME 桌面会明显卡顿尤其是打开多个应用的时候。CPU 核心同理分配 2 核足以应付日常编译、Docker 运行没必要一把梭把 8 核全给虚拟机。硬盘方面VirtualBox 默认用动态分配的 VDI 格式也就是说你设置 50GB 上限实际只用了 10GB它只占 10GB 的物理空间。所以我建议直接给 40-50GB 的上限省得以后扩容麻烦。提示动态分配硬盘有两个好处一是节省宿主机磁盘空间二是初始创建速度快。但要注意动态分配磁盘如果长期填满数据虚拟磁盘文件会膨胀得比较大日常写多删多的话建议用 detach/compact 这类方法收缩空间。2.2 硬件加速与显示设置如果安装的是 64 位 Ubuntu而新建虚拟机时找不到 64 位选项或者一启动就报错说硬件加速不可用那基本可以断定 CPU 虚拟化功能没开启。AMD 的 SVM 和 Intel 的 VT-x 需要在电脑 BIOS/UEFI 设置里手动打开这可能是整台虚拟机最常被忽略的一步。因为厂家默认时常是关闭的进 BIOS 后搜 Virtualization、SVM 或 VT-x 关键词设置为 Enable保存退出。显卡方面虚拟机里的显存默认只有 16MB这对 Ubuntu 桌面来说太紧张了。建议调到 128MB 或最大值同时勾选“启用 3D 加速”。这里有个前后顺序3D 加速在安装完 Guest Additions增强功能之前效果并不明显但先把选项勾上是正确的。显示控制器建议选 VBoxSVGA这是对 Ubuntu 桌面支持最好的方案Windows 虚拟机则可以选 VBoxVGA 兼容性更好。3. Ubuntu 安装从引导到桌面的全过程3.1 制作启动介质与引导选择Ubuntu 的官方镜像可以在官网或国内镜像站下载。下载完的 ISO 文件不需要刻盘也不需要写 U 盘VirtualBox 能直接挂载 ISO 作为虚拟光驱引导开机这种方式相当省事。在虚拟机的“存储”设置里把 ISO 挂到光驱位启动顺序保持光驱优先开机后就会进入 Ubuntu 的安装菜单。引导菜单里通常有几个选项Try or Install Ubuntu、Install Ubuntu安全模式等。零基础就直接选 Install Ubuntu。如果屏幕停在紫屏或黑屏很久大概率是显卡兼容问题可以试着在启动菜单按 E 修改内核参数把 splash 替换成 nomodeset这在部分显卡上能绕过驱动加载失败的问题。3.2 分区方案怎么选才稳到了分区那一步新手最容易慌。如果是跟着向导走建议直接选“清除整个磁盘并安装 Ubuntu”这是针对整个虚拟磁盘执行的不会影响宿主机真实数据。模拟生产环境的话我用过最多的是手动分区方案分配一个 500MB 的 EFI 系统分区、几 GB 的 swap 分区、其余空间全部作为 ext4 根分区。如果以学习为主真没必要纠结复杂的 LVM 或单独的 /home 分区。虚拟机的意义在于可以随时删除重来保持简单反而效率更高。这里插一句如果你的最终目标是搭开发环境建议在安装过程中保持联网并且勾选“安装第三方软件”和“下载更新”这样装完系统就能省去大量补包时间。3.3 账号设置与登录方式的选择创建用户那一步会让你输入姓名、计算机名和密码。计算机名之后要用来配 SSH 和改主机名建议起个自己一眼能认出来的名字比如 ubuntu-dev。密码强度建议至少包含大小写字母加数字但别复杂到自己也记不住——毕竟这是虚拟机很多人装完三天就不记得 root 密码了。登录方式推荐选“需要密码才能登录”不推荐自动登录。虽然虚拟机相对隔离但养成输入密码的习惯有助于理解 Linux 的权限模型。装完系统重启拔掉 ISO登录进去看到 GNOME 桌面这就算成功了一半。提示如果安装完成后重启时出现黑屏只有鼠标能动的现象通常不是系统坏了而是显卡驱动或显示控制器的问题。先在“显示设置”里把 3D 加速关闭或者把显示控制器从 VBoxSVGA 临时切换为 VMSVGA多半能先进桌面之后再回来装增强工具彻底解决。4. 增强功能与共享设置装完必须立刻做的三件事4.1 安装 Guest Additions 增强功能VirtualBox 官方的增强功能Guest Additions是虚拟机体验的灵魂不装的话只能算“半残”虚拟机。它的核心作用包括提升分辨率自适应能力、启用剪贴板双向共享、支特共享文件夹、改善鼠标指针集成、启用硬件 3D 加速。很多人在 Ubuntu 里装完系统发现分辨率只有 800×600原因就是没装这一层驱动。安装过程非常简单虚拟机开着的时候在菜单栏点“设备”-“安装增强功能”Ubuntu 里会自动挂载一个虚拟光驱。然后在终端执行下面的命令sudo apt update sudo apt install -y build-essential linux-headers-$(uname -r) dkms sudo mount /dev/cdrom /mnt cd /mnt sudo ./VBoxLinuxAdditions.run这里最容易翻车的是没装 build-essential 和 linux-headers导致编译内核模块失败。装完增强功能后重启虚拟机自动缩放分辨率、双向拖放文件、共享剪贴板就都能用了。如果命令中途报错说内核头文件装不上先执行 apt upgrade 把内核升到最新再重试一次成功率极高。4.2 共享文件夹的挂载与权限共享文件夹是宿主机和虚拟机之间交换文件最方便的方式。很多人装了增强功能后在菜单里设置了共享文件夹但进入 Ubuntu 后却找不到对应的目录。这是因为共享文件夹在 Linux 里不是自动挂载的你需要手动挂载一次或者写进 fstab 开机自动挂载。用 VirtualBox 窗口菜单设置好共享文件夹后在 Ubuntu 终端执行sudo mkdir -p /media/shared sudo mount -t vboxsf 你的共享名称 /media/shared如果提示 vboxsf 文件系统不存在说明 Guest Additions 的内核模块没加载成功回到上一步检查 dkms 安装情况。想永久生效的话在 /etc/fstab 末尾追加一行你的共享名称 /media/shared vboxsf defaults,uid1000,gid1000 0 0注意这里的 uid/gid 最好按实际用户 id 写用 id 命令查一下。否则可能出现挂载了但没权限写入的情况这是初学者最容易挠头的权限问题。4.3 剪贴板、拖拽与分辨率增强功能装好之后把“设备”-“共享剪贴板”设为双向“拖放”设为双向。这样宿主机和虚拟机之间直接 CtrlC、CtrlV 复制文件路径或命令效率提升明显。分辨率方面开启增强功能后Windows 窗口大小变化时 Ubuntu 会自动适应屏幕不需要手动调分辨率。如果你发现拖不进文件先确认 3D 加速是否关闭拖拽在某些版本的增强功能上和 3D 加速有兼容性问题关闭 3D 后反而稳定。5. 网络与 SSH让虚拟机真正“能用”5.1 NAT 与桥接怎么选VirtualBox 默认的网卡模式是 NAT意思是通过宿主机的 IP 访问外网。这种模式下虚拟机可以正常上网、下载软件包但宿主机和局域网内其他设备不能主动访问虚拟机。对大部分人来说NAT 模式最适合日常使用安全且够用。需要远程登录、搭服务器给局域网访问时就切换到桥接模式。把网卡改到“桥接网卡”虚拟机就像局域网里的一台独立机器会从路由器获取独立 IP。改桥接模式前先确认宿主机 Wi-Fi 或网线的网卡名称在桥接列表里正确选择否则虚拟机拿不到 IP 或者网络波动非常大。5.2 配置 SSH 服务并连接很多开发场景一旦涉及 SSH就必须保证网络能力和服务配置双双正确。Ubuntu 桌面版默认没装 OpenSSH 服务端需要手动安装sudo apt install -y openssh-server sudo systemctl enable --now ssh然后用宿主机终端 ssh 虚拟机 IP 登录。推荐用 NAT 模式加端口转发的方式在 VirtualBox 的“网络”设置里添加一条端口转发规则把宿主机的某个端口转发到虚拟机的 22 端口。名称: ssh 协议: TCP 主机IP: 127.0.0.1 主机端口: 2222 子系统IP: 10.0.2.15 子系统端口: 22之后宿主机执行 ssh -p 2222 用户名127.0.0.1 就能连进虚拟机。这种方式的好处是无论虚拟机网络怎么变化SSH 入口始终固定不会因为 IP 变动导致配好的连接失效。6. 高频问题排查与避坑手册6.1 启动报错、蓝屏与黑屏问题镜像和代码没错但虚拟机一启动就蓝屏或黑屏通常绕不开下面几个原因按优先级排查第一个是 CPU 虚拟化开关没开。Windows 的任务管理器里查看虚拟化是否“已启用”没启用就去 BIOS 开启 SVM/VT-x。第二个是 64 位系统没选对引导模式。安装 Ubuntu 时如果只有 32 位选项同样指向虚拟化未开启。第三个是显卡兼容性问题表现为黑屏或直接跳出访客界面。临时关掉 3D 加速、切换显示控制器为人 VMSVGA大多能先进入系统。遇到过一些用户下载了 VirtualBox 7.2.20 但在 Windows 安装阶段报 “Invalid installation directory”。这通常有两个原因一是安装目录包含中文或特殊字符VirtualBox 对路径解析支持不好二是旧版本残留在注册表里导致新版本校验失败。卸载干净旧版本确保路径是纯英文比如 C:\Program Files\Oracle\VirtualBox重试即可。6.2 中文输入法与软件安装失败的坑Ubuntu 默认对中文输入法的支持不算差但也不算好。装完系统后很多人急着装搜狗输入法结果因为缺少依赖或发行版本不兼容反复失败。不如先用系统自带的 IBus 配置一个中文拼音输入法在设置里找到 Region Language添加 Chinese (Pinyin) 输入源切换快捷键一般是 SuperSpace。Fedora 和 Ubuntu 都适用缺点是智能程度一般。想要更跟手的中文输入体验装 fcitx5 中州韵或拼音方案稳定性和联想能力都比 IBus 好。软件安装失败的例子更多。最常见的是 gcc、git、python 安装时报依赖错误原因基本可以断定是 apt 源太慢或源里索引过期。执行 sudo apt update 后仍然报错最好把软件源换到国内镜像站。编辑 /etc/apt/sources.list 或用 Software Updates 里的镜像源选择器一键切换再 update 一次瞬间治愈各种依赖缺失问题。6.3 磁盘扩容与环境变量救急动态分配硬盘的好处是省空间坏处是如果你一开始设置 25GB后面学着学着不够用了得扩容。VirtualBox 的 GUI 不直接提供磁盘扩容要用命令行VBoxManage modifymedium disk 你的磁盘路径.vdi --resize 51200单位是 MB上面这行是扩到 50GB。扩容之后 Ubuntu 内部识别不到新空间还需要在系统里用 GParted 或 parted 将分区扩大。具体操作是先删除原分区再重建注意起始位置不变数据不会丢但新手操作前务必备份快照。环境变量配置错误是另一个经典翻车现场。手滑把 PATH 写错后任何命令都提示 command not found看起来像系统废了。解决方法是进入 shell 的救援路径之前用绝对路径调用命令比如 /usr/bin/sudo 或者 /bin/mv。最常用的救法是直接开启一个新终端会话执行export PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin这样当前会话就能恢复正常再回去修正配置文件里的错误行。重启后只要 bashrc 或 profile 里的错误还在还会再次翻车所以一定要把错误的那一行改掉或者直接注释掉。6.4 磁盘空间被快照吃掉的迷思很多人不知道快照是有代价的。VirtualBox 的快照会生成差异磁盘也就是说你拍了 5 个快照虚拟磁盘文件会有多个分层。如果快照养成习惯宿主机的磁盘空间会以超乎想象的速度减少而且多个快照间操作稍微混乱虚拟机运行会越来越慢。建议学习阶段只保留最近一个关键节点的快照其余删掉。想完整释放空间甚至在命令行执行快照合并cloning 或 kill 旧快照也可以。7. 从“装好”到“好用”的几条补充经验装好系统和增强功能只是第一步后续真正决定虚拟机使用体验的往往是一些小习惯。比如新装的 Ubuntu 桌面版自带的 GNOME 商店装软件很方便但大量服务器常用的软件包还是得用 apt 命令。建议一开始就执行一轮系统更新把内核、桌面组件都刷到最新版本以后装驱动、装编译工具链会顺很多。开发环境方面如果打算在虚拟机里写代码Ubuntu 22.04 自带的 Python 3.10 已经够用。装 git 的话一条命令搞定然后记得配置全局用户名和邮箱不然 commit 的时候会报错。PyCharm 或 VS Code 的安装包可以直接从官网下载 .debUbuntu 下用 sudo apt install ./xxx.deb 安装比解压 tar 包省心得多。只要确保 apt 源可用这些工具装起来手到擒来。我个人在实际操作中还有个习惯每次在虚拟机上做完关键配置都会拍一个快照。这个快照不是用来长期保存的而是作为一个“安全网”防止后续折腾把系统玩坏。等确认新配置稳定运行两天后我再删掉旧快照重新拍一个新的。这套循环让虚拟机永远处于“坏了能还原、稳定时不留垃圾”的状态省下的重装系统时间不可估量。最后分享一个小通知VirtualBox 的导出功能OVF 格式可以在不同电脑间迁移虚拟机。如果你换电脑或者想分享环境给同事完全不需要重装系统用“导出”生成一个文件夹拷贝到新电脑上“导入”即可。同一套开发环境直接带走这大概是虚拟机带来的最大爽感之一了。
返回列表