☰
VmWare安装Ubuntu 22.04 LTS完整指南
2026/10/16 5:51:48 网站建设 项目流程

1. 项目概述:为什么一个“VmWare 安装Ubuntu”还值得专门写一篇长文?

“VmWare 安装Ubuntu【多图预警】”——光看标题,你可能觉得这不过是个入门级操作,网上教程一抓一大把,甚至有些老手看到标题就直接划走。但我在某高校实验室带过三年Linux系统实践课,也给二十多家中小企业的开发团队做过虚拟化环境搭建支持,发现一个扎心的事实:90%以上卡在Ubuntu安装环节的人,根本不是不会点“下一步”,而是根本没搞懂自己到底在安装什么、为什么要这样配置、哪一步出错会导致后续完全无法启动或网络不通。他们照着某篇2018年的博客点完所有选项,结果装完连终端都打不开,或者能进桌面却上不了网,再回头查问题时,连错误日志里那行英文报错是哪个组件抛出来的都分不清。

这个标题里的关键词,“VmWare”不是泛指任何虚拟机软件,它特指Workstation Pro(或Player)这一套成熟、稳定、对Linux内核兼容性极佳的商用虚拟化平台;而“Ubuntu”也不是随便选个ISO就行——当前生产环境最稳妥的是Ubuntu 22.04 LTS(Jammy Jellyfish),它内核为5.15,预装了完整的virtio驱动、open-vm-tools基础服务,且LTS版本提供长达5年的安全更新,比24.04刚发布时的驱动适配稳定性高出一个数量级。至于【多图预警】,不是为了凑数,而是因为VmWare的每一个关键配置界面(比如网络适配器类型选择、固件模式切换、共享文件夹权限勾选)背后,都对应着底层硬件模拟逻辑和宿主机资源调度策略。一张图没截对,新手就可能误选“NAT模式”却没启用DHCP服务,或者开了“桥接模式”却忘了关宿主机防火墙,导致整个网络调试陷入死循环。

所以这篇内容,不是教你怎么“点下去”,而是带你从虚拟硬件层开始重建认知:VmWare本质是在你的Windows/macOS物理机上,用软件方式“造出一台假电脑”,而这台假电脑的CPU、内存、硬盘、网卡,全靠VmWare的hypervisor动态翻译指令、分配资源、拦截I/O请求。Ubuntu安装过程,就是让这个“假电脑”的BIOS/UEFI固件识别到你挂载的ISO镜像,加载内核,探测虚拟设备,再把系统文件写进那块被模拟出来的“SCSI硬盘”。你每点一次“Next”,都在向这个虚拟硬件发送一条不可逆的配置指令。我试过用同一份ISO,在相同配置下,仅因“固件类型”选UEFI还是BIOS不同,安装后grub引导菜单就完全不显示;也见过有人把网络适配器从“VMXNET3”换成“E1000”,结果Ubuntu启动时卡在“Waiting for network to be configured”长达三分钟——这些都不是玄学,全是可解释、可复现、可修正的技术因果链。

适合谁来读?如果你是刚接触Linux的大学生,正为课程实验发愁;如果你是转岗做后端开发的程序员,需要快速搭个Docker测试环境;如果你是运维新人,得在客户现场临时部署一套监控节点——那么这篇内容就是为你写的。它不假设你懂KVM或QEMU,也不要求你背过GRUB命令,但会确保你装完之后,能SSH连进去、能apt update成功、能挂载宿主机文件夹、能调高分辨率不糊屏。接下来的所有章节,都围绕这四个“能”字展开,每一处细节,都是我在真实场景中反复验证过的最小可行路径。

2. 核心设计思路与方案选型解析:为什么不是VirtualBox,也不是WSL2?

2.1 虚拟化平台选型:VmWare Workstation Pro vs Player vs 其他

先说结论:个人学习与轻量开发,用VmWare Workstation Player完全够用;团队协作或需高级功能(如快照链、克隆模板、Vagrant集成),必须上Workstation Pro。很多人纠结VirtualBox,它开源免费,界面也简洁,但实际踩坑率远高于VmWare。原因很实在:VirtualBox的Guest Additions驱动更新滞后,尤其在Ubuntu新内核发布后,常出现显卡驱动编译失败、共享剪贴板失效、时间同步漂移等问题。我曾帮某公司排查一个持续两周的CI构建失败问题,最终定位到是VirtualBox 6.1.38的vboxsf模块与Ubuntu 22.04.3内核5.15.0-91不兼容,导致Jenkins工作区挂载失败。换用VmWare后,open-vm-tools在系统安装时已自动集成,无需手动编译,问题当天解决。

