先用一句话说清楚这篇文章就是教你在Windows上用VirtualBox把Ubuntu装成一台虚拟机。我已经在Windows电脑上反复折腾过这套流程很多次踩过不少坑也总结出了一套最省事的路线——从下载镜像、创建虚拟机、调参数到安装系统、装增强功能、修各种启动疑难杂症全过程按步骤写下来你可以把它当成一份照着做就行的手册。想体验Linux桌面、搭个开发环境又不敢动主力机的朋友这篇就是给你准备的。1. 方案选型为什么是VirtualBox Ubuntu1.1 虚拟机方案横向对比别一上来就装很多人第一次想接触Ubuntu脑子里冒出来的方案往往是“直接装双系统”但我一般不建议新手这么做。双系统需要动硬盘分区、改引导顺序一旦引导写坏了Windows可能直接进不去。对只是想让Ubuntu跑起来、能上网、能敲代码、看看桌面长什么样的需求来说虚拟机才是最稳妥的路径。常见的Windows下跑Linux虚拟化方案我整理过一张对比表方案门槛桌面体验性能感成本适合场景VirtualBox低完整桌面有图形加速中等免费新手尝鲜、学习、日常开发VMware Workstation中完整桌面流畅度更好中高付费Player免费但有功能限制注重性能、愿意付费WSL2低没有完整图形桌面默认命令行高免费只跑命令行工具、DockerWindows自带Hyper-V中完整桌面但管理界面不直观高Windows Pro以上系统自带熟悉Windows虚拟化的人如果你已经装了VMware或WSL2也不是不能用但我个人还是更推荐VirtualBox免费开源是硬理由VirtualBox几乎支持所有主流操作系统既有图形管理界面也能命令行操作功能上快照、共享文件夹、虚拟机克隆、增强功能包该有的都有。我见过太多人上来直接用Hyper-V结果连虚拟交换机配置都没搞明白就放弃了。VirtualBox的容错率高得多哪怕参数配错了改回来就行不影响宿主机。1.2 动手前先做三件事查硬件、看虚拟化、关冲突装之前我建议你花五分钟确认三件事省得启动虚拟机半天不对。第一内存和磁盘够不够。跑Ubuntu桌面虚拟机最低分2GB内存但会明显卡分4GB才能说流畅分8GB就很舒服了。如果你宿主机只有8GB内存那就给虚拟机分3~4GB别贪心给太高宿主机会吃不消。磁盘方面建议至少留出30~50GB的可用空间给虚拟硬盘如果电脑是固态硬盘体验会明显好一个档次。第二确认CPU虚拟化已开启。Windows 10/11可以在“任务管理器”-“性能”-“CPU”页面右下角看“虚拟化”一栏是不是“已启用”。如果是“已禁用”就需要重启电脑进BIOS/UEFI设置找到Intel VT-x或AMD-V选项打开。这个开关没打开VirtualBox启动虚拟机会直接报错。第三检查有没有Hyper-V之类的冲突。Windows自带的Hyper-V、Windows虚拟机监控程序、沙盒、内核完整性内存完整性这些组件和VirtualBox抢虚拟化资源是出了名的冤家。装了Hyper-V又装VirtualBox启动虚拟机经常会碰到类似“VT-x is not available”的报错。处理办法打开“启用或关闭Windows功能”把Hyper-V相关项关掉再把系统安全中心的“内核隔离-内存完整性”关掉后重启。这一步做完很多疑难杂症直接消失。注意如果你平时要跑Android模拟器某些模拟器也依赖Hyper-V关掉后它们可能受影响。这个取舍要自己心里有数。1.3 镜像下载与校验版本和格式别选错装Ubuntu第一步不是创建虚拟机而是下载Ubuntu的安装镜像ISO文件。在VirtualBox里用ISO文件相当于给虚拟机一张光盘启动后从光盘引导安装。版本选择上认准LTS长期支持版本比如22.04 LTS、24.04 LTS这种带LTS的官方维护五到十年稳定得让人放心。那种中间版本号非LTS虽然新特性多但生命周期短装完没几个月就要大升级不适合做长期环境。下载时另一个容易搞错的是架构。现在九成Windows电脑是64位x86处理器对应要下载AMD64x86_64架构的镜像。如果你的电脑是ARM架构新出的部分轻薄本、某些平板那就得找ARM64镜像否则装不上。拿不定主意的去你电脑的“系统信息”里看“系统类型”一栏很直观。镜像下载后我强烈建议做一次哈希校验。校验的意义是确认下载的文件没有损坏、没有被半路改过。Windows自带命令行就能算Get-FileHash .\ubuntu-22.04.4-desktop-amd64.iso -Algorithm SHA256算出来那一长串十六进制的哈希值和官网公布的那串对比能对上就说明镜像完整。我以前图省事跳过这一步结果虚拟机启动直接卡在引导界面排查了半天才意识到镜像下载过程出了问题。多花这一分钟后面能省一小时。2. 创建虚拟机把虚拟硬件参数一次性配明白2.1 内存、CPU、显存与硬盘参数怎么给更合理下载好ISO后打开VirtualBox点击“新建”进入配置向导。这里每一步都要斟酌因为虚拟机里的硬件就是你的“虚拟电脑”给多给少直接影响运行体验。内存分配我前面提过宿主机8GB内存给3~4GB宿主机16GB以上可以给4~6GB。别给到宿主机内存的70%以上虚拟机会和宿主系统争内存电脑直接变卡。CPU核心数一般给2个就够给4个也只是心理安慰。Ubuntu桌面环境的日常操作2个虚核完全够用除非你要在虚拟机里编译大型项目才考虑多给。给太多CPU反而会让宿主机响应变慢。显卡显存建议设为128MB因为Ubuntu用的是GNOME桌面对3D加速有需求。如果没有在虚拟机设置里勾选“启用3D加速”GNOME桌面会明显发飘拖动窗口、切换工作区都有延迟感。显存给小了比如32MB安装界面都可能卡顿。硬盘推荐VirtualBox的VDI动态分配逻辑上限给30~50GB。动态分配的意思是一开始文件很小实际用多少占多少不会一次性吃掉你50GB真实磁盘空间。而固定大小是一次性预留满读写性能稍好一些但空间利用率低。我的建议是正常用选动态分配想追求性能且磁盘空间很充裕就选固定大小。2.2 容易忽略的隐藏项EFI、软驱、声卡与USB创建向导完成后不要急着点“启动”。先右键虚拟机选“设置”把几个默认配置改掉这些隐藏项才是决定体验的细节。EFI选项在“系统 - 主板”页面默认是只会“启用软驱”有些版本默认不勾“启用EFI特殊OS仅用于某些操作系统”。通用做法先不勾EFI用默认的BIOS启动方式如果后续Ubuntu安装完启动时出现grub黑屏或找不到启动设备再回来勾选EFI。为什么这么处理VirtualBox的UEFI支持在部分机型上有兼容问题而Ubuntu默认的安装引导用传统BIOS也能顺利启动所以先用更稳的组合。系统页面里的“启用软驱”建议直接取消勾选。这个软驱是VirtualBox老版本留下来的模拟设备现在谁还写软盘不关掉它某些系统启动时反而会卡在“Floppy 0”之类的提示上。声音设置方面如果你的虚拟机一启动就报声卡驱动错或者打开Ubuntu设置时声音服务崩溃可以去“音频”里把主声音驱动换成其他选项。Windows宿主机上我遇到过某个版本的声卡芯片模拟不兼容换成另一款模拟声卡后问题直接消失。实在不行把音频控制器改成“Ich AC97”底噪大点但稳定。USB设置建议用默认的USB 1.1除非你从VirtualBox官网下载安装了对应版本的扩展包Extension Pack才能在虚拟机设置里启用USB 3.0控制器。扩展包的安装就是在主机上双击下载的.vbox-extpack文件按提示操作即可。装好后虚拟机才能把U盘、移动硬盘直通给Ubuntu不然插了U盘只会被宿主机接管。2.3 网络模式NAT、桥接、Host-only到底选哪个VirtualBox默认给每一台虚拟机提供四种网络模式很多人转头就忘我专门把它们代表的场景理一遍模式虚拟机能上网外部能访问虚拟机适用场景NAT可以默认不能大部分普通用户上网场景桥接可以可以局域网里做服务、远程登录Host-only仅宿主机互通宿主机之间可以调试、隔离测试内部网络虚拟机之间互通宿主机不通多虚拟机组网实验新手第一次装直接用默认的NAT模式就对了。NAT的意义在于虚拟机通过宿主机的网络访问外网像是住在宿舍里通过宿管路由器上网外部看不到你你却能看外面。平时更新软件、下载东西都够用。如果之后你要在Ubuntu里跑一个网站想用手机或局域网内其他电脑访问这台虚拟机那就切换成桥接模式。桥接相当于虚拟机在局域网里又开了一根网线它从路由器那里拿到一个独立的IP和其他电脑平起平坐。注意桥接模式下宿主机和虚拟机都要从路由器获取IP如果公司网络有严格的白名单策略桥接可能不通这时候用NAT加端口转发也能达到类似效果。Host-only则适合纯粹要宿主机和虚拟机之间传文件、联调服务的场景网络完全对外隔离安全性最好。我一般调试Linux内核模块时用Host-only外面环境无感知数据也不乱跑。3. 安装Ubuntu系统从引导到分区的完整实战3.1 第一次启动引导界面与安装选项逐一看虚拟机创建好、设置调好后选中它点击“启动”。第一次启动会自动挂载你配置的ISO安装镜像进入Ubuntu安装盘的引导界面。这个界面在桌面上选择“Try or Install Ubuntu”意思是先试用还是直接安装。我建议第一次装的人直接选标准安装试用模式还要进桌面再找“Install”多一步没必要。如果你的电脑或虚拟机某些硬件兼容有问题引导界面可能卡在Ubuntu的启动Logo转圈处或者花屏。遇到这种情况在引导菜单选中“Try or Install Ubuntu”后按键盘上的e键编辑启动参数找到quiet splash这一行把它们删掉或改成nomodeset然后按F10启动。nomodeset的意思是暂时关闭内核的显卡模式设置能绕开很多显卡兼容问题。装完系统后再恢复成正常的启动参数即可。安装过程中有一步问“安装过程中下载更新”和“安装第三方软件”要不要勾选。我给你的建议是初次安装这两个都不要勾尤其是“下载更新”这一项如果网络稍慢整个安装过程会异常漫长看起来像卡死一样。系统装好之后再统一换源、更新效率高得多。3.2 分区方案新手无脑全盘进阶人士可以选择手动Ubuntu安装器到“安装类型”这步时会问你怎么分磁盘。因为是虚拟机硬盘只是一个虚拟文件所以最常见的方案“清除整个磁盘并安装Ubuntu”在这里是完全安全的不会动到Window系统里的任何数据。如果你就是想把系统跑起来选这个然后一直下一步就行。不过我也看到很多教程直接让你一路下一步没有解释为什么会这样。原因很简单虚拟机里的“整块磁盘”其实是一个或多个文件你清除它等于格式化一个文件而已宿主机里的C盘、D盘毫发无损。这个思路搞清楚后新手朋友就不必对“清除整个磁盘”这几个字感到紧张。想更深入了解Linux分区方案的话可以在“Something else”手动分区里这样分/boot1GB存放内核和引导文件。/30~40GB系统根目录软件默认安装到这里。/home剩余空间个人文件、配置、下载内容都在这。swap内存小于8GB时建议给8GB内存充裕可以给少一些或交给交换文件。每个分区选“主分区”即可文件系统默认ext4。挂载点必须一个不落尤其注意/不能省略否则安装器会警告你没设根分区。手动分区的价值在于以后想单独格式化某个分区比如重装系统但保留/home里的数据会很方便但新手用全局清除方案也够用。分区结束后还有一步让你选时区。位置选择建议直接选“Asia/Shanghai”对应的东八区千万别选成UTC附近的位置不然后面Ubuntu和Windows的时间老是差8个小时。键盘布局默认English (US)或Chinese都可以安装后系统里随时能改不影响使用。3.3 安装过程中的几个常见注意点安装过程中你会看到进度条停留在“复制文件”或“配置系统”阶段很久这都是正常的尤其在虚拟机上磁盘读写比物理机稍慢。不要因为进度条不动就去点“跳过”或关闭窗口耐心等就行。安装完成后会提示“安装完成需要重新启动”。此时需要到“设备 - 存储”里把光驱里的ISO镜像移除否则重启后虚拟机又会从光盘启动重新进入安装界面。VirtualBox的设置里也可以在“存储”标签页把这个ISO文件从光驱控制器里退出来。还有一个细节安装程序默认会让你创建用户名和密码并且询问“是否要求在登录时输入密码”。我建议保留密码登录虚拟机能让你方便地开启自动登录但同时保留一个密码并用于sudo提权操作这是非常基本的安全习惯。如果用无密码的免交互登录后面执行系统命令时总是碰壁。4. 系统装完后的关键配置让虚拟机真正好用4.1 增强功能包分辨率、剪贴板、拖放功能都靠它刚装完的Ubuntu窗口通常锁死在800x600或1024x768这类低分辨率鼠标在虚拟机内外切换还要按快捷键宿主机和虚拟机之间复制文字都费劲。很多人以为这就是虚拟机的常态其实不是——缺了最重要的一步安装增强功能Guest Additions。增强功能是VirtualBox给虚拟机提供的一套驱动和工具安装后能实现三大核心能力自动适应窗口分辨率、双向剪贴板共享、文件拖放。我熟悉的操作路径是这样的先在虚拟机窗口菜单里选“设备 - 安装增强功能”VirtualBox会把一个虚拟光盘挂载到Ubuntu里。然后打开Ubuntu终端执行以下命令把编译工具链和内核头文件装好sudo apt update sudo apt install build-essential linux-headers-$(uname -r)没有这几样东西增强功能的安装脚本会编译失败报出一堆看不懂的错误。安装完依赖后把虚拟光盘挂载好终端进入光盘目录执行sudo sh ./VBoxLinuxAdditions.run脚本跑完重启虚拟机。重启后你就能在“显示器”设置里拖动窗口大小分辨率自动跟随宿主机和虚拟机之间的文字复制粘贴也能勾选“双向”了。到“设备 - 共享剪贴板 - 双向”和“设备 - 拖放 - 双向”设置一下Windows和Ubuntu之间的文本、文件传输瞬间通畅。提示如果VBoxLinuxAdditions.run在Ubuntu新内核上报错多半是内核头文件没装全或者VirtualBox版本太老先去升级VirtualBox再重装一次增强功能95%都能解决。4.2 共享文件夹在Windows和Ubuntu之间互相传文件除了拖放文件我更喜欢用VirtualBox的共享文件夹功能因为它不依赖图形界面命令行和桌面程序都能稳定访问。在虚拟机设置 - “共享文件夹”里点击添加选一个Windows本机的目录作为共享路径名字随意比如share勾选“自动挂载”和“固定分配”。保存后进入Ubuntu执行sudo usermod -aG vboxsf $USER注意这里的vboxsf是共享文件夹功能创建的组必须把自己的用户名加进去否则只能看到目录但不能读写。执行后注销重登共享目录会出现在文件管理器的侧边栏路径一般在/media/用户名/share或/mnt下。这样Windows里放几个安装包Ubuntu里直接就能读到比U盘倒腾方便得多。共享文件夹实际是走VirtualBox的专用文件系统驱动不经过网络速度接近磁盘文件拷贝。我经常把源码包和配置文件放在这个共享目录里虚拟机里改的代码顺手就同步到Windows侧方便备份和跨系统协作。4.3 换源更新别让apt卡在龟速下载Ubuntu默认使用的软件源是官方源如果你的网络环境访问它比较慢执行apt update时就能体会到什么叫“下一步是漫长的等待”。装完系统第一件事我建议把软件源换成更近的国内开源镜像站。桌面版Ubuntu可以在“软件和更新”Software Updates设置界面改在“Ubuntu软件”标签页把“下载自”从“服务器”改成“其他站点”然后选一个镜像源点“选择服务器”时会测试速度。命令行党可以直接编辑sources.list用sed把ISO官方地址替换成自己选择的镜像地址sudo sed -i s|http://archive.ubuntu.com/ubuntu|https://mirrors.example.com/ubuntu|g /etc/apt/sources.list注意这里mirrors.example.com是示意实际使用时要替换成你所在地区能访问的、由正规的开发者社区或高校运营的开源镜像站域名。新版本Ubuntu已经支持在/etc/apt/sources.list.d/ubuntu.sources里使用DEB822格式操作方法类似改的就是地址。换完源记得执行一次sudo apt update刷新索引。apt update只是更新软件列表不实际升级软件apt upgrade才会把本机已安装的软件升级到新版本。刚装完系统的虚拟机我习惯先update看一眼源通不通再upgrade把系统带到全新状态。调整系统镜像源这件事的本质很简单你的电脑获取软件包要下载如果下载服务器联系慢整个更新流程就卡住。换个距离更近、线路更通畅的服务器效果立竿见影。这也是虚拟机至少分配2GB以上内存之外的另一个关键体验提升点。5. 常见问题排查我踩过的坑一次性整理给你5.1 启动时就报错VT-x不可用或“有效物理地址无效”如果你点“启动”后虚拟机弹窗提示类似“VT-x is not available”或“VERR_INVALID_PHYSICAL_ADDRESS”原因一般是两个方向电脑BIOS里的CPU虚拟化没开或者Windows的Hyper-V/内核隔离占了虚拟化资源。先按前面的步骤确认“任务管理器”虚拟化状态如果显示已启用就去“Windows功能”里把Hyper-V、虚拟机监控程序这类组件关掉再关闭内核隔离。改完必须重启电脑VirtualBox才会重新获得硬件虚拟化使用权。提示Windows安全中心里的“内核隔离 - 内存完整性”在某些新款电脑上是默认打开的它也是“抢夺虚拟化不打招呼”的头号嫌疑人。以规避冲突为目的关掉它在个人电脑上通常没有明显负面影响。5.2 安装界面卡住、黑屏或分辨率不对安装Ubuntu时黑屏原因大多是显卡驱动兼容问题。在引导菜单按e修改启动参数临时加nomodeset是最常用的一招。装完系统后如果桌面还是花屏或界面模糊优先考虑是不是显存给少了或没开3D加速去虚拟机设置里把显存调到128MB并勾选硬件加速中的“启用3D加速”。还有一个容易被人忽略的安装完系统后必须安装增强功能否则连分辨率都无法自适应调整只能一直用小窗口。很多人说“Ubuntu桌面好卡”九成是没装增强功能。5.3 鼠标不见了、键盘无法输入、光标锁在虚拟机里VirtualBox的默认热键Host键是键盘右侧的Ctrl键。当你发现鼠标在虚拟机里消失不见或者焦点出不来按一下右侧Ctrl键就能释放鼠标光标。如果是一进虚拟机键盘就无法输入检查一下虚拟机的“匹配硬件”设置在“系统 - 主板 - 启用EFI”没有影响键盘倒是“输入”页面里的“自动捕获键盘”选项可能引起焦点问题。平时不用鼠标点来点去切焦点直接在虚拟机的设置里把输入方式设置好问题会少很多。5.4 虚拟机时间总是不准每隔几天差几分钟Ubuntu虚拟机的时钟漂移是VirtualBox老问题。原因在于虚拟机的时钟是软件模拟的加之上虚拟化层的调度时间精度远不如物理机。装了增强功能后VirtualBox默认会定期从宿主机同步时间但如果宿主机和虚拟机里设定的时区不一致或者Windows时间服务和Ubuntu的时间同步打架漂移就会被放大。解决思路确保Windows和Ubuntu都自动对准了正确的时区都选东八区然后安装增强功能。更激进一点的做法是用命令强制开启时间同步VBoxManage setextradata 虚拟机名称 VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled 0这个命令的意思是让虚拟机设备组件主动从宿主机读取时间而不是只依赖网络时间同步服务。执行后重启虚拟机时间漂移基本能控制住。5.5 虚拟硬盘文件越占越大怎么瘦身动态分配的VDI原本只有几GB但用久了即使你在Ubuntu里删除了一大批数据虚拟硬盘文件也不自动缩小。这是因为虚拟硬盘是按块分配空间的删除数据只是把块标记为空闲文件本身不会缩小。想瘦身可以先把虚拟机里的空闲空间清零再压缩镜像。做法有不少网上能找到很多文档但我的建议是如果你不是空间极度紧张就不必做这个操作毕竟压缩前要经过一次完整的磁盘零写入操作耗时很长对SSD也有额外磨损。更省心的做法是不要把所有大文件都堆在虚拟机里重要的文件通过共享文件夹直接放宿主机的物理磁盘上。写在最后的一点点个人建议这几步流程我走过很多遍最大的感受是装Ubuntu虚拟机这件事真正的难点不在于“点哪些按钮”而在于出了问题能不能定位到原因。很多人被黑屏、被启动报错劝退实际上大多是虚拟化冲突、没装增强功能、显存配置不合理这三类问题。把本文里提到的检查点过一遍大部分疑难杂症都有解。如果你第一次装我建议保守一点内存给4GBCPU给2核硬盘动态分配40GB网络选NAT先用“清除整个磁盘”方案安装。系统装完、增强功能装好、快照做好再往后折腾什么都方便。快照这个习惯值得单独强调——配置好一个干净系统后打个快照以后就算把系统玩坏一键还原回初始状态比重装省事太多。真正用起来之后你还可以在这个环境下大胆试各种Linux命令、开发框架、容器方案反正只是在虚拟的沙盒里折腾坏了不影响宿主机。折腾本身就是学Linux最好的方式。