ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

VMware虚拟机安装Ubuntu 24.04全攻略:从创建到优化

VMware虚拟机安装Ubuntu 24.04全攻略:从创建到优化 不管你是刚开始接触 Linux 的新手还是已经在 Windows 上折腾腻了想换个环境的老鸟这一篇都值得你花几分钟看一看。我写的是 Ubuntu 在 PC 端虚拟机环境下的完整安装过程从镜像下载到系统装完、从踩坑到解决全部是一条龙的操作记录。这台虚拟机不是生产服务器、不是用来跑高负载计算的就是给你自己练手、折腾配置、测试服务用的所以我选了一台典型配置的桌面 PC 作为安装环境整篇文章也会尽量还原我实际操作时的每一个细节。如果你之前装过几次虚拟机大概率会碰到 VMware 的“无法连接到虚拟机”服务提示、或者装完 Ubuntu 之后打开系统黑屏、以及 Linux 分区不会划分这类问题。这篇文章里我都整理进去了并且针对每次踩坑都给了具体的排查链路和解决手段。适合谁看零基础刚准备入坑 Linux 的人、准备用 Ubuntu 做日常开发/学习环境的 Windows 用户、还有那些装过虚拟机但一直没搞懂配置参数含义的朋友。1. 为什么我强烈推荐先走虚拟机这条路线1.1 物理机直装的痛点很多人在刚接触 Linux 时第一个念头就是找个 U 盘做启动盘把 Windows 抹掉直接装 Ubuntu。这个思路没毛病但是代价不小。你原来 Windows 里的软件、文件、浏览器的收藏夹、各种软件的激活状态全部都要推倒重来更难受的是如果你只有一台电脑装完 Ubuntu 之后发现驱动没适配好、或者某个专业软件没 Linux 版你再想退回 Windows 就得再做一次系统盘来回折腾的耗时少说三四个小时全是沉默成本。我还见过不少朋友用 WSL 替代。WSL 确实轻量启动也快但它终究是个子系统它的交互方式、文件系统、网络模式和纯正的 Linux 发行版有差异,尤其是在测试网络服务、自己编译内核模块、练习系统管理命令的时候WSL 的体验和原生虚拟化完全不一样。一个最直接的例子WSL 的 localhost 转发机制偶尔会出问题你连个数据库端口都要排查半天。1.2 虚拟机方案的核心价值虚拟机能让你在保留现有系统的前提下完整地体验一套 Linux 环境。我推荐虚拟机核心是这三个理由:安全性再怎么折腾虚拟机里的系统都不会影响物理机上的数据快照功能更是让我随便试错可复制性装好一个满意的基础系统后你可以直接克隆出多个副本一个拿来跑数据库一个拿来编译内核互不干扰网络隔离虚拟机默认走 NAT你可以在里面随意配置 nginx、调试端口不占用局域网 IP也不会干扰家中的其它设备还有一个概念必须提前弄明白虚拟机里的 Ubuntu 并没有和物理机的硬件直接打交道而是通过 Hypervisor虚拟化管理程序来间接访问 CPU、内存、磁盘和网卡。所以虚拟机能不能流畅运行不完全取决于你的物理配置有多高还取决于 Hypervisor 的调度效率和合理的资源分配。2. 安装前的硬件评估与虚拟机平台选型2.1 我这台 PC 的配置与最低底线我实际安装用的这台 PC 是i5-12400 处理器、16GB 内存、500GB NVMe 固态、核显输出、Windows 11 系统。跑虚拟机不是看绝对性能关键是看你要给虚拟机分多少资源。你可以对照一下硬性底线大致如下硬件项最低要求我的建议值备注CPU双核4 核以上编译软件时核心数越多越快内存8GB16GB 以上物理机加虚拟机至少预留 8GB 余量硬盘25GB 剩余空间100GB 以上 SSD系统加应用轻松占用 30GB虚拟化支持CPU 需支持 VT-x默认开启 AMD-V/Intel VT-xBIOS 里可能被关闭这里要特别提醒一下虚拟机平台选项是必须在 BIOS 里开启 CPU 虚拟化功能的。Intel 平台叫 VT-xAMD 平台叫 SVM很多品牌机的 BIOS 默认是关闭的如果你打开虚拟机时提示“此平台不支持虚拟化”之类的问题先进 BIOS 找一下这两个开关。2.2 VMware Workstation 与 VirtualBox 的取舍虚拟机平台我用的是 VMware Workstation Pro因为它的显卡虚拟化和 USB 兼容性比 VirtualBox 更成熟。在 Windows 上跑 VMware 我基本没遇到过鼠标不同步的问题而 VirtualBox 偶尔会破坏分辨率还得手动安装增强功能才行。如果你是纯学习用途免费开源的 VirtualBox 也完全够用只是要注意它默认的 EFI 兼容性在部分机器上可能会出现黑屏问题。VMware 的最新几个版本安装完以后会在 Windows 服务列表里注册一堆后台服务其中最关键的是“VMware Authorization Service”。因为 VMware Workstation 不像 VirtualBox 那样把服务内嵌进当前用户进程而是通过 Windows 服务来管理虚拟网络和虚拟机进程权限如果这个服务没启动你后续启动任何虚拟机都会报错。所以装完 VMware 之后你应该马上检查一下服务状态不要等到启动虚拟机时才去排查。2.3 Ubuntu 版本的选择我装的是 Ubuntu 24.04.2 LTS这是 2024 年 4 月发布的长期支持版本安全更新支持到 2029 年。如果你打算长期用LTS 版本绝对是省心的选择中间版本比如 23.10 这种非 LTS虽然软件新但生命周期短隔几个月就得重新升级。镜像我建议直接从官网镜像站下载不要用第三方打包版本。下载的时候选 Server install 还是 Desktop install日常使用选 Desktop 就行因为 Ubuntu 桌面版内置了 GNOME 桌面环境、安装器、浏览器和基本驱动命令行环境下你以后想装图形界面反而要费一番功夫。而且桌面版默认也自带 SSH 服务端选项学习阶段完全够用。3. 新建虚拟机的完整流程与每一个关键选项的取舍3.1 创建虚拟机的向导参数打开 VMware Workstation Pro 后在主界面选“创建新的虚拟机”选择“自定义高级”这一步能让你自己控制所有硬件参数而不是被默认的“推荐配置”束缚住。标准流程里向导会依次问这些问题虚拟机的硬件兼容性保持默认的 Workstation 17.x 即可高版本兼容性向下兼容但选低了可能会损失某些功能安装来源选“稍后安装操作系统”因为通过 ISO 文件安装比让 VMware 直接挂载更灵活后续换镜像不用重建虚拟机客户机操作系统选 Linux版本选 “Ubuntu 64 位”。这里注意不要选成 Ubuntu 32 位否则后续装系统时会提示内核架构不匹配虚拟机名称和位置名称随意但位置不要放在系统盘 C 盘虚拟磁盘文件动辄几十 GB放 C 盘容易拖慢系统3.2 固件类型、处理器与内存分配固件选择这一步有讲究我直接选了 UEFI。因为 Ubuntu 24.04 默认使用 GRUB 引导UEFI 模式下引导兼容性更好对硬盘分区的 GPT 表支持也更完善。处理器分配物理机是 6 核 12 线程我给虚拟机分配了 4 个处理器核心。注意 VMware 里“处理器数量”和“每个处理器的内核数量”这两个概念通俗点说前者是模拟出几颗 CPU后者是每颗 CPU 有几个核心。大多数情况下设置为 1 个处理器、4 个核心即可多路处理器在桌面系统里感知不到性能提升反而会在某些内核任务里引入额外的调度开销。内存分配16GB 物理内存我分给虚拟机 8GB。如果你是 8GB 的物理机那就分 4GB再高就会影响 Windows 本身的流畅度。核显的 PC 要特别注意核显没有独立显存它会从系统内存里借走一部分作为显存所以物理机内存偏小的话虚拟机内部桌面可能会明显卡顿。3.3 网络类型详解与选择建议网络类型这一块是很多新手容易搞混的地方我展开说一下。NAT 模式虚拟机通过物理机的 IP 地址和端口做地址转换访问外网虚拟机内部使用 VMware 分配的子网。简单理解就是你的 Ubuntu 在 Windows 眼里是个“程序”程序能上网它就能上网桥接模式虚拟机和物理机在局域网内地位平等它自己从路由器获取一个独立 IP。外部设备可以直接访问到虚拟机内部的服务仅主机模式只能在虚拟机和物理机之间互通不能访问外网一般用于测试隔离环境我给自己的默认选择是 NAT。很多教程里都喜欢推荐桥接理由是什么“更像一台独立机器”但对新手来说NAT 有两个天大的好处不占局域网的 IP 地址而且物理机换了网络环境比如从家里网线换到公司 WiFi时虚拟机不用做任何修改出去的网络自动就是通的。等你真的需要让局域网里的其它设备直接访问虚拟机里的网页服务时再手动改成桥接也来得及。3.4 磁盘类型与容量规划磁盘类型我选 NVMe因为 VMware 在虚拟 NVMe 控制器下对原有 NVMe 固态的 4K 队列优化更好。如果你的物理机是 SATA 固态或机械硬盘就选 SATA强行选 NVMe 反而会因为虚拟控制器的处理开销增加延迟。磁盘容量我分配了 120GB但注意分配方式不要选“立即分配所有空间”应该选择“将虚拟磁盘拆分为多个文件”。理由稀疏文件模式split disk在虚拟机刚装完系统时实际占用磁盘只有十几 GB随着你在 Ubuntu 里安装软件和缓存文件才会逐步增长。如果你一次性分配 120GB 物理空间会白白占用宝贵的 SSD 空间而且快照和克隆操作时性能反而更差。4. Ubuntu 安装过程中的分区策略4.1 安装器启动阶段的操作从 VMware 里“编辑虚拟机设置”在 CD/DVD 选项里挂载下载好的 Ubuntu ISO 镜像然后开机。如果你看到 GRUB 菜单选第一项 “Try or Install Ubuntu”进入安装界面。整个安装过程最核心的语言和键盘布局我都选了中文简体键盘布局保持默认 English (US)。因为中文输入法只是在图形界面里使用终端里的键盘操作和快捷键还是按美式布局来更顺手。接着进入网络配置阶段它会自动获取一个 NAT 网段内的 IP你不需要手动更改继续到“安装类型”这一步。4.2 我建议的手动分区方案安装类型里我选了“自定义安装”没有用默认的“清除整个磁盘并安装 Ubuntu”。默认方案会直接接管整块虚拟磁盘但你以后如果想在虚拟磁盘里多放一个数据分区或者想单独空出空间做双系统实验默认分区方案就没有调整余地了。自己做分区其实不难我给虚拟磁盘分了四个主要分区分区大小类型挂载点文件系统作用/boot/efi1GB主分区/boot/efiFAT32UEFI 引导必需/100GB主分区/ext4系统根目录swap8GB逻辑分区无swap交换空间内存溢出时兜底/home剩余空间逻辑分区/homeext4用户数据和应用配置这里解释几个关键决策/home 单独分区的最大意义在于以后你升级 Ubuntu 大版本或者重装系统壁纸、下载文件、配置文件都在 /home 里不会被格式化掉。很多老鸟推荐这样就是这个原因swap 大小设为 8GB甚至比系统推荐的还要大一点是考虑了休眠功能的需要。当你挂起虚拟机时系统会把内存里的数据写入 swap如果 swap 小于物理内存休眠就可能失败/boot/efi 不能漏。UEFI 模式下如果没有这个 ESP 分区安装程序会提示无法安装引导加载程序分区确认后直接点“现在安装”。我强烈建议你在这一步之前关掉 VMware 的“虚拟机设置-选项-高级-运行时同步”这个功能否则安装过程中虚拟机的时间和物理机时间频繁同步偶尔会触发加密相关的奇怪延迟尤其是安装器写引导文件时容易卡顿。4.3 创建用户和等待安装接下来设置用户名和密码。这里的用户名不用太纠结之后在终端里经常要用它来 sudo建议用全小写的短名字。我用的时区直接选的上海保持默认。整个安装过程大约需要 10 到 20 分钟取决于物理机和磁盘速度期间你可以看到它在安装语言包、显卡驱动和内核模块。安装完成的提示出来后不要急着点“立即重启”先把 VMware 菜单里的 ISO 镜像断开连接否则重启后虚拟机可能直接又进到安装 U 盘界面让你以为安装出 bug 了。改完再点重启进入全新系统后的第一件事是先做个系统的完整更新。5. 装完系统的第一件事换源、更新、优化5.1 怎么理解“换源”这件事Ubuntu 默认的软件源是官方服务器在大陆地区访问速度很不稳定。你需要替换成国内镜像源。这里要解释一个基本概念Linux 的“软件源”就是软件包的仓库地址列表。手动打开 /etc/apt/sources.list 文件把原有地址的前缀替换成国内镜像站即可。我常用的是清华开源软件镜像站。Ubuntu 24.04 的 APT 源配置文件已经改为 /etc/apt/sources.list.d/ubuntu.sources形式有所不同但替换逻辑是一样的。具体操作# 第一步备份 sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak # 第二步编辑文件把 http://archive.ubuntu.com/ubuntu/ 替换为镜像地址 sudo sed -i s|http://archive.ubuntu.com/ubuntu/|https://mirrors.tuna.tsinghua.edu.cn/ubuntu/|g /etc/apt/sources.list.d/ubuntu.sources替换完成之后一定记得执行 sudo apt update 更新缓存。然后做整机升级sudo apt update sudo apt upgrade -y sudo apt autoremove这一步非常重要因为 Ubuntu 装完系统出来自带的内核补丁和常规软件包往往落后于仓库几十个版本尤其是网络驱动和桌面环境的修复补丁。5.2 安装 VMware Tools 与 open-vm-tools如果你用的 VMware那么我建议你安装 open-vm-tools-desktop而不要再用老旧的 VMware Tools。它是开源版本和内核的集成度更好而且随内核一起更新。安装命令sudo apt install open-vm-tools-desktop -y安装完以后重启一次你会发现虚拟机的分辨率能自适应了鼠标在物理机和虚拟机之间切换也不再需要按 CtrlAlt共享文件夹功能也正常了。5.3 设置 root 密码与默认权限Ubuntu 默认不给你 root 密码所有特权操作都是通过 sudo 临时提权。我建议你保持这个习惯不要为了方便直接 sudo -i 或者给 root 设置密码整天在 root 下操作。我见过太多人在 root 状态下把系统配置改崩的例子。日常操作老老实实用 sudo 就够了每次输入密码也会让你多确认一步少做不可逆的操作。5.4 中文字体与中文输入法中文输入法如果没装你会发现中文输入非常痛苦。Ubuntu 24.04 自带 IBus 输入法框架但默认只启用英文键盘。我加装的是 Fcitx 5 搜狗输入法 Linux 版本因为它的选词体验和中文输入法习惯比较接近。安装方法不复杂注意先安装 fcitx5 相关的依赖再装搜狗的 deb 包sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-config-qt -y然后装搜狗输入法的 deb 包安装完成后去终端执行 im-config选择 fcitx5重启图形界面即可。如果你不想折腾第三方输入法也可以直接在设置里添加中文拼音Ubuntu 24.04 内置的智能拼音已经进步很多了日常聊天写文档完全够用。6. 安装过程中的几个典型坑以及排查思路6.1 VMware 提示“无法连接到虚拟机”这个问题是我这次操作里第一个碰到的启动虚拟机时提示“VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录、以及访问该程序使用的所有临时文件。”完整排查链路如下先检查 Windows 服务按 WinR输入 services.msc找到 “VMware Authorization Service”确认它是否处于“已启动”状态。如果没启动右键启动。这是最常见的根因VMware 的虚拟机进程权限校验全靠这个服务如果服务启动失败查看它的依赖项VMware 的服务依赖 Windows 的 “VMware Hostd”如果 Hostd 服务也被停了一起启动还不行就检查临时目录权限。VMware 默认把虚拟机进程的临时文件写到 %TEMP%当前用户的 Temp 目录如果系统的环境变量里 TEMP 路径被某些清理软件改到了无权限目录也会触发这个报错最后一步以管理员身份重新运行 VMware Workstation。右键图标选“以管理员身份运行”如果这样正常说明是当前用户的用户组权限或 UAC 虚拟化设置问题我当时是第一步就解决了服务重新启动虚拟机顺利启动。6.2 启动虚拟机后蓝屏虚拟机内部开机直接蓝屏大概率不是 Ubuntu 的问题而是虚拟机的硬件参数设置不当。蓝屏界面上一般会给出具体的错误代码最常见的是三个PAGE_FAULT_IN_NONPAGED_AREA这可能和分配的处理器核心数有关。我之前把核心数给到了 8 核超过物理机本身的核心数导致 CPU 调度异常降低到 4 核就正常了INTERRUPT_EXCEPTION_NOT_HANDLED显卡虚拟化相关在虚拟机设置里把“加速 3D 图形”关闭重启虚拟机试一下UNEXPECTED_KERNEL_MODE_TRAP内存分配过高导致分配异常把内存降到物理内存的一半以下再看看是否有两条不同品牌的内存条混插导致的不稳定6.3 安装时卡在 DHCP 获取 IP 地址安装 Ubuntu 时偶尔会卡在“正在获取网络地址”这一步。这个多半是 VMware 的 NAT 服务出问题。排查方式是打开 Windows 服务列表找到 “VMware NAT Service” 和 “VMware DHCP Service”手动重启一次。我遇到过几次都靠重启这两个服务解决。还有个更隐蔽的原因物理机的 Windows 网卡从睡眠状态恢复时VMware 的虚拟网卡没能同步唤醒导致虚拟机的 DHCP 请求没有得到响应。这种情况下把虚拟机的网络连接改为桥接再改回 NAT就能解决。6.4 虚拟机内部网络通但无法访问外网这种情况非常典型可以 ping 通网关、ping 通物理机但 ping 不通外网域名。原因往往是 DNS 解析不到也就是 NAT 模式里 DNS 转发挂了。排查命令cat /etc/resolv.conf # 看看 nameserver 指向哪里如果是 127.0.0.53 这种本地缓存地址说明 systemd-resolved 接管了 DNS解决办法有两个方向一是检查物理机上的 VMware NAT 服务二是强制在 Ubuntu 里指定全球公共 DNS。我比较推荐直接修改 /etc/systemd/resolved.conf 设置公共 DNS 地址因为系统稳定性的角度来说它比每次修改 /etc/resolv.conf 更可靠。6.5 普通虚拟机启动慢卡在 Ubuntu Logo如果你打开虚拟机后卡在紫色画面或者启动 Logo 很久多半是显卡驱动没有正确加载。Ubuntu 自带的开源显卡驱动在较新 VMware 的虚拟显卡上偶尔有兼容问题。最简单的办法是编辑 GRUB 的启动参数把默认的 quiet splash 改成 nomodeset禁用内核的显示模式设置先让系统能进桌面再更新驱动。sudo vim /etc/default/grub # 找到 GRUB_CMDLINE_LINUX_DEFAULT 这行改成 # GRUB_CMDLINE_LINUX_DEFAULTquiet splash nomodeset # 保存后更新 grub sudo update-grub7. 虚拟机的系统维护与快照管理7.1 为什么快照是你的后悔药既然在虚拟机上折腾就必须习惯用快照。虚拟机的快照不仅仅是备份它还能在你进行大操作比如升级内核、安装显卡驱动、测试服务器配置之前记录一份当前系统的完整磁盘状态和内存状态。如果操作失败直接恢复快照比重新安装系统快得多。具体操作在 VMware 菜单栏找到“虚拟机-快照-拍摄快照”。命名时别用默认的时间戳要写成明确的语义化名字比如“配置完中文输入法”“内核升级前的备份”。7.2 快照与磁盘容量的注意事项快照不是无限免费的。每次创建快照后虚拟机的磁盘文件会额外占用物理空间做差异存储。我给 120GB 的虚拟磁盘创建三个快照后物理磁盘剩余空间明显下降。所以我的维护原则是每完成一个阶段目标就删除掉上一个阶段的旧快照保留最近的关键节点即可不要同时对多个虚拟机做快照避免物理磁盘瞬间爆满快照状态下对虚拟机磁盘做缩减操作时要小心建议先把快照删除再做磁盘压缩7.3 日常维护命令清单给新手整理一份我日常用的高频命令直接存下来用# 查看磁盘使用情况 df -h # 查看内存占用 free -h # 系统更新一条龙 sudo apt update sudo apt upgrade -y # 清理无用软件包 sudo apt autoremove # 查看 NVIDIA / 虚拟显卡信息 lspci | grep -i vga # 查看系统版本 lsb_release -a # 查看内核版本 uname -r这套虚拟机的 Ubuntu 装好之后后续怎么开发全看你自己需求。有人拿它当服务器练手配置 nginx、ssh、MySQL有人在上面练习 Docker 容器跑微服务也有人在里面装 Node.js、Python 环境做全栈开发。基础打牢之后扩展方向非常多。8. 我实际用了几天之后的体验与几点忠告8.1 虚拟机和物理机的性能差距感受装了三天后说点最直观的感受VMware 虚拟机里跑 Ubuntu 桌面日常打开浏览器、终端、系统设置这种轻负载操作几乎感知不到和物理机的差别切换窗口顺滑、快捷键响应也快。但如果你在里面做视频编码、编译大型 C/C 工程、或者同时跑多个容器性能就会有明显下降基本是物理机七八成的水平。毕竟虚拟化层有开销加上我给虚拟机只分配了 4 核和 8GB 内存。所以我的建议是虚拟机的定位是开发学习环境不是你跑重度任务的生产工具。真要跑编译或渲染还是在物理机上做虚拟机里折腾配置没关系别让它去干体力活。8.2 关于“只言片语仅供自己使用”这句话当初我在标题里写“只言片语仅供作者自己使用”是真的觉得这只是一个随手记录后续可能也不会频繁更新。但我后来发现周边很多朋友看到这篇记录以后都来问我说明这种写给自己看的东西因为足够真实反而更好懂。所以我决定把后续的内容也慢慢补上比如 Ubuntu 上配置开发环境、Docker 折腾记录都会在这一个系列里陆续写出来。8.3 关于备份和折腾的边界最后给所有想入坑的新手一个最诚恳的建议虚拟机里折腾 Linux 可以无所畏惧因为再怎么折腾都有快照兜底但这种“随便”并不能迁移到物理机上。所以除非你真的知道自己在干什么否则不要在物理机上贸然执行 fdisk、mkfs、dd 这类命令。你知道在虚拟机里 sudo rm -rf / 和物理机上 sudo rm -rf / 的差别吗一个第二天还能开机一个会直接让你重装系统。这就是虚拟机的价值让你用最低成本去犯错误再从错误里学到真东西。
返回列表