而WSL2虽然启动快、资源占用低,但它根本不是虚拟机——它是基于Hyper-V的轻量级Linux子系统,没有独立的内核、没有完整的systemd、无法运行Docker Desktop(需额外启用WSL2 backend)、更不支持GPU直通或USB设备透传。如果你只是跑Python脚本,WSL2挺好;但你要测Kubernetes集群、要调试内核模块、要连串口设备做IoT开发,WSL2直接出局。VmWare的优势在于它模拟的是“完整PC”,从BIOS自检、PCI设备枚举、ACPI电源管理到SATA控制器初始化,全部按真实硬件逻辑走一遍。这意味着你在VmWare里装的Ubuntu,和你在物理服务器上装的,除了性能略有差异,行为逻辑几乎一致。这种一致性,是工程落地的生命线。

提示:Workstation Player虽免费,但2024年起已停止对Windows 10以下系统的支持;Workstation Pro需付费,但教育邮箱可申请免费许可(某高校实验室每年为学生批量申请)。别贪图破解版——盗版驱动签名被禁用后,Ubuntu启动时会卡在“Loading initial ramdisk”,连恢复模式都进不去。

2.2 Ubuntu版本与镜像选择:LTS不是口号,是血泪教训

Ubuntu官网提供Desktop(带GUI)和Server(纯命令行)两个ISO。很多教程默认推Desktop版,但这是个隐蔽陷阱。Desktop版默认启用GNOME桌面、Snap包管理器、以及一堆后台服务(如whoopsie错误报告、apport崩溃收集),这些在虚拟机里会吃掉大量内存和CPU。我实测过:一台分配2GB内存的虚拟机,装Desktop版后,空闲状态下free -h显示可用内存仅剩300MB,top里gnome-shell和snapd常年占满一个CPU核心;换成Server版,同样配置下,空闲内存稳定在1.4GB,CPU负载低于0.1。

所以我的建议非常明确:除非你明确需要图形界面做UI测试,否则一律选Ubuntu Server 22.04.4 LTS ISO。它的安装流程更精简,不问你“是否安装第三方驱动”(VmWare不需要)、不强制你联网(离线也能装),分区步骤清晰(可选“Use entire disk”一键搞定),且默认启用OpenSSH服务——装完重启,你就能用Xshell或Terminal直接SSH登录,省去后续手动开服务的麻烦。

注意:务必从https://releases.ubuntu.com/22.04/ 下载官方SHA256校验值,用certutil -hashfile ubuntu-22.04.4-live-server-amd64.iso SHA256(Windows)或shasum -a 256 ubuntu-22.04.4-live-server-amd64.iso(macOS/Linux)核对。我见过三次因下载中断导致ISO损坏,安装到70%时提示“initramfs unpacking failed”,重装三遍才发现是镜像本身坏了。

2.3 虚拟硬件配置:参数不是越大越好,而是要匹配真实需求

很多人一创建虚拟机就狂拉资源:4核CPU、8GB内存、100GB硬盘。结果呢?宿主机卡成PPT,Ubuntu里htop显示CPU使用率长期99%,但实际任务队列空空如也——因为VmWare的CPU调度器在超配时会产生严重争抢。我的经验法则是:按“最小够用+预留20%余量”原则配置。

  • CPU:开发测试环境,2核足够。Ubuntu Server 22.04的systemd能完美调度双核,make -j4编译也不会卡顿。若跑数据库或大数据分析,再升到4核。
  • 内存:2GB是底线。Server版最小启动需约1.2GB,留800MB给应用缓冲。别信“1GB也能跑”的说法——apt upgrade时会因内存不足触发OOM Killer,直接杀掉dpkg进程,导致系统半残。
  • 硬盘:推荐25GB起。Ubuntu Server基础系统占约4GB,/var/log日志、/var/cache/apt/archives缓存、Docker镜像层,三个月就能吃掉10GB。用“Split virtual disk into multiple files”选项,方便后续迁移;格式选“Thin Provisioned”,按需分配空间,避免一创建就占满宿主机磁盘。

最关键的是固件类型:必须选“UEFI”,而非传统BIOS。Ubuntu 22.04默认使用GRUB2+UEFI引导,选BIOS会导致安装后无法启动,或启动时黑屏。VmWare从16.x版本起已全面优化UEFI模拟,安全启动(Secure Boot)可关闭,不影响功能。

3. 核心细节解析与实操要点:从创建虚拟机到首次登录的每一步深挖

3.1 创建虚拟机前的宿主机准备:三个常被忽略的硬性前提

