在实际动手之前,先把“虚拟机里装 Linux”这件事当作一个可以随便折腾的实验室来对待。在 vm 虚拟机中安装 Linux,是对开发者、运维、测试甚至学生党最友好的一种学习方式,因为虚拟机天然提供了隔离环境,系统崩溃了直接删掉重来,完全不影响宿主机。这篇文章会从镜像校验、虚拟机参数、磁盘加密、安装后加固到常见问题排查,把完整流程拆开讲明白,保证你看完能自己动手装出一台稳定、还算安全的 Linux 虚拟机。
这项操作适合谁?几乎适合所有想学 Linux 又怕弄坏电脑的人:刚接触 Linux 的新手,可以把 Ubuntu 装进虚拟机随便练命令;做开发的,需要干净环境跑容器或后端服务;做测试的,可以快速复现各种故障场景。整篇内容以 VMware Workstation 为例,发行版以 Ubuntu Server 为主线,同时会给 Rocky Linux 用户标注对应命令,原理是通用的,换成 VirtualBox 也能套用。
1. 为什么把 Linux 装进虚拟机:先想清楚再动手
1.1 虚拟机隔离带来的实际价值
很多人第一反应是“直接装双系统不就行了?”确实,双系统性能更好,但有一个致命问题:一旦 Linux 侧引导损坏、内核升级失败或者误操作改了分区表,Windows 也可能跟着遭殃。而虚拟机的 CPU、内存、硬盘、网卡都是模拟出来的,Linux 里的任何操作都被限制在虚拟硬件内,相当于给系统加了一层防护罩。
从安全性上看,虚拟机隔离可以避免很多不可控的连锁反应。比如你在测试一个不熟悉的脚本,或者下载了来路不明的安装包,如果是在真实系统上运行,风险会直接暴露在宿主机面前;放到虚拟机里,最多就是重装一次虚拟系统。尤其是现在不少人把 Kali Linux 装进虚拟机做安全测试,这就更需要隔离。还有一个容易被忽略的好处:快照。安装完系统、装完软件后各打一个快照,之后随便折腾,出问题一秒钟回滚,这种体验是物理机完全给不了的。
1.2 选 VMware 还是其他方案
提到虚拟机,最常见的三个名字是 VMware Workstation、Oracle VirtualBox 和 Hyper-V。从后台搜索数据里也能看到,vmware 和 oracle vm virtualbox 都是高频词。我的建议是:优先用 VMware Workstation。原因很简单,VMware 对硬件虚拟化的利用更成熟,3D 加速、磁盘 IO 性能、网络兼容性都做得比较好,尤其是新版 16/17 的界面,对新手很友好。
VirtualBox 免费开源,功能也不弱,但在一些场景下会遇到 USB 设备直通不稳定、休眠恢复后网络掉线这类小毛病。Hyper-V 是 Windows 自带,性能和稳定性都不错,但它在桌面个人使用场景下配置相对繁琐,而且需要开启 Hyper-V 组件,有些人会和 Android 模拟器、老版本 VMware 产生冲突。所以后面所有步骤都基于 VMware Workstation 来写,但虚拟化架构相关的概念同样适合其他软件。VMware Workstation Pro 对个人用户已经免费,网上搜索 vmware 虚拟机下载就能找到官方安装包,建议别去第三方站点下载来路不明的版本。
1.3 安装前的目标规划
在动手前,先想清楚这台 Linux 虚拟机装来干什么。用途不同,安装时的参数和分区策略完全不同。我把常见场景分成三类:入门练手,主要是学 Linux 命令、写 Shell 脚本,配置可以很低,2 核 CPU、2GB 内存、20GB 磁盘就够;开发环境,要跑 Docker、编译代码、运行数据库,建议 4 核、8GB 内存、40GB 以上磁盘;服务器模拟,要部署 Web 服务、测试集群、内网应用,网络建议选桥接模式,并预留足够磁盘空间。
不太确定用途的话,磁盘可以直接给 60GB,使用动态分配模式,最开始不会真正占满宿主机空间,后续空间不够时再扩容更麻烦。虚拟机配置可以随时调整,但磁盘扩容流程相对繁琐,所以磁盘容量尽量一次给够。还有一个小提醒:虚拟机同样需要定期维护,不是装完就一劳永逸,系统更新和快照习惯从第一天就要养成。
2. 安装前的准备工作:镜像校验是安全的第一道门
2.1 硬件配置与宿主机要求
安装 Linux 虚拟机之前,先确认宿主机硬件能扛得住。VMware Workstation 17 对 CPU 的要求是支持 VT-x/AMD-V,一般近十年的处理器都没问题。内存是决定性因素:宿主机至少要有 16GB,如果只有 8GB,虚拟机只能分到 2 到 4GB,跑图形界面会很吃力,但跑 Server 版命令行完全够用。
硬盘空间方面,一个最小化安装的 Linux 系统只占 2 到 3GB,但加上软件缓存、日志、Docker 镜像之后就会快速膨胀。我见过很多人把虚拟磁盘设置为 20GB,结果装完数据库和容器就满了,非常被动。建议给系统盘留 50GB 以上,动态分配模式下,宿主机实际占用会随着虚拟机内部使用逐步增长,不会一次性占满。固态硬盘在 IO 性能上的优势很明显,机械硬盘跑 Linux 虚拟机不是不行,但开机会明显变慢,编译代码时差距更大。如果宿主机有多个物理磁盘,把虚拟机文件放在非系统盘上,能避免系统盘碎片化和空间紧张的问题。
2.2 Linux 发行版横向对比与选择
Linux 发行版多到让人眼花缭乱,但真正适合虚拟机入门安装的,翻来覆去就那几个。Ubuntu 是绝大多数新手的第一选择,软件生态全、教程多、报错后搜得到答案;Debian 更精简稳定,资源占用低,适合做长期不重启的服务器;Rocky Linux 或 AlmaLinux 是 RHEL 系的替代品,适合已经习惯了 CentOS 命令体系的人。
这里给出一张简单的对比表:
| 发行版 | 适合人群 | 安装包大小 | 包管理器 | 驱动兼容性 |
|---|---|---|---|---|
| Ubuntu Server 22.04/24.04 | 新手、开发者 | 约 2.5GB | apt | 极好 |
| Ubuntu Desktop 24.04 | 桌面学习、GUI 使用 | 约 5.5GB | apt | 极好 |
| Debian 12 | 追求稳定、服务器 | 约 700MB(netinst) | apt | 好 |
| Rocky Linux 9 | 运维、CentOS 迁移 | 约 2GB | dnf | 好 |
| Kali Linux | 安全测试 | 约 3.5GB | apt | 好 |
如果你是第一次装,我建议直接从 Ubuntu Server 22.04 开始。不是因为它最好,而是因为它的教程资料量和社区问答量最大,遇到问题最好搜。后面我主要用 Ubuntu Server 的命令示例,Rocky Linux 用户把 apt 换成 dnf 即可。注意 Desktop 和 Server 的区别不只是有没有图形界面,Server 版默认禁用 GUI、网络管理方式也更偏向命令行,更贴近生产环境。
2.3 下载 ISO 并校验 SHA256 校验和
这就是“安全安装”里最关键的一块。很多教程会告诉你“去官网下载 ISO”,但真正能做到校验的人不多。所谓安全,不只是安装过程不出错,还包括你装的系统镜像本身有没有被篡改。一个被篡改过的镜像,可能内置后门、恶意定时任务,装完以后你的虚拟机就变成了别人控制的工具。
正确流程是:进入 Ubuntu 官网下载页面,选择对应版本的 Server ISO,同时在页面找到 SHA256SUMS 文件。下载完 ISO 后,在宿主机 PowerShell 里执行哈希计算,把得到的结果和官网发布的值比对,一致才继续安装,不一致就重新下载。
Windows 宿主机用 PowerShell:
Get-FileHash .\ubuntu-*.iso -Algorithm SHA256Linux 宿主机上则用 sha256sum:
sha256sum ubuntu-*.iso这个步骤只要几秒钟,但能筛掉绝大多数镜像被篡改或下载不完整的风险。下载 ISO 的位置建议放在一个路径里没有中文和空格的目录,后面 VMware 引导时路径太复杂反而容易出错。ISO 文件下载完成后不要急着删除,安装过程中如果遇到引导问题,还能用来做应急恢复。
2.4 安装 VMware Workstation 与基础环境
VMware Workstation 安装本身没什么难度,一路 Next 即可。但有两个设置有讲究:安装完成后,在“编辑 -> 首选项”里,把默认虚拟机位置改到一个空间充足的盘,不要放在系统盘;同时可以关闭“启动时检查更新”,避免每次打开 VMware 都弹更新提示。
另外,在 Windows 功能里要确认“Hyper-V”和“虚拟机平台”不会和 VMware 冲突。如果电脑上开着 Hyper-V,VMware 会通过 Windows Hypervisor Platform 运行,性能有损失,也可能出现兼容性问题。如果你不确定,最简单的方式就是不勾选 Hyper-V,让 VMware 直接调用 CPU 的虚拟化指令。如果安装时提示“VMware Workstation 与 Device/Credential Guard 不兼容”,这属于比较常见的启动坑,后面的排查章节里会专门讲。
3. 创建虚拟机的参数设置:每一步都有讲究
3.1 新建虚拟机向导的关键参数
在 VMware Workstation 中点击“创建新的虚拟机”,选择“自定义(高级)”比“典型”更好,因为可以在创建时就控制每个硬件选项。很多人图省事选典型,最后发现磁盘类型不对、虚拟化引擎没开,还要重新建。自定义向导里,有几个参数我建议专门修改。
固件类型选 UEFI,不要选 BIOS。现在主流发行版对 UEFI 支持更完整,Secure Boot 也能用,GPT 分区表让磁盘管理更灵活。处理器配置里,处理器数量设为 1,每个处理器内核数设为实际需要的内核数。比如你想给虚拟机 4 核,写成“1 个处理器、4 个内核”比“4 个处理器、1 个内核”更贴近真实物理机拓扑,某些软件在授权计数时也更合理。
内存大小根据用途来:新手练手 2GB 够用,开发环境建议 8GB。注意不要超过宿主机物理内存的一半,否则宿主机本身也会卡。I/O 控制器保持默认 LSI Logic SAS 即可,SCSI 对绝大多数 Linux 发行版兼容性都不错。磁盘类型建议选 NVMe,如果 VMware 版本支持的话,NVMe 虚拟磁盘在 Linux 下的性能更好,而且lsblk看到的设备名是 nvme0n1,更接近现代服务器习惯。
3.2 网络模式:NAT、桥接、仅主机怎么选
虚拟机的网络模式直接决定它能访问谁、谁能访问它,也从侧面决定了安全边界。
NAT 模式是默认模式,虚拟机通过宿主机共享 IP 上网,外部网络无法直接访问虚拟机。这种模式最安全,适合绝大多数学习场景,我在装完系统后默认就让虚拟机待在 NAT 里。桥接模式相当于把虚拟机当成局域网里的一台独立设备,它有自己的局域网 IP,其他真实设备可以直接访问它。需要把虚拟机部署成可以被同事访问的测试服务器时,才用桥接。代价是,如果虚拟机内部防火墙没配好,它就暴露在局域网里,容易成为被扫描的目标。仅主机模式是虚拟机只能和宿主机通信,不能访问外部网络,适合完全不联网的隔离调试环境。
给一个直接的建议:默认用 NAT,没有特殊需求别乱动。如果确实要开桥接,先把虚拟机里的防火墙和 SSH 访问控制配置好再说。网络模式后续可以随时切换,不需要重装系统,但切换后 IP 会变化,你的 SSH 连接、配置文件里的 IP 都要跟着改。
3.3 虚拟磁盘的预分配与加密存储
磁盘创建界面有两个选项:“立即分配所有磁盘空间”和“将虚拟磁盘存储为单个文件”。“立即分配”会让虚拟机一开始就占用完整磁盘容量,优点是虚拟机内部的 IO 性能更稳定,缺点是浪费宿主机空间,而且创建时间变长。默认不勾选即可,让磁盘随着使用而增长。
这里要强调一个安全关键点:虚拟磁盘文件本身是普通文件,别人拿到你的 VMDK 文件就相当于拿到了整块硬盘数据。如果你处理的是敏感数据,建议在 VMware 设置里勾选“加密虚拟机”,输入加密密码。这样虚拟磁盘文件会被加密,即使文件被复制出去,没有密码也无法读取内容。代价是每次打开虚拟机需要验证,性能会轻微下降,但这个权衡值得做。虚拟磁盘文件建议放在 NTFS 分区,不要放在 FAT32 或 U 盘上,文件大小和权限都可能出问题。
3.4 虚拟机设置面板里的隐藏安全项
创建向导完成后,在虚拟机列表上右键进入“设置”,还有几项值得检查:
- 虚拟机的固件如果是 UEFI,勾选“启用安全引导”。主流 Linux 发行版都支持,能防止启动阶段被注入恶意引导程序。
- 在“选项 -> 高级”里,把输入优先级调为“高”,避免操作时鼠标卡顿。
- 如果不需要 USB 设备,把 USB 控制器里的“自动连接新 USB 设备”关闭,减少外设层面的暴露面。
- 显卡的“加速 3D 图形”暂时不要开,等装完系统后再按需开启,减少安装阶段出问题的概率。
这些设置看似琐碎,但都属于“一次配置,长期受益”的事情。尤其是安全启动和加密磁盘,很建议从一开始就打开,而不是等系统已经跑起来再回补。虚拟机在创建阶段改这些设置最容易,系统装好后再调整往往需要重启,甚至可能影响引导。
4. 安装 Linux 系统的核心过程
4.1 从 ISO 引导,安装界面怎么选
创建完虚拟机后,在“CD/DVD”设置里把 ISO 镜像文件挂载上去,勾选“启动时连接”,然后开机。对于 Ubuntu Server,你会看到一个 GRUB 菜单,默认第一项是 “Try or Install Ubuntu Server”,直接回车即可。如果 GRUB 菜单出现 “Install Ubuntu Server (safe graphics)” 这个选项,意思是系统自动检测到图形初始化可能有问题,它会降级到兼容模式,本质上不是“更安全”,而是“更保守”,用默认项即可。
如果虚拟机开机后黑屏,或者一直停留在 VMware 的 logo 界面出不来,第一反应不是重建虚拟机,而是先检查 ISO 文件本身是否损坏,再检查虚拟机固件是不是选成了 BIOS 而 ISO 只支持 UEFI。这个排查思路能节省大量时间。另外,如果在 VMware 里按了 Ctrl+Alt+Del 没反应,那是因为虚拟机捕获了组合键,正确操作是使用菜单栏的“虚拟机 -> 发送 Ctrl+Alt+Del”。
4.2 磁盘分区:LVM 与加密
安装向导进行到磁盘分区时,新手最容易一路默认。Ubuntu Server 默认会帮你用整个磁盘并启用 LVM,这对虚拟机来说是比较合理的方案,我建议保留默认。LVM 的好处是逻辑卷可以在线扩展,以后给数据盘扩容时不用折腾分区表。
如果你想要更可控的结构,就选“自定义存储配置”,手动建分区。一套适合虚拟机的经典方案:
| 挂载点 | 大小 | 文件系统 | 说明 |
|---|---|---|---|
| /boot/efi | 512MB | FAT32 | UEFI 引导分区 |
| /boot | 1GB | ext4 | 内核和引导文件,建议独立 |
| / 根分区 | 剩余全部 | ext4 或 xfs | 放在 LVM 卷组里 |
| swap | 可选 2GB | swap | 内存较小时建议保留 |
加密这块,在自定义存储配置里可以勾选“加密整个系统”。Ubuntu 用的加密方案是 LUKS,开机时要求输入密码解锁根分区。加密后,就算虚拟机的 VMDK 文件被别人复制走,他也无法直接看到里面的数据。密码建议用一段容易记但不容易猜的短语,别用单个单词或纯数字。
有人问过:“虚拟机内部 LUKS 加密和 VMware 的加密磁盘是不是重复?”它们防的场景不一样。VMware 加密是防止宿主机层面的磁盘文件被窃取,LUKS 是防止虚拟机内部磁盘在离线状态下被分析。两个可以叠加,但平时只选 VMware 加密也基本够用,LUKS 更适合需要更高合规要求的场景。如果你开 LUKS,记得把恢复密钥保存到宿主机之外的安全位置,比如密码管理器,否则密码忘记就只能重装。
4.3 用户、主机名与软件源设置
安装过程中会让你设置主机名和用户名。主机名建议改成有辨识度的名字,比如dev-linux或ubuntu-01,别用默认的ubuntu。后面你通过 SSH 连接多台虚拟机时,看一眼命令行提示符就能确认自己在哪台机器上,这个习惯非常重要。用户名创建后会自动加入 sudo 组,日常操作不要直接使用 root,这是 Linux 安全的基本常识。
到了配置 Ubuntu 镜像站点这一步,如果你的网络访问官方源很慢,可以换用可访问性更好的镜像源地址。软件源的设置后期随时可改,配置文件在/etc/apt/sources.list或/etc/apt/sources.list.d/下。安装类型这里,我建议只勾选 “OpenSSH server” 这一个附加项,其他如 Docker、Kubernetes 之类的都不要在安装阶段装。初次安装保持最小化,能减少很多不必要的依赖和潜在风险,后面需要什么再单独补装。
4.4 安装完成后的首次启动和初步检查
安装完成后,移除 ISO 镜像或取消“启动时连接”,重启进入新系统。输入用户密码登录后,第一件事不是急着装软件,而是做三件基础检查。
第一,确认系统更新:
sudo apt update && sudo apt upgrade -y这一步会把安装镜像里自带的、可能有漏洞的软件包更新到最新版本,属于“安全安装”里绝不能被跳过的操作。系统更新可能耗时较长,尤其是在网络一般的情况下,耐心等它完成,别中途强行关闭虚拟机。
第二,查看磁盘和网络状态:
lsblk ip addr show确认根分区正常挂载,网卡拿到了 NAT 网络的 IP,通常是 192.168.x.x。如果ip addr输出里没有 IP,大概率是 DHCP 服务没分配到,或者 VMware 的网络服务没启动,这个问题处理方式在排查章节有详细说明。
第三,确认时间同步:
timedatectl status时间不同步会导致证书验证失败、日志时间错乱,这些都是后患无穷的问题。如果在 NAT 网络下时间同步失败,可以手动指定 NTP 服务器后再试。服务器类应用对时间精度要求很高,这个检查不能跳过。
5. 安装后的安全加固与日常优化
5.1 安装 open-vm-tools,打通剪贴板和文件拖放
新系统安装完,马上要安装 VMware 虚拟机增强工具。现在多数发行版可以直接用 open-vm-tools 包,不需要再用 VMware 菜单里的“安装 VMware Tools”功能:
sudo apt install open-vm-tools open-vm-tools-desktop -y装完之后重启一次,你会明显感觉到:鼠标移动更流畅,终端窗口自动适应分辨率,宿主机和虚拟机之间的剪贴板可以互通,拖放文件也正常了。对于跑图形界面的 Ubuntu Desktop,open-vm-tools-desktop是必须的;对于 Server 版,只装open-vm-tools即可。
要提醒一个安全点:剪贴板和拖放功能本质上是宿主机和虚拟机之间的数据通道。如果在虚拟机里处理不受信任的数据,又开启了拖放,恶意文件可能借这个通道进入宿主机。我的习惯是,日常开发保持开启,但测试可疑脚本或陌生样本时,把拖放功能临时关掉。这个动作虽小,却能在关键时刻防止虚拟机里的问题扩散到宿主机。
5.2 防火墙、SSH 与账户安全设置
虚拟机虽然隔离在 VMware 里面,但它依然有网络接口,不能裸奔。Ubuntu Server 自带 ufw,安装完默认是关闭状态,需要手动开启:
sudo ufw allow OpenSSH sudo ufw enable sudo ufw status verbose如果这台虚拟机只是学习环境,开启 OpenSSH 端口就够了。如果你安装了 Docker,要特别注意:Docker 会自动修改 iptables 规则,这时 ufw 可能出现“开了防火墙还能访问所有端口”的情况,这是因为 Docker 的规则绕过了 ufw 的拦截。这是个非常经典的坑,解决方案是使用 Docker 自身的网络隔离,或者借助专门工具管理 iptables 规则。
SSH 安全方面,至少要做到禁用 root 密码登录,修改配置文件/etc/ssh/sshd_config:
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config sudo systemctl restart sshd有条件时建议直接配置 SSH 密钥登录,然后关闭密码登录。密钥登录比密码登录安全得多,只要私钥不泄露,暴力破解基本无解。别觉得虚拟机里没必要,一旦你把桥接模式打开,或者把虚拟机的端口映射到局域网,SSH 暴力破解脚本马上就会找上门。
5.3 打好系统快照,建立回滚习惯
“安全安装”不只是防止外部攻击,也包括防止自己手滑。Linux 命令行操作出错,小到误删配置文件,大到把/etc权限改错,都是学习过程中常见的事。如果每次都重装系统,效率太低,所以安装完成、做完基础配置之后,强烈建议马上打一个快照。
在 VMware 里,右键虚拟机 -> 快照 -> 拍摄快照,命名类似base-installed,备注写“系统刚装完,已做基础更新和防火墙配置”。以后不管怎么折腾,只要系统坏了,恢复到base-installed快照,就能快速回到这个干净状态。
但要注意,快照不是备份的替代品。快照依赖 VMDK 和当前虚拟机的状态,如果整个 VMDK 文件损坏,快照也没用。重要数据还是要通过rsync或者scp同步到宿主机或其他存储。快照和备份是两件事,混用的人迟早会踩坑。快照数量也不要无限增加,新快照会导致磁盘文件越来越大,建议保留 2 到 3 个关键节点的快照即可。
5.4 虚拟机资源限制与自动启动
在 VMware 设置里可以为虚拟机设置资源控制,限制 CPU 和内存上限。为什么刚装完系统就要做这个?因为虚拟机和宿主机共享硬件资源,如果你同时跑多个虚拟机,某一个虚拟机疯狂占 CPU,会拖垮宿主机和其他虚拟机。
具体做法是:在虚拟机设置的高级选项中,设置 CPU 的最大处理器数量,以及预留内存的大小,再配合处理器调度方式。把这些参数手动调低一点,对多虚拟机场景更友好。如果你只在 VMware 里跑一台 Linux,也可以保持默认,但了解一下这个设置没有坏处。
虚拟机还有一个容易被忽略的问题:每次宿主机开机后,VMware 不会自动启动虚拟机。如果 VM 是开发环境,每次手动启动很麻烦。VMware Workstation 提供了“打开虚拟机电源时启动”的选项,配合 Windows 任务计划程序,可以让宿主机启动后自动拉起虚拟机。这个属于进阶用法,但很适合平时习惯把虚拟机当主力开发机的人。
6. 常见问题与排查技巧实录
6.1 虚拟机无法从 ISO 引导
症状:开机后直接进入“No bootable device found”,或者界面一直停留在 VMware 的 logo。排查顺序如下:
- 确认 ISO 已挂载,并且“启动时连接”是勾选状态;
- 进入虚拟机的 UEFI/BIOS,确认启动顺序里 CD/DVD 排在硬盘前面;
- 确认 ISO 文件本身没有损坏,用哈希校验是最稳妥的方法;
- 如果启用了安全启动,部分旧的 Linux ISO 可能无法引导,可以临时关闭安全启动再试。
这个问题的根源 90% 是引导顺序或固件不匹配,跟系统本身关系不大。你可以试试手动按 F2 进入固件设置,在 Boot 菜单里把 CD/DVD 挪到第一位。VMware 的虚拟 UEFI 和物理机 UEFI 操作逻辑差不多,多试几次就熟悉了。
6.2 VMware 网络适配器黄色感叹号或虚拟机没有网络
在宿主机“设备管理器”里看到 VMnet1 或 VMnet8 带着黄色感叹号,是最常见的网络故障。出现这个问题的原因大多数是 VMware 安装后,虚拟网卡驱动没有正常绑定,或者 DHCP 服务被系统优化工具禁用了。
处理方案分两步。
第一步,在 Windows 服务管理器中找到VMware NAT Service和VMware DHCP Service,确认状态是“正在运行”,启动类型是“自动”;
第二步,在网络适配器设置里,把 VMware Network Adapter VMnet8(NAT 模式)禁用再启用,通常能恢复。如果 VMnet8 还是感叹号,尝试以管理员身份执行网络重置命令,然后重启电脑。
虚拟机内部如果拿到了 169.254.x.x 地址,说明 DHCP 没有成功,可以在 VMware 菜单“编辑 -> 虚拟网络编辑器”中点击“还原默认设置”,重建网络环境。VMware 的网络服务虽然很少出问题,但一旦出问题,最有效的工具往往就是还原默认设置。
6.3 虚拟机开机慢、图形界面卡顿
性能问题不只要看虚拟机本身,也要看宿主机资源占用。在任务管理器里观察宿主机 CPU 和内存,如果宿主机已经 90%,虚拟机卡顿是必然的。虚拟机内部的优化方向是:确认 open-vm-tools 已安装、磁盘类型是 NVMe、内存没有频繁触发 swap。可以用free -h查看内存使用,如果 swap 占用很高,说明内存不够,应该增加虚拟机内存。
还有一个容易被忽略的设置:在 VMware 的虚拟机显示设置里,如果“加速 3D 图形”没开启,而你在虚拟机里跑 GNOME 桌面,GPU 渲染会退化成软件渲染,界面卡顿非常明显。开启之后的体验提升是肉眼可见的。如果虚拟机只跑无界面服务,完全不用管图形设置,图形性能不会影响 SSH 命令行操作。
6.4 磁盘空间不足时如何安全扩容
装机时磁盘只留 20GB,后面装软件发现空间不够,这种问题我收到过太多次。扩容的正确步骤是:
- 在 VMware 虚拟机设置里,把硬盘大小调整到 60GB 或更大;
- 启动虚拟机,在系统内执行
sudo growpart /dev/sda 2扩展分区,分区编号要按实际布局调整; - 扩展文件系统,普通 ext4 分区用
sudo resize2fs /dev/sda2,LVM 逻辑卷则先执行sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv,再执行文件系统扩展。
这套流程对普通分区和 LVM 分区都适用,但不同发行版的命令略有差异。扩容前一定要打快照,我见过扩容到一半宿主机断电导致虚拟磁盘元数据损坏的情况,那个恢复过程相当痛苦。快照不能替代备份,但至少能让你多一条回头路。
6.5 中文乱码与终端显示问题
Linux 虚拟机里如果遇到中文文件名显示成方块,或者压缩包解压乱码,问题通常出在 locale 配置上。Ubuntu Server 安装时默认语言选英文,系统只生成 en_US.UTF-8 的 locale,遇到中文文件自然显示不正常。解决方式:
sudo apt install locales sudo dpkg-reconfigure locales在弹窗里勾选 zh_CN.UTF-8,然后重新登录终端。要注意,终端软件自己也必须设置为 UTF-8 编码,Windows 自带控制台对 UTF-8 支持不算好,建议不要在 VMware 控制台窗口里直接操作虚拟机,改用 MobaXterm、Windows Terminal 或 VS Code Remote-SSH 连接虚拟机,乱码问题会少很多,操作体验也更舒服。
从我个人实际操作体会来说,在 vm 虚拟机中安装 Linux,最值得花时间的不是点击安装按钮那几个动作,而是安装前的镜像校验、安装中的分区与加密选择、安装后的快照与防火墙配置。把这些事情做好,后面的学习和开发才会顺畅。最后再分享一个小技巧:每次装完一个阶段性的环境,比如装完 Docker、搭好数据库,都顺手打一个快照,命名里写清楚日期和用途。时间久了,这个虚拟机就是你的“时光机”,可以随时退回到任何一个关键节点。希望你也能从这台虚拟机开始,把 Linux 当成日常工具来用。