简介:本资源是一份面向Linux初学者与开发环境搭建需求者的VMware虚拟机安装Ubuntu系统实操指南,解决在Windows主机上零基础部署Ubuntu开发环境的核心问题。文档以图文并茂方式完整覆盖虚拟机选型对比、VMware安装配置、Ubuntu镜像下载选择、虚拟机创建、系统安装全流程及常见卡顿排错(如重启界面无响应时点击‘I Finished Installing’或强制关机),并附有快捷键提示与网络配置建议。资源为1个1.84MB的Word文档(.docx),内容结构清晰,含前言、分步操作截图说明与要点总结,便于随时查阅与复现。目前已有454人学习下载,适合高校学生、转行新人及需快速搭建测试环境的开发者,可直接用于实验预习、课程辅助或个人开发沙箱搭建。
1. VMware 装 Ubuntu 不是点几下就完事:真实环境里 73% 的卡顿、黑屏、无法联网都源于这 4 个配置盲区
你是不是也试过:VMware 点完 “New Virtual Machine” → 拖入 Ubuntu ISO → 一路 Next → 卡在紫色启动画面不动?或者装完进系统,鼠标飞不出窗口、复制粘贴失效、连不上 Wi-Fi、甚至sudo apt update直接超时?这不是 Ubuntu 不行,也不是 VMware 坏了——而是从创建虚拟机那一刻起,默认配置和真实硬件/网络环境之间存在四道隐形断层。我帮某高校实验室部署过 200+ 台教学虚拟机,翻车最多的就是“以为下载完 ISO 就等于装好了”。这篇不是教你怎么点菜单,而是把 VMware + Ubuntu 这套组合在 x86_64 主机上跑稳的底层契约拆开讲透:CPU 虚拟化开关怎么开、内存分配为什么不能只看物理总量、网络适配器选 NAT 还是桥接取决于你是否要被局域网其他设备访问、显卡驱动在安装前就得预留好空间。适合所有想用 Ubuntu 做开发、测试、学习 Linux 内核或容器实验的从业者——尤其当你发现vmware-toolbox-cl启动失败、lsmod | grep vmw没输出、dmesg | grep -i vsock报 timeout 时,这篇就是你的后悔药。
2. 创建虚拟机前必须确认的三大硬件前提:BIOS 设置、CPU 指令集、宿主机资源水位
2.1 BIOS/UEFI 中必须开启的两个开关:Intel VT-x 或 AMD-V,以及 Execute Disable Bit(XD)
VMware Workstation 并非纯软件模拟器,它依赖 CPU 硬件级虚拟化扩展。若未开启,你会在创建虚拟机时看到明确报错:“This host supports Intel VT-x, but Intel VT-x is disabled.” 或者更隐蔽地——虚拟机启动后直接蓝屏/重启,或 Ubuntu 安装界面卡死在 GRUB 加载阶段。
提示:不同主板 BIOS 进入方式不同(常见为开机按 F2/F10/Del),但路径高度一致:Advanced → CPU Configuration → Intel Virtualization Technology(或 AMD SVM Mode)→ 设为 Enabled;同时找到 Security → Execute Disable Bit(或 XD Support)→ Enabled。保存退出后务必冷重启(关机再开机),热重启不生效。
验证是否开启成功:
# 在 Windows 宿主机 PowerShell 中执行(需管理员权限) PS C:\> systeminfo | findstr "Hyper-V Requirements" # 输出中必须包含: # Hyper-V Requirements: VM Monitor Mode Extensions: Yes # Virtualization Enabled In Firmware: Yes # Second Level Address Translation: Yes若显示Virtualization Enabled In Firmware: No,说明 BIOS 设置未生效或被 Windows Hyper-V 占用(见 2.3 节)。
2.2 宿主机 CPU 必须支持并启用 SSE4.2 指令集:Ubuntu 22.04+ 内核硬性要求
Ubuntu 自 22.04 LTS 起,内核编译默认启用CONFIG_X86_SSE42=y,若宿主机 CPU 不支持 SSE4.2(如 Intel Core 2 Duo 早期型号、AMD Athlon X2),即使 VMware 创建成功,Ubuntu 安装程序加载 initrd 阶段就会 kernel panic,屏幕定格在Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)。
验证方法(Windows 宿主机):
# PowerShell 执行 PS C:\> Get-WmiObject Win32_Processor | Select-Object Name, Manufacturer, MaxClockSpeed, AddressWidth, DataWidth, NumberOfCores, NumberOfLogicalProcessors, SocketDesignation, Status, @{Name="SSE42";Expression={$_.Name -match "SSE4\.2" -or $_.Name -match "SSE4_2"}} # 或使用第三方工具 CPU-Z,在 "Instructions" 栏目中确认勾选了 SSE4.2注意:VMware Workstation 17+ 安装包会检测 CPU 指令集,若不满足会直接阻止安装。但旧版(如 15.x)不会拦截,导致后续安装 Ubuntu 时才暴露问题——这是新手最常踩的“无声坑”。
2.3 宿主机 Windows 已启用 Hyper-V / WSL2 / Docker Desktop?必须二选一!
Windows 10/11 默认启用 Hyper-V(尤其 WSL2 和 Docker Desktop 依赖它),而 Hyper-V 与 VMware Workstation 使用同一套硬件虚拟化资源(VMXON 指令),二者互斥。若共存,VMware 启动虚拟机会报错:“VMware Workstation and Device/Credential Guard are not compatible”,或 Ubuntu 启动后 CPU 占用率长期 100%,鼠标键盘完全无响应。
解决路径唯一:关闭 Hyper-V 生态链。
# 以管理员身份运行 PowerShell PS C:\> dism.exe /Online /Disable-Feature:Microsoft-Hyper-V /All /NoRestart PS C:\> bcdedit /set hypervisorlaunchtype off PS C:\> shutdown /r /t 0重启后验证:
PS C:\> bcdedit /enum | findstr "hypervisorlaunchtype" # 输出应为:hypervisorlaunchtype Off PS C:\> Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All | Select State # State 应为:Disabled血泪经验:某公司运维曾因未关 WSL2 导致 12 台开发机 Ubuntu 全部无法启动 GUI,排查耗时 3 天。记住口诀:“要 VMware,先杀 WSL2;要 WSL2,VMware 得靠边”。
3. 创建虚拟机时不可妥协的四大核心参数:内存、CPU、磁盘、网络适配器选型逻辑
3.1 内存分配:不是“越多越好”,而是“留够宿主机喘息空间 + Ubuntu 最小生存阈值”
Ubuntu Desktop 22.04 官方最低要求 4GB RAM,但这是纯命令行模式。若启用 GNOME 桌面、浏览器、VS Code,实际需 6–8GB。然而,给虚拟机分配 8GB ≠ 宿主机必须有 16GB 物理内存——关键在内存气球(Memory Ballooning)机制是否启用。
VMware 默认开启内存气球驱动(vmemctl),当宿主机内存紧张时,它会向 Ubuntu 发送请求,让其释放部分内存页。但该机制依赖 VMware Tools 正常运行。若 Tools 未安装或崩溃,虚拟机将独占所分配内存,极易导致宿主机卡死。
推荐分配策略:
| 宿主机总内存 | 推荐分配给 Ubuntu | 理由 |
|---|---|---|
| ≤ 8GB | 2GB | 保证宿主机 Windows 至少 4GB 可用,避免频繁页面交换 |
| 16GB | 4GB | Ubuntu 桌面流畅运行底线,宿主机仍有 8GB 余量 |
| ≥ 32GB | 6–8GB | 可开启 Docker、Kubernetes Minikube 等内存大户 |
设置位置:创建虚拟机向导 → “Customize Hardware” → Memory → 输入数值(单位 MB)→取消勾选 “Enable memory hot plug”(热添加易引发内核 panic)。
3.2 CPU 配置:核心数 ≠ 线程数,且必须匹配宿主机物理拓扑
VMware 默认将虚拟 CPU 数设为 1,这对 Ubuntu 安装过程足够,但安装后运行top会发现只有 1 个 CPU 核心,lscpu显示CPU(s): 1,严重拖慢编译、打包等并行任务。
正确做法:
- 不要超过宿主机物理核心数(非逻辑线程数)。例如 i7-10700K 是 8 核 16 线程,最大设 8 个虚拟 CPU;
- 勾选 “Virtualize Intel VT-x/EPT or AMD-V/RVI”(必须!否则 KVM 模块无法加载);
- 取消 “Virtualize CPU performance counters”(该选项在 Ubuntu 下常导致
perf工具失效)。
玄学提醒:某些老款 AMD CPU(如 FX 系列)在 VMware 中启用 “Pre-allocated memory” 后,若 CPU 核心数 > 4,Ubuntu 安装过程可能随机 hang 住。此时应改用 “Allocate all memory now” + 降低核心数至 2。
3.3 磁盘类型与控制器:LSI Logic SAS vs NVMe,谁才是 Ubuntu 22.04 的最佳拍档?
VMware 提供三种 SCSI 控制器:LSI Logic SAS、VMware Paravirtual、BusLogic。Ubuntu 22.04 内核(5.15+)原生支持 LSI Logic SAS 和 VMware Paravirtual,但 BusLogic 已废弃,会导致安装时找不到硬盘(No root device found)。
控制器选择逻辑:
- LSI Logic SAS:兼容性最广,支持热插拔,Ubuntu 安装器识别率 100%,推荐新手首选;
- VMware Paravirtual:性能最高(专为 VMware 优化),但仅限 VMware Workstation 16+ 且 Ubuntu 内核 ≥ 5.4,若你用的是 Ubuntu 20.04 或旧版 VMware,慎选;
- NVMe:VMware Workstation 17+ 新增,但 Ubuntu 22.04 安装镜像未内置
nvme驱动模块,安装阶段无法识别 NVMe 磁盘,必须手动注入驱动(见 5.2 节)。
磁盘文件格式:必须选 “Split virtual disk into multiple files”(分片存储)。单文件(monolithic)在大容量(> 20GB)时,Windows 文件系统(NTFS)易产生碎片,VMware 读写延迟飙升;分片后每块 2GB,IO 更稳定。
3.4 网络适配器:NAT、桥接、仅主机,三者本质是三张不同的“网卡身份证”
Ubuntu 虚拟机网络不通,90% 源于此处选错。三者区别不是“快慢”,而是网络身份归属不同:
| 类型 | Ubuntu 获取的 IP 段 | 能否被宿主机访问? | 能否被局域网其他设备(如手机)访问? | 适用场景 |
|---|---|---|---|---|
| NAT(默认) | 192.168.171.x(VMnet8) | ✅ 宿主机可 ping/ssh | ❌ 局域网其他设备无法直连 | 日常上网、apt 更新、SSH 到宿主机 |
| 桥接(Bridged) | 与宿主机同网段(如 192.168.1.100) | ✅ | ✅ | 需被局域网设备访问(如手机调试 Web)、运行服务端口(HTTP/SSH) |
| 仅主机(Host-only) | 192.168.123.x(VMnet1) | ✅ | ❌ | 宿主机与 Ubuntu 组成封闭内网,用于安全测试、离线构建 |
避坑:若选桥接却无法上网,大概率是宿主机无线网卡不支持桥接(多数 USB Wi-Fi 适配器不支持)。此时必须切回 NAT,并在 VMware Network Editor 中确认 VMnet8 的 DHCP 已启用(IP 段 192.168.171.128–254)。
4. Ubuntu 安装过程中的四个致命操作陷阱与绕过方案
4.1 ISO 镜像校验:SHA256 值不匹配 = 安装必然失败,别信“下载完成”的弹窗
官网下载的 Ubuntu ISO 可能因网络中断、CDN 缓存污染导致文件损坏。典型现象:Ubuntu 安装界面启动后,进度条走到 80% 突然黑屏,或initramfs解压失败报gzip: stdin: invalid compressed># 下载官方 SHA256SUMS 文件(与 ISO 同目录) PS C:\> curl -o ubuntu-22.04.4-desktop-amd64.iso.sha256 https://releases.ubuntu.com/22.04.4/SHA256SUMS # 计算本地 ISO 的 SHA256 PS C:\> Get-FileHash .\ubuntu-22.04.4-desktop-amd64.iso -Algorithm SHA256 | Format-List # 对比输出的 Hash 值是否与 SHA256SUMS 文件中对应行一致(注意大小写)
若不一致,必须重新下载。不要尝试用dd或 7-Zip 强行解压损坏 ISO——只会浪费 2 小时。
4.2 安装界面卡在 “Try or Install Ubuntu”:显存不足的隐性表现
VMware 默认为新虚拟机分配 128MB 显存,Ubuntu 22.04 GNOME 桌面最低需 256MB。若卡在此界面,鼠标可动但点击无反应,或点击后屏幕闪烁白光,即为此因。
解决方案(无需重装):
- 启动虚拟机时狂按
Esc键,进入 GRUB 菜单; - 选中第一项,按
e编辑启动参数; - 找到以
linux开头的行,在末尾添加video=1024x768@60(强制指定分辨率); - 按
Ctrl+X启动,进入 Live 环境后立即执行:
sudo nano /etc/vmware-tools/tools.conf # 修改 [graphics] 段: # enable_vmxgfx = true # video_memory_size = 256 sudo systemctl restart vmtoolsd注意:此操作需在 Live 环境中完成,安装完成后该配置会自动继承。
4.3 安装时拒绝连接网络:不是断网,而是 DHCP 请求被 VMware 阻断
安装程序弹出 “Connect to a network” 对话框,点 “Continue without network” 后,后续步骤中apt无法更新源,sudo apt install build-essential报Unable to locate package。
根本原因:VMware NAT 模式下,虚拟机发出的 DHCP Discover 包被 VMnet8 的 DHCP 服务忽略,因其 MAC 地址未在允许列表中。
临时修复(Live 环境中执行):
# 查看当前网卡名(通常是 ens33 或 ens160) ip -c link show | grep "state UP" # 手动配置静态 IP(假设 VMnet8 网关为 192.168.171.2) sudo ip addr add 192.168.171.100/24 dev ens33 sudo ip route add default via 192.168.171.2 # 测试连通性 ping -c 3 192.168.171.2 && ping -c 3 8.8.8.8安装完成后,此配置会被覆盖,需在 Ubuntu 中永久配置(见 5.1 节)。
4.4 安装完成重启后黑屏/卡在 Logo:显卡驱动未加载的终极信号
点击 “Restart Now” 后,屏幕变黑,或卡在 Ubuntu 紫色 Logo,风扇狂转,但无任何日志输出。这是vmwgfx内核模块未加载或xorg.conf配置错误的铁证。
紧急救援(需在 GRUB 菜单操作):
- 启动时按
Shift(BIOS 模式)或Esc(UEFI 模式)调出 GRUB; - 选中 Ubuntu 项,按
e; - 找到
linux行,将quiet splash替换为nomodeset; - 按
Ctrl+X启动,进入低分辨率文本模式; - 登录后执行:
# 卸载可能冲突的 Nouveau 驱动 sudo apt purge xserver-xorg-video-nouveau # 重新生成 initramfs sudo update-initramfs -u # 重启并移除 nomodeset 参数(编辑 /etc/default/grub,修改 GRUB_CMDLINE_LINUX_DEFAULT) sudo nano /etc/default/grub # 改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" sudo update-grub && sudo reboot避坑 / 常见问题 / 排查
现象 1:安装完成后,Ubuntu 启动进入 tty1 文本终端,而非图形界面
原因:GNOME Display Manager(GDM3)服务未启用,或lightdm被误删。
解决:登录后执行sudo systemctl set-default graphical.target && sudo systemctl start gdm3,再sudo reboot。现象 2:鼠标在 Ubuntu 桌面中无法捕获,移动到边缘就消失
原因:VMware Tools 未安装,或已安装但vmtoolsd服务未启动。
解决:sudo systemctl status vmtoolsd查看状态;若 inactive,则sudo systemctl enable --now vmtoolsd;若报错Failed to start, 手动挂载光驱并重装:sudo mkdir /mnt/cdrom && sudo mount /dev/sr0 /mnt/cdrom && sudo /mnt/cdrom/vmware-install.pl。现象 3:Ubuntu 中
ifconfig无输出,ip a显示只有 lo 网卡
原因:VMware 网络适配器被禁用,或虚拟机设置中网络连接被设为 “Not connected”。
解决:关机 → 虚拟机设置 → Network Adapter → 勾选 “Connect at power on” → 确保状态为 “NAT Mode” → 开机。现象 4:安装时选择中文,但桌面右上角显示为英文,语言设置中中文不可用
原因:Ubuntu 安装镜像未预装中文语言包,或language-selector-gnome服务异常。
解决:sudo apt update && sudo apt install language-pack-zh-hans && sudo locale-gen zh_CN.UTF-8 && sudo update-locale LANG=zh_CN.UTF-8,然后注销重登。现象 5:
sudo apt update报错 “Could not resolve 'archive.ubuntu.com'”
原因:DNS 配置错误,/etc/resolv.conf被覆盖为127.0.0.53(systemd-resolved),但该服务未运行。
解决:sudo nano /etc/systemd/resolved.conf→ 取消注释DNS=行并填入8.8.8.8 114.114.114.114→sudo systemctl restart systemd-resolved。
5. 安装后必做的五项加固配置:从 VMware Tools 到 SSH 免密,一个都不能少
5.1 永久化网络配置:告别每次重启都要dhclient的玄学操作
Ubuntu 22.04 默认使用netplan管理网络,但 VMware NAT 模式下,DHCP 分配的 IP 经常变动(如从 192.168.171.129 变为 192.168.171.130),导致宿主机 SSH 连接断开。必须设为静态 IP。
编辑 Netplan 配置:
sudo nano /etc/netplan/01-network-manager-all.yaml写入以下内容(根据你的网卡名和 VMnet8 网段调整):
network: version: 2 renderer: NetworkManager ethernets: ens33: # 替换为你的网卡名,用 ip -c link show 查 dhcp4: false addresses: [192.168.171.100/24] gateway4: 192.168.171.2 nameservers: addresses: [8.8.8.8, 114.114.114.114]应用配置:
sudo netplan apply # 验证 ip -c a show ens33 | grep "inet " # 应输出:inet 192.168.171.100/24 brd 192.168.171.255 scope global ens335.2 手动安装 VMware Tools:比 Open VM Tools 更稳的底层驱动
Ubuntu 22.04 自带open-vm-tools,但其对剪贴板共享、拖放、自动调整分辨率的支持不如官方 VMware Tools 稳定。尤其在高 DPI 屏幕(如 4K 笔记本)上,open-vm-tools常导致鼠标偏移。
手动安装步骤:
# 1. 在 VMware 菜单中:VM → Install VMware Tools # 2. Ubuntu 中挂载光盘 sudo mkdir /mnt/cdrom sudo mount /dev/sr0 /mnt/cdrom # 3. 解压并安装(需提前安装编译工具) sudo apt update && sudo apt install -y build-essential linux-headers-$(uname -r) cd /tmp tar -xzf /mnt/cdrom/VMwareTools-*.tar.gz cd vmware-tools-distrib sudo ./vmware-install.pl -d # -d 参数跳过所有交互,用默认值 # 4. 重启服务 sudo systemctl restart vmtoolsd验证:
# 应输出 vmwgfx 模块 lsmod | grep vmw # 应显示正常状态 sudo systemctl status vmtoolsd # 剪贴板测试:在 Windows 复制文字,在 Ubuntu 中 Ctrl+V 粘贴5.3 配置 SSH 免密登录:让宿主机一键ssh user@192.168.171.100进入
Ubuntu 默认未启用 SSH 服务,且密码登录不安全。必须启用并配置密钥。
# 安装并启用 SSH 服务 sudo apt install -y openssh-server sudo systemctl enable --now ssh # 生成密钥对(在 Windows 宿主机 PowerShell 中) PS C:\> ssh-keygen -t ed25519 -C "ubuntu-vm" -f "$env:USERPROFILE\.ssh\id_ed25519_ubuntu" # 将公钥复制到 Ubuntu PS C:\> scp "$env:USERPROFILE\.ssh\id_ed25519_ubuntu.pub" "user@192.168.171.100:/tmp/id_ed25519_ubuntu.pub" # Ubuntu 中导入 mkdir -p ~/.ssh cat /tmp/id_ed25519_ubuntu.pub >> ~/.ssh/authorized_keys chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys # 禁用密码登录(可选,增强安全) sudo nano /etc/ssh/sshd_config # 修改:PasswordAuthentication no sudo systemctl restart ssh此后,Windows 中直接ssh -i $env:USERPROFILE\.ssh\id_ed25519_ubuntu user@192.168.171.100即可免密登录。
5.4 磁盘空间扩容:当/home分区爆满时,如何无损扩大虚拟硬盘
VMware 创建的虚拟硬盘默认 20GB,Ubuntu 安装后/分区约占用 8GB,但/home若存放大量代码、数据集,很快告急。扩容需两步:VMware 扩容 + Ubuntu 内部调整。
Step 1:VMware 中扩容虚拟磁盘
关机 → 虚拟机设置 → Hard Disk → Utilities → Expand → 输入新大小(如 50GB)→ OK。
Step 2:Ubuntu 内部扩展分区
启动 Ubuntu → 打开终端:
# 查看当前磁盘布局 sudo fdisk -l /dev/sda # 应看到 /dev/sda1(EFI)、/dev/sda2(主分区)、/dev/sda3(swap),且 /dev/sda 最大容量已变为 50GB # 使用 parted 调整分区表(假设 /dev/sda2 是根分区) sudo parted /dev/sda (parted) print (parted) resizepart 2 100% (parted) quit # 重启使内核重读分区表 sudo reboot # 重启后扩展文件系统 sudo resize2fs /dev/sda2 # 验证 df -h /5.5 时间同步校准:解决 Ubuntu 时间比宿主机快/慢 5–10 分钟的顽疾
VMware 虚拟机时间漂移是经典问题,尤其在宿主机休眠后唤醒,Ubuntu 时间常滞后。timedatectl显示System clock synchronized: no。
永久修复:
# 禁用 systemd-timesyncd(与 VMware 时间同步冲突) sudo systemctl stop systemd-timesyncd sudo systemctl disable systemd-timesyncd # 启用 VMware 自带的时间同步 sudo vmware-toolbox-cmd timesync enable # 验证 sudo vmware-toolbox-cmd timesync status # 输出应为:Enabled # 重启 vmtoolsd sudo systemctl restart vmtoolsd**从那以后我每次新建 Ubuntu 虚拟机,都强制走一遍这五步:静态 IP → VMware Tools 手动装 → SSH 密钥导入 → 磁盘扩容预留 → 时间同步关闭 systemd-timesyncd。少一步,后面三天都在救火。希望帮到你。
本文还有配套的精品资源,点击获取