在VmWare里点“Create a New Virtual Machine”之前,请务必确认以下三点,否则后面所有操作都是无用功:

  1. 宿主机虚拟化技术已开启:Windows用户需进入BIOS/UEFI,找到“Intel VT-x”或“AMD-V”选项并设为Enabled;macOS用户(M1/M2芯片)注意:VmWare Fusion Tech Preview才支持ARM虚拟化,x86版VmWare无法在Apple Silicon上运行。我曾帮一位设计师远程排查,折腾两小时才发现她MacBook Air M1根本不能装x86版VmWare。

  2. 关闭Hyper-V与Windows Sandbox:Windows 10/11默认启用Hyper-V,它会独占硬件虚拟化层,导致VmWare启动时报错“VMware Workstation cannot connect to the virtual machine”。以管理员身份运行PowerShell,执行:

    dism.exe /Online /Disable-Feature:Microsoft-Hyper-V /All /NoRestart bcdedit /set hypervisorlaunchtype off shutdown /r /t 0

    重启后,VmWare才能接管VT-x。

  3. 为VmWare分配足够权限:Windows Defender可能会将VmWare进程误判为风险程序,阻止其创建虚拟网卡。需在Defender设置中,将vmware.exe、vmware-vmx.exe加入“排除项”;同时右键VmWare快捷方式→“属性”→“兼容性”→勾选“以管理员身份运行此程序”。否则安装Ubuntu时,网络配置步骤会提示“Failed to start NetworkManager service”。

实操心得:每次重装系统后,我都会新建一个记事本,把这三条命令和操作截图存好。因为90%的“VmWare打不开虚拟机”问题,根源都在这里,而不是Ubuntu镜像或配置。

3.2 虚拟机创建向导中的关键决策点:五处必须手动干预的位置

VmWare的“New Virtual Machine Wizard”看似傻瓜,但有五个位置必须停下思考,不能一路“Next”:

  • 第2步:Installer Disc Image file (ISO)
    点“Browse”选中你下载好的ubuntu-22.04.4-live-server-amd64.iso。重点来了:不要勾选“Copy the installation disc to the virtual machine”!这个选项会把ISO复制一份到虚拟机目录,浪费空间且无必要。直接指向原ISO路径即可。

  • 第3步:Virtual Machine Name and Location
    名称建议用语义化命名,如ubuntu-dev-2204,而非VM1。位置选在SSD盘(如D:\VMs\),机械硬盘会导致安装过程卡顿。VmWare默认把所有VM存在C:\Users\XXX\Documents\Virtual Machines\,C盘爆满是新手常见悲剧。

  • 第4步:Maximum Disk Size
    输入25GB后,务必取消勾选“Store virtual disk as a single file”。选“Split virtual disk into multiple files”,单个文件不超过2GB,既方便备份(可rsync增量同步),也避免单文件过大导致云盘上传失败。

  • 第5步:Customize Hardware(点击后进入高级设置)
    这是核心战场,逐项确认:

    • Processors:勾选“Virtualize Intel VT-x/EPT or AMD-V/RVI”,这是启用嵌套虚拟化的开关,后续若要在Ubuntu里跑Docker或K3s,必须开。
    • Memory:滑块拉到2048MB,下方勾选“Enable virtual memory page file on host”,让VmWare用宿主机页面文件缓解内存压力。
    • Network Adapter:关键!选“NAT Mode”,不是“Bridged”。NAT模式下,VmWare自动创建一个私有子网(如192.168.121.0/24),Ubuntu获取192.168.121.x地址,通过宿主机NAT上网,无需额外配置;Bridged模式需宿主机在同一局域网有可用IP,且易受路由器DHCP限制。
    • CD/DVD (SATA):状态设为“Connected”,勾选“Connect at power on”,否则启动时读不到ISO。
    • Printer & USB Controller:全关。虚拟打印机和USB设备在Server版里毫无用处,还占资源。

完成上述设置,点“Close”,再点“Finish”。此时虚拟机已创建完毕,但尚未安装系统。

3.3 Ubuntu安装过程详解:从启动到登录的12个关键帧

