资讯动态

VMware中创建Ubuntu虚拟机:从配置到排错全指南

发布时间:2026/9/13 16:42:26 来源:尧图企业网站定制
VM这个东西搞技术的基本都绕不开。不管是写代码、跑服务还是折腾Linux虚拟机几乎是刚需。而Ubuntu作为Linux发行版里用户量最大、资料最全、踩坑最容易搜到答案的选择自然成了大多数人入坑虚拟机的第一站。最近后台也收到不少私信问怎么用VM创建一个Ubuntu虚拟机今天借这个机会把从方案选型、参数配置到装完系统后的实用设置一次说清楚顺便把我这些年踩过的坑也一并交代了。先说一句这篇文章不只是教你点“下一步”还会把每个关键选择背后的原因解释明白。毕竟装个虚拟机不难难的是装完之后用得顺手、不返工。无论你是刚入门的学生、做后端开发的工程师还是只是在Windows电脑上偶尔需要个Linux环境这篇内容应该都能帮你省下不少时间。1. 为什么要在虚拟机里跑Ubuntu思路与方案选型很多朋友一上来就问“VM怎么装”“Ubuntu怎么装”但我想先说点更重要的你到底为什么要用虚拟机跑Ubuntu这决定了后面所有步骤怎么选。1.1 虚拟机解决了什么问题简单说虚拟机就是在你现有系统上模拟出一台完整的电脑。它有自己的CPU、内存、硬盘、网卡只不过这些硬件都是“虚拟”的。你在这台虚拟电脑里装什么系统、怎么折腾都不会影响物理机。这个特性带来的好处特别实在开发环境隔离。我在Windows上写代码在虚拟机里跑Linux服务两边互不干扰。项目环境里装一堆依赖、改了系统配置大不了删掉虚拟机重来物理机上一尘不染。跨平台实验。有些软件只有Linux版本或者只在Linux下运行稳定虚拟机就是最便捷的体验途径。快照回滚。这是虚拟机最爽的功能之一。装系统前打个快照后面怎么折腾都不怕出问题一键恢复。这在物理机上几乎不可能做到。可能有人会问那为什么不直接搞双系统双系统的痛点在于重启切换、磁盘分区风险、还有驱动兼容问题。我早期也装过双系统每次想用Linux环境都得重启一天来回好几次折腾得够呛。虚拟机虽然性能有轻微损失但对于日常开发、学习、跑测试服务来说这点损耗几乎感知不到。还有一层对比是WSL。如果你是纯开发用途WSL确实轻量好用但它毕竟不是一个完整的Linux内核对硬件访问、网络复杂的实验场景支持有限。而且很多网络教程、企业生产环境都假设你用的是完整虚拟机照着文档操作更不容易出偏差。所以我的建议是WSL适合轻量开发但正经学Linux或者模拟服务器环境还是用完整的虚拟机更靠谱。1.2 VMware Workstation 和 VirtualBox 怎么选开始动手前先解决工具选型的问题。现在主流的桌面虚拟机软件就两个VMware Workstation 和 Oracle VM VirtualBox。对比项VMware WorkstationVirtualBox授权方式商业软件个人学习可申请免费授权开源免费性能表现图形性能、磁盘IO更强中规中矩日常够用稳定性非常稳企业用户多较稳小问题偶尔有快照功能支持操作简单也支持但一次只能一个网络模式NAT、桥接、仅主机同样齐全3D加速支持较好勉强能用说实话这两个我用得都不少。从个人经验来说如果追求省心和性能VMware Workstation是首选尤其装Ubuntu桌面版时3D加速和窗口适应做得更好。VirtualBox的优势是完全免费开源跨平台硬兼容性更广轻量级使用也足够。这俩的底层逻辑都是创建一个“虚拟硬件平台”然后通过hypervisor把物理机的CPU、内存等资源调度给虚拟机使用。所以不管选哪个接下来要设置的参数思路是高度一致的。这篇文章以VMware Workstation为例来讲如果你用的是VirtualBox流程大同小异关键参数直接照搬就行。提示不管用哪个软件都要先在BIOS里确认开启了CPU虚拟化技术Intel VT-x或AMD-V。现在的电脑基本默认开启但个别机器没开进系统检测不到就会导致虚拟机起不来。1.3 Ubuntu版本怎么选在动手之前还得把系统镜像选对了。Ubuntu的版本主要分两类LTS版本长期支持版官方维护5年稳定压倒一切。目前主流的LTS版本是20.04、22.04和24.04。普通版本每6个月发一个用最新内核和软件但支持周期短不适合当主力环境。我的建议是闭眼选LTS。开发环境求的是稳定不需要追新。24.04 LTS是目前比较新的选择22.04则更成熟、网上资料最多。你如果刚开始学选22.04会更容易搜到答案。另外还要区分桌面版Desktop和服务器版Server。简单说桌面版自带图形化界面适合新手和日常办公使用服务器版只有命令行适合跑服务、学运维。如果你平时用Windows习惯了图形界面刚从零接触Linux先装桌面版会舒服得多。装完之后该用的命令行功能一个不少多了一层图形界面罢了。官网下载地址是 ubuntu.com/download选对应版本的Desktop image下载ISO文件就行大概4到5GB。接下来所有操作都要用到这个镜像。2. 创建虚拟机之前先把这些参数想清楚很多人装虚拟机失败往往不是操作不对而是参数设得不符合自己实际需求。要么给的内存太小虚拟机卡成幻灯片要么磁盘分配不合理后期扩容麻烦。这一节把几个关键参数掰开揉碎讲清楚。2.1 CPU、内存、磁盘怎么给新建虚拟机的过程中最常遇到的就是这三个配置项。给你一个可以直接用的推荐配置基本能覆盖90%的日常用途配置项推荐值说明处理器数量2核编译代码够用再多会抢物理机资源内存4GB跑桌面版Ubuntu不卡的最低舒适值磁盘60GB动态分配装完系统约占10GB留足后续扩展空间网络NAT默认即可后面细说如果你物理机是16GB内存以上虚拟机给6GB甚至8GB会更流畅特别是要在里面跑Docker或者编译大型项目时。物理机只有8GB内存的话虚拟机最多给4GB否则Windows自己都会卡。关于CPU有个细节在VMware里你会看到“处理器数量”和“每个处理器的内核数量”两个设置。很多人困惑这个怎么填。其实对于普通使用者来说这两项分别填1和2、或是2和1效果差别微乎其微因为Windows调度器会把它当成逻辑处理器来看。我一般直接填“处理器数量1、每个处理器内核数量2”简单省事。磁盘这块要特别说一句VMware创建磁盘时有两种模式动态分配和立即分配所有空间。动态分配的意思是虚拟磁盘文件刚开始很小随着你往里写数据才慢慢变大立即分配则是一开始就占满物理磁盘空间。我强烈建议选动态分配这样就算你配了60GB实际占用的物理空间远小于这个数。日常使用几十GB的大小性能差异基本感知不到。2.2 网络模式NAT、桥接还是仅主机网络模式是虚拟机里最容易让人懵的地方也是很多问题的根源。VMware提供了三种模式我用大白话跟你解释NAT模式虚拟机通过宿主机上网外部设备看不到这台虚拟机。就好比你家一家人共用一个宽带账号外人只知道你家一个IP不知道家里有几台电脑。这是最省心的默认选项虚拟机装好就能上网宿主机和虚拟机之间也能互相访问。桥接模式虚拟机直接接入物理网络相当于局域网里多了一台独立设备有自己的IP能被局域网其他设备直接访问。适合需要对外提供服务、或者和局域网其他机器联通的场景。仅主机模式虚拟机只能和宿主机通信不能访问外网。适合做封闭测试环境。对于绝大多数首次使用场景NAT模式就是首选。先跑起来等到后面需要外部设备访问虚拟机里的服务时再切换成桥接模式也不迟。有个点需要提醒你注意NAT模式下宿主机访问虚拟机里开的网站服务用的是虚拟机的内部IP一般是192.168.x.x而虚拟机访问宿主机用的通常是网关地址或者直接通过NAT转发到物理网络。这个机制理解不透的话很容易在后面遇到“为什么我在主机上打不开虚拟机里的网页”这种问题。2.3 镜像下载与校验配置参数之前还得先把Ubuntu系统镜像准备好。这里有个很容易被忽略的细节下载完ISO镜像之后最好校验一下文件的SHA256值。官网提供了对应的校验值用命令或工具比对一下能避免下载损坏导致的安装失败。Windows下校验SHA256可以在PowerShell里执行Get-FileHash D:\Downloads\ubuntu-22.04.4-desktop-amd64.iso -Algorithm SHA256把输出的哈希值和官网给的值比对就行。这一步不是必须的但如果你下载速度慢、或者网速不稳定导致文件损坏安装时各种诡异报错会让你怀疑人生提前校验能省很多排查时间。3. 实操从新建虚拟机到装好Ubuntu桌面参数想清楚了镜像也下好了下面开始正式操作。我以VMware Workstation为例一步一步带你走完整流程。3.1 新建虚拟机的完整步骤打开VMware Workstation点击“创建新的虚拟机”。这里有两个选项“典型”和“自定义”。新手选“典型”就行但如果你想对硬件参数做更精细的控制选“自定义”。我一般选自定义反正后面都要改配置与其装完再改不如一开始就设好。接下来是选择镜像来源有两个路径直接选择“安装程序光盘映像文件”指定你下载好的Ubuntu ISO。也可以先选择“稍后安装操作系统”创建空虚拟机后面再挂载镜像。我第一次装的时候选了第一种VMware会自动识别出Ubuntu 64位挺方便。但要注意如果你用了这个路径VMware会进入简化安装模式它会让你先预设用户名和密码然后自动安装系统全程基本不用手动干预。这个模式适合赶时间的情况但有时候分区方案不符合预期。想要完全掌控安装过程就选“稍后安装操作系统”等创建完成后再手动挂载ISO然后从启动顺序里引导安装。这中间VMware通常会自动检测到系统类型你只需要确认操作系统是“Linux”版本选“Ubuntu 64位”即可。然后来到处理器和内存设置页参照前面表格CPU给2核内存给4GB。这里提醒一句内存不是越多越好给虚拟机分配太大的内存会导致物理机资源吃紧反而整体卡顿。磁盘创建那一步选择“创建新虚拟磁盘”磁盘大小填60GB勾选“将虚拟磁盘存储为单个文件”或者“拆分成多个文件”都行。单个文件性能稍好跨平台复制方便拆分成多个文件则便于备份和转移。我个人习惯用单个文件。到这里一个“空壳”虚拟机就创建好了。先别急着开机还需要调整两个隐藏设置开启虚拟化引擎在虚拟机设置里找到“处理器”一栏勾选“虚拟化Intel VT-x/AMD-V”。这个选项能让虚拟机里的系统使用硬件虚拟化对后面跑Docker、KVM这类嵌套虚拟化软件很重要。调整显存在“显示器”一栏把显存拉到最大通常是128MB3D加速也勾上。这能让Ubuntu桌面动画更流畅。3.2 Ubuntu系统安装全流程搞定了虚拟机配置接下来开机进入安装流程。虚拟机启动后会从ISO引导你会看到Ubuntu的GRUB引导界面默认第一项是“Try or Install Ubuntu”。回车进去经过一个进度条后就进入了桌面环境。桌面上有一个“Install Ubuntu”图标双击开始安装。这里我强烈建议提前点开终端随便跑一条ping命令确认虚拟机有网络了再开始安装。因为安装过程需要联网下载更新和第三方驱动如果有网络整个过程会顺利很多。安装界面第一步是选择键盘布局默认的“English (US)”就行中文用户后面装完系统再切换输入法。接下来关键的一步是“更新和其他软件”最小安装 vs 正常安装正常安装会带上办公软件和媒体播放器最小安装则只带基础工具。我建议选最小安装干净且省时间需要什么软件后面自己装。勾选“为图形或无线硬件安装第三方软件”这个必选涉及显卡驱动和WiFi固件不选的话后续常有显示或者无线问题。分区这一步经常让新手头皮发麻其实Ubuntu安装器有默认的“清除整个磁盘并安装Ubuntu”选项。注意这里的“磁盘”是虚拟磁盘不会影响物理机数据可以放心选。如果你要做自定义分区常用的方案是挂载点大小文件系统说明/boot/efi512MBFAT32EFI引导分区/剩余全部ext4根目录swap4GBswap交换分区内存不够时会用到我个人的习惯是给root用户也设置密码虽然Ubuntu默认禁用root直接登录但设置一个密码总归在紧急情况下多个选择。分区方案确认后安装器就开始拷贝文件了这个过程取决于磁盘性能一般5到15分钟。拷贝完成后提示“安装完成请重启”直接回车重启系统会自动弹出虚拟光驱里的ISO按提示移除安装介质后回车即可。重启之后你就得到了一台能正常运行的Ubuntu虚拟机。第一次启动会进入设置向导选择隐私、在线账户、Ubuntu Pro那些直接跳过或者按需勾选就行这些都不影响使用。3.3 装完系统后的三件套换源、装VM Tools、开SSH系统能进桌面只是万里长征第一步。装完之后还有三件事建议立刻做能极大提升虚拟机使用体验。第一件是换软件源。默认的Ubuntu源服务器在国外下载软件速度感人。国内用户建议换成阿里云或清华大学的镜像源。操作方式很简单打开“软件和更新”应用在“下载自”那里选“其他站点”然后点“选择最佳服务器”系统会自动测试找个最快的源。或者直接改配置文件用清华源替换sudo sed -i s/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g /etc/apt/sources.list改完后执行sudo apt update sudo apt upgrade把系统更新到最新状态。这一步建议在虚拟机刚装完时做因为此时系统最干净更新的过程中不容易出现依赖冲突。第二件是安装VMware ToolsVMware Workstation下对应的是open-vm-tools。这玩意的重要性很多人低估了。装上它你才能实现宿主机和虚拟机之间的文件拖拽、剪贴板共享、自适应分辨率窗口。如果没装Ubuntu窗口在虚拟机里显示不全或者分辨率调不动用起来非常难受。现在VMware已经默认会安装open-vm-tools如果没有自动装手动执行sudo apt install open-vm-tools open-vm-tools-desktop装完重启你就会发现窗口大小能跟着VMware窗口自动缩放了拖文件也顺畅多了。这里补充一点桌面版Ubuntu装open-vm-tools-desktop纯服务器版装open-vm-tools就行别弄混。第三件是开启SSH服务。虽然桌面版Ubuntu可以通过自带的Terminal直接操作但很多时候你在Windows上有更顺手的SSH客户端比如FinalShell、Tabby从宿主机连进虚拟机里敲命令比在虚拟机的界面里操作要舒服得多。开启方式sudo apt install openssh-server sudo systemctl enable ssh sudo systemctl start ssh然后查看虚拟机的IP地址ip addr找到类似192.168.x.x的地址在宿主机上用SSH客户端就能连进来了。这一步做完你的虚拟机使用体验会有质的飞跃。4. 装机之后最容易踩的坑系统装好、工具装完用着用着你就会碰到各种问题。这里把几个高频问题集中整理一下都是我自己或者周围朋友实际踩过的坑。4.1 ubuntu ssh无法连接多半是这五个原因SSH连不上是虚拟机用户遇到最多的问题而且症状一模一样连的时候一直转圈最后提示timeout或者connection refused。我的排查顺序是确认SSH服务是否运行在虚拟机里执行sudo systemctl status ssh如果状态不是active (running)先启动它。很多时候是新人装完openssh-server后忘了启动。确认IP地址是否正确NAT模式下虚拟机的IP一般和宿主机不在同一网段要用ip addr看虚拟机的实际IP别用宿主机的IP去连。确认网络模式是NAT还是桥接如果你切换了网络模式虚拟机的IP会发生变化之前配置的SSH连接自然失效。检查防火墙Ubuntu默认没有启用ufw防火墙但如果你的系统用了ufw要放行22端口sudo ufw allow 22。这个步骤经常被忽略。确认虚拟机是否进入了省电/锁屏状态桌面版Ubuntu如果屏幕锁定或者挂起网络服务有时会受影响先动一动鼠标唤醒它再说。多数情况下前面三步就能解决95%的问题。如果还不行在虚拟机里执行sudo journalctl -u ssh --no-pager | tail -30看日志通常能发现真正的报错原因。4.2 主机访问虚拟机网站失败注意NAT转发的限制很多人在虚拟机上起了个Nginx或者开发服务器然后兴冲冲地在Windows浏览器里输入虚拟机的IP发现打不开。这里我给一个明确的建议如果只是宿主机自己访问虚拟机里的服务用NAT模式就行直接访问虚拟机的IP和端口比如http://192.168.164.128:8080。如果要让局域网其他设备也访问虚拟机的服务必须用桥接模式让虚拟机直接成为局域网的一员。NAT模式下外部设备默认是访问不到虚拟机里跑的服务的。另外一个常见的坑是端口监听地址。虚拟机里启动服务时监听地址一定得是0.0.0.0而不能是127.0.0.1。很多开发框架默认监听localhost只允许本机访问外部根本连不进来。检查一下服务的监听端口ss -tlnp | grep 8080如果显示的是127.0.0.1:8080说明服务只监听在回环地址上改成0.0.0.0就解决了。4.3 虚拟机IP老变、找不着IP怎么办用着用着发现SSH连不上了一看虚拟机的IP变了。原因很简单DHCP分配的IP不是固定的虚拟机重启后可能换地址。解决方案有这几个思路最简单的做法是把虚拟机网络配置为静态IP。编辑/etc/netplan/下的配置文件文件名一般是01-network-manager-all.yaml或类似名字加上固定IP的设置。或者修改路由器的DHCP设置给虚拟机的MAC地址绑定固定IP。但虚拟机在NAT模式下的IP由VMware虚拟网卡分配跟物理路由器无关这个方法只在桥接模式下有效。实在懒得改每次用之前先ip addr看一眼新地址也凑合。我自己的习惯是直接给虚拟机配静态IP一劳永逸。配置Netplan的示例如下network: version: 2 ethernets: ens33: dhcp4: false addresses: - 192.168.164.129/24 routes: - to: default via: 192.168.164.2 nameservers: addresses: - 223.5.5.5 - 119.29.29.29注意ens33是虚拟网卡名称via后面的网关地址在NAT模式下一般是VMware虚拟网卡2的地址在Windows的“网络连接”里能看到通常是192.168.164.1或192.168.164.2。配置完执行sudo netplan apply生效。4.4 其他高频问题速查表现象可能原因解决办法虚拟机开机黑屏没有开启CPU虚拟化BIOS开启VT-x/AMD-V窗口分辨率无法自适应没装open-vm-tools安装open-vm-tools-desktop文件拖拽不进去没装增强工具/未重启安装VM Tools后重启虚拟机系统启动卡在GRUB引导配置出错重启进入GRUB选advanced选项修复apt update速度极慢默认国外源替换为国内镜像源虚拟机内声音杂音声卡驱动兼容问题虚拟机设置里切换声卡模型磁盘空间不足动态磁盘写满了增加虚拟磁盘容量或在系统内清理生成快照报错磁盘空间不足/文件被占用释放宿主机磁盘空间关闭其他快照进程这里特别说一下快照。热搜里有一条“生成快照时出错”大概率是两种情况一种是宿主机磁盘空间不够因为快照要额外占用存储空间另一种是虚拟机正忙比如正在安装系统或大量IO操作此时快照容易失败。解决方法是等虚拟机空闲下来再拍快照同时确保宿主机的剩余磁盘空间至少比虚拟磁盘大小多出几个GB。5. 让Ubuntu虚拟机更好用的几个实用扩展到这里你的Ubuntu虚拟机已经能正常使用了。但如果想让它更好用下面这几个扩展建议值得试试。5.1 快照虚拟机的后悔药快照功能是我最喜欢虚拟机的原因之一。在系统刚装好、配置完基本环境后打一个干净的快照之后怎么折腾都不怕。打快照的时机建议系统刚安装完成还没装任何软件时拍一个“纯净版”。装完常用开发工具、配好环境后拍一个“日常开发版”。做比较大胆的操作比如升级内核、改装桌面环境之前拍一个“操作前备份”。恢复快照只需几秒钟系统就回到当时的状态比备份虚拟磁盘文件方便太多。VMware的快照和VirtualBox不同它支持多个快照链你可以规划多个时间点的状态来回切换。需要注意快照不是备份它依赖原始虚拟磁盘文件。虚拟机文件整体复制一份才是万无一失的备份方案。5.2 共享文件夹设置如果你的日常习惯是Windows上编辑代码、虚拟机里跑代码共享文件夹功能会非常顺手。在VMware里通过“虚拟机设置 → 选项 → 共享文件夹”添加宿主机的一个目录指定挂载名。然后在Ubuntu里执行sudo mkdir /mnt/shared sudo mount -t fuse.vmhgfs-fuse .host:/shared /mnt/shared -o allow_other这样就能在虚拟机里直接访问Windows下的文件夹了。不过要注意这个命令重启后会失效想开机自动挂载需要在/etc/fstab里加一行记录.host:/shared /mnt/shared fuse.vmhgfs-fuse allow_other,defaults 0 05.3 在虚拟机里装Docker装好了Ubuntu虚拟机很多人是为了跑Docker容器。这里提醒一个嵌套虚拟化的坑如果在虚拟机里启用Docker的默认网络有些环境会提示iptables相关的问题。建议安装完Docker后把存储驱动确认一下docker info | grep -i storage显示overlay2就是正常的。如果遇到网络问题尝试重启Docker服务或者把Docker的iptables设为false用/etc/docker/daemon.json配置然后重启Docker服务。我自己在虚拟机里跑Docker还是很顺畅的只要给的内存足够建议6GB以上小规模容器集群完全没压力。安装Docker的命令很简单curl -fsSL https://get.docker.com | sudo sh sudo usermod -aG docker $USER把当前用户加进docker组之后执行docker命令就不用加sudo了这是官方推荐做法安全性和方便性都比较平衡。6. 写到最后花了一整天把VM创建Ubuntu虚拟机这条线完整走了一遍从选型、配置到安装、排错这些经验基本是从最早折腾虚拟机到现在一步步攒下来的。对我来说虚拟机的价值远不只是“装个系统玩玩”它更像是一个随时可以推倒重来的实验场。很多不敢在物理机上尝试的操作丢进虚拟机里随便折腾坏了就恢复快照这种心理安全感是双系统替代不了的。另外一个实用心得是虚拟机配置不是一次到位的。用了一个月之后你可能发现内存不够、磁盘不够或者网络模式需要调整这些都能在VMware的设置里随时改完全不用重新安装系统。所以第一次配置不用追求“一步到位”够用就行后面按需调整。最后分享一个很多人不知道的小技巧如果你要把这个Ubuntu虚拟机带到别的电脑上使用把整个虚拟机文件夹拷贝过去用新电脑的VMware“打开虚拟机”功能直接就能启动不需要重新安装。这是虚拟机比物理机又一个方便得多的点。去试试吧相信你也能体会到这种“系统级自由度”带来的快乐。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价