先用一句话说清楚:这篇文章就是教你在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处理器,对应要下载AMD64(x86_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”手动分区里这样分:/boot:1GB,存放内核和引导文件。/: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虚拟机这件事真正的难点不在于“点哪些按钮”,而在于出了问题能不能定位到原因。很多人被黑屏、被启动报错劝退,实际上大多是虚拟化冲突、没装增强功能、显存配置不合理这三类问题。把本文里提到的检查点过一遍,大部分疑难杂症都有解。如果你第一次装,我建议保守一点:内存给4GB,CPU给2核,硬盘动态分配40GB,网络选NAT,先用“清除整个磁盘”方案安装。系统装完、增强功能装好、快照做好,再往后折腾什么都方便。快照这个习惯值得单独强调——配置好一个干净系统后打个快照,以后就算把系统玩坏,一键还原回初始状态,比重装省事太多。真正用起来之后,你还可以在这个环境下大胆试各种Linux命令、开发框架、容器方案,反正只是在虚拟的沙盒里折腾,坏了不影响宿主机。折腾本身,就是学Linux最好的方式。
先用一句话说清楚:这篇文章就是教你在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处理器,对应要下载AMD64(x86_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”手动分区里这样分:/boot:1GB,存放内核和引导文件。/: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虚拟机这件事真正的难点不在于“点哪些按钮”,而在于出了问题能不能定位到原因。很多人被黑屏、被启动报错劝退,实际上大多是虚拟化冲突、没装增强功能、显存配置不合理这三类问题。把本文里提到的检查点过一遍,大部分疑难杂症都有解。如果你第一次装,我建议保守一点:内存给4GB,CPU给2核,硬盘动态分配40GB,网络选NAT,先用“清除整个磁盘”方案安装。系统装完、增强功能装好、快照做好,再往后折腾什么都方便。快照这个习惯值得单独强调——配置好一个干净系统后打个快照,以后就算把系统玩坏,一键还原回初始状态,比重装省事太多。真正用起来之后,你还可以在这个环境下大胆试各种Linux命令、开发框架、容器方案,反正只是在虚拟的沙盒里折腾,坏了不影响宿主机。折腾本身,就是学Linux最好的方式。