启动虚拟机后,你会看到熟悉的Ubuntu紫色启动画面。全程无需键盘操作,直到出现语言选择界面。以下是必须关注的12个关键帧(每个都配图说明,此处文字描述核心动作):

  1. 语言选择:选“English”,别选中文——中文输入法在安装器里常失灵,且后续终端乱码风险高。
  2. 键盘布局:默认“English (US)”,回车确认。
  3. 网络配置:自动获取IP。若卡住,Alt+F2切到console,执行sudo dhclient ens33(网卡名可能为ens33或ens160,用ip a查看)。
  4. 代理设置:留空。国内用户若需加速,可在http://后填公司代理,但多数情况不需。
  5. 镜像源:关键!选“Done”跳过,用默认archive.ubuntu.com。国内用户可在此处选“Change Mirror”,输入http://mirrors.tuna.tsinghua.edu.cn/ubuntu/,但需确认该镜像站同步正常(有时延迟24小时)。
  6. 文件系统:选“Use an entire disk”,回车。它会自动创建/根分区(ext4)和swap交换分区(2GB)。
  7. 确认写入:出现警告“Writing to disk is irreversible”,按Tab键切到“Yes”,回车。这是唯一不可逆操作。
  8. 用户信息:填用户名(如devuser),密码务必记牢。Ubuntu Server默认禁用root,所有操作用sudo。
  9. SSH设置:必须勾选“Install OpenSSH server”。这是远程管理的生命线。
  10. Featured Server Snaps:全不选。Snap包在服务器环境臃肿且慢,apt install才是正道。
  11. 安装完成:进度条满后,提示“Installation complete”,点“Reboot Now”。
  12. 首次启动:重启后,出现ubuntu-dev-2204 login:提示符,输入用户名和密码。成功登录即表示安装完成。

常见问题:若登录后黑屏或只显示光标,Alt+Ctrl+F2切到TTY2,执行sudo systemctl restart gdm3(Desktop版)或检查journalctl -u ssh(Server版)。Server版本就不该有图形界面,黑屏是正常的。

4. 实操过程与核心环节实现:装完之后的七项必做配置

4.1 首次登录后的基础加固:三分钟完成安全基线

Ubuntu Server安装完,系统是裸奔状态。必须立即执行以下加固,否则连apt update都可能被中间人劫持:

  1. 更新系统并升级内核:

    sudo apt update && sudo apt full-upgrade -y sudo reboot

    full-upgrade会处理依赖冲突,比upgrade更彻底。重启后,内核应升至5.15.0-91-generic。

  2. 配置非root用户sudo免密(可选但推荐):
    编辑sudoers文件:sudo visudo,在%sudo ALL=(ALL:ALL) ALL下方添加:

    devuser ALL=(ALL) NOPASSWD: ALL

    保存退出。此后sudo apt install无需输密码,提升效率。

  3. 启用UFW防火墙:

    sudo ufw enable sudo ufw allow OpenSSH # 允许SSH sudo ufw status verbose # 查看状态

    默认拒绝所有入站,只放行SSH,杜绝暴力破解。

注意:sudo apt full-upgrade可能耗时10分钟以上,期间不要关机。我习惯在执行前先screen -S upgrade建个会话,防止网络中断导致升级中断。

4.2 网络连通性深度验证:不止于ping通,更要穿透三层协议

很多人以为ping 8.8.8.8成功就代表网络OK,其实远不止。请按顺序执行以下四步验证:

  1. 物理层连通:ip a查看ens33(或类似)网卡是否有inet 192.168.121.x/24地址。若无,执行sudo dhclient ens33。

  2. 网络层连通:ping -c 4 192.168.121.2(VmWare NAT网关地址)。不通?检查VmWare网络编辑器里NAT设置是否启用。

  3. 传输层连通:telnet 8.8.8.8 53测试DNS端口。若超时,说明DNS未配置。编辑/etc/netplan/00-installer-config.yaml:

    network: ethernets: ens33: dhcp4: true nameservers: addresses: [114.114.114.114, 8.8.8.8] version: 2

    执行sudo netplan apply生效。

  4. 应用层连通:curl -I https://google.com。若返回HTTP 200,说明HTTPS代理、证书、DNS解析全部正常。

实操心得:我写了个一键检测脚本netcheck.sh,放在GitHub Gist里,每次新装系统直接curl -sL gisturl | bash,三秒出报告。脚本会自动执行上述四步,并高亮失败项。

4.3 宿主机-虚拟机文件共享:告别SCP,实现拖拽式互通

VmWare Tools(现为open-vm-tools)已预装,但共享文件夹需手动启用:

  1. 在VmWare菜单栏,点“虚拟机”→“设置”→“选项”→“共享文件夹”,选“总是启用”。
  2. 点“添加”→“下一步”,路径选宿主机一个文件夹(如D:\shared),名称填host-share,勾选“启用此共享”。
  3. 在Ubuntu中,执行:
    sudo mkdir -p /mnt/hgfs sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000
    此时/mnt/hgfs/host-share即映射到宿主机D:\shared。为开机自动挂载,编辑/etc/fstab,追加:
    .host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,uid=1000,gid=1000 0 0

注意:uid=1000必须与你的用户ID一致,用id -u查看。若填错,挂载后文件属主为root,普通用户无法读写。

4.4 显示分辨率与剪贴板增强:让虚拟机不再“糊”和“哑”

Ubuntu Server默认无GUI,但若你装了Desktop版,或后续安装了XFCE等轻量桌面,分辨率常卡在800x600。解决方法:

  1. 确保open-vm-tools-desktop已安装:sudo apt install open-vm-tools-desktop -y
  2. 重启显示管理器:sudo systemctl restart gdm3(GNOME)或sudo systemctl restart lightdm(XFCE)
  3. 进入桌面后,右键桌面→“Displays”,将分辨率调至“Recommended”。

剪贴板同步同理:sudo apt install open-vm-tools-desktop后,无需额外配置,Ctrl+C/Ctrl+V即可在宿主机与Ubuntu间互传文本。

4.5 时间同步精准校准:避免因时间漂移导致SSL证书失效

虚拟机时钟易漂移,尤其宿主机休眠后。Ubuntu 22.04默认用systemd-timesyncd,但精度不够。改用NTP:

sudo systemctl stop systemd-timesyncd sudo systemctl disable systemd-timesyncd sudo apt install ntp -y sudo systemctl enable ntp sudo systemctl start ntp

验证:ntpq -p应显示*ntp.aliyun.com(阿里云NTP)或+time1.google.com在列表中,星号表示正在同步。

提示:VmWare设置里“虚拟机”→“设置”→“选项”→“VMware Tools”→勾选“Synchronize guest time with host”,可作为第二道保险,但不能替代NTP。

5. 常见问题与排查技巧实录:那些让你抓狂的“玄学”故障真相

5.1 故障速查表:按现象反向定位根因

现象可能原因排查命令解决方案
启动卡在“GRUB loading”UEFI固件未启用,或ISO损坏重启进VmWare BIOS(F2),确认Secure Boot Disabled重新创建虚拟机,固件类型选UEFI;重新下载ISO并校验SHA256
安装时黑屏,光标闪烁显卡驱动未加载(Server版正常)Alt+F2进console,执行lsmod | grep drm若无输出,说明内核未加载drm驱动,换用Ubuntu 20.04 LTS ISO测试
SSH连不上,端口拒绝OpenSSH未安装或防火墙拦截sudo ss -tlnp | grep :22,sudo ufw status重装:sudo apt install --reinstall openssh-server;sudo ufw allow 22
apt update超时,域名无法解析DNS配置错误或网络未通cat /etc/resolv.conf,ping 114.114.114.114按4.2节修改netplan配置,指定nameservers
共享文件夹/mnt/hgfs为空vmhgfs-fuse未运行或权限错误lsmod | grep vmw,id -usudo modprobe vmhgfs;sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000

5.2 我踩过的三个深坑:说出来能帮你省三天

坑一:VmWare Network Editor里NAT设置被重置
某次Windows系统更新后,VmWare Network Editor里的NAT网关IP(192.168.121.2)被自动改成192.168.171.2,导致所有虚拟机断网。排查时ip a显示Ubuntu获取到192.168.171.x地址,但宿主机根本不存在这个子网。解决方案:打开Network Editor→选NAT模式→点“NAT Settings”→手动改回192.168.121.2,并确保“Use local DHCP service”已勾选。

坑二:Ubuntu启动后CPU占用100%,top显示ksoftirqd/0进程霸榜
这不是病毒,是VmWare的网络驱动bug。Ubuntu 22.04内核5.15与某些VmWare版本(如16.2.3)的vmxnet3驱动存在中断处理缺陷。临时解法:sudo ethtool -K ens33 gro off关闭GRO(通用接收卸载);永久解法:升级VmWare到17.0+,或换用e1000网卡(性能略降但稳定)。

坑三:sudo apt upgrade中途断电,系统变砖
dpkg进程被kill后,/var/lib/dpkg/status文件损坏,后续所有apt命令报错“dpkg was interrupted”。别重装!执行:

sudo dpkg --configure -a sudo apt install -f sudo apt update && sudo apt full-upgrade

--configure -a会修复未完成的包配置,install -f修正依赖,90%的“半残系统”都能救活。

最后分享一个小技巧:每次成功配置好一台Ubuntu虚拟机后,立即在VmWare里创建一个快照,命名为“clean-base-2204-fully-patched”。后续所有新项目,都以此快照为起点克隆,比重装快十倍,且保证环境纯净一致。这是我带团队时定下的铁律——所有人的开发环境,必须基于同一快照衍生。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询