1. 为什么我仍然推荐在VMware里装Ubuntu 18.04
过去几年我一直在用虚拟机做开发环境隔离,几乎每台Windows电脑上都装了VMware Workstation,里面再塞几个Linux发行版轮换使用。最近接手一个模拟项目X,需要跑一堆老版本依赖,翻来翻去还是Ubuntu 18.04最省事。虽然18.04已经过了官方标准支持期,但它的软件源、兼容性和社区资料都非常成熟,很多遗留系统的部署文档、编译教程、运维脚本都默认基于18.04写,用20.04或22.04反而容易踩版本坑。于是在VMware上再装一台Ubuntu 18.04,整个流程重新走了一遍,顺手把之前栽过的跟头也整理出来。
先说说这篇内容适合谁参考:第一次接触VMware的小白、需要"快速搭一台能用Linux"的前端或后台开发、还有做运维巡检的老手想在本地复现生产环境。无论你是哪种情况,跟着这套步骤走,基本一小时以内就能把一台Ubuntu 18.04跑起来,而且网络、共享目录、屏幕分辨率这些容易出幺蛾子的地方都能提前规避掉。
在做具体操作之前,先厘清两个核心概念,这对后面排错特别有帮助。VMware Workstation本质上是一个硬件虚拟化软件,它把你真实的CPU、内存、硬盘、网卡抽象成一套虚拟设备,Ubuntu看到的是一个完整但"假"的电脑。所以虚拟机里的系统配置,并不完全等于你本机的真实性能,而是你分配给它的那部分资源。
这就引出一个关键原则:VMware里的配置不是越大越好,也不是越小越省,必须结合目标系统去权衡。Ubuntu 18.04的桌面版默认要求2GB内存、20GB硬盘,但如果只给它2GB内存,用Firefox开几个标签页就卡得不行。反过来,如果给一台只有8GB内存的笔记本分配到6GB给虚拟机,宿主机自己先顶不住了。
我自己的经验是:至少4GB内存、双核CPU、40GB磁盘,这样的资源给Ubuntu 18.04桌面版,日常编译、写代码、跑测试都足够舒服。如果只做命令行使用或者服务器级部署,2GB内存加20GB磁盘也够,但后续编译大型C++项目时会比较吃力。
还有个容易忽略的点:虚拟机的性能受限于宿主机,但宿主机也要给虚拟机预留足够余量。虚拟机里的"内核"使用实际上很大程度依赖宿主机的物理内存和CPU虚拟化支持。如果CPU没有开启VT-x或AMD-V,VMware会直接性能暴跌,甚至无法启动64位系统。所以在装系统之前,先进BIOS确认一下虚拟化选项已经打开,这一步比后面的所有配置都重要。
接下来开始正题。我将整个过程拆成六个阶段,每个阶段里既包含操作步骤,也包含你为什么应该这样做的理由。有配置参数不理解的地方,可以先照抄,再回来看解释。
2. ISO镜像下载与宿主机专项检查:看似无聊实则决定成败
2.1 去哪里下载安全且完整的Ubuntu 18.04镜像
Ubuntu 18.04的官方镜像现在仍然可以在Ubuntu官方站点找到,只是默认页面会优先推20.04和22.04,需要自己切到老版本列表。不少第三方站点也提供镜像下载,但我不建议随便找链接,虚拟机里装的系统要长期使用,镜像被篡改的风险比本机还难防备。官方镜像有校验码,下载后可以做一个完整性比对,这一点很多人直接跳过了,直到某次装完系统出现奇怪的报错才回头找原因。
镜像选型上有两个分支:桌面版(desktop)和服务器版(server)。桌面版自带GUI,安装过程中有图形界面引导,最适合新手和日常开发;服务器版只有命令行,安装过程和后续管理都更轻量,适合搭服务、跑脚本、做生产环境的模拟。如果你不确定选哪个,先装桌面版,装完以后在里面开终端做管理也不影响。你要是想模拟一个无头服务器,那server版更省资源。
18.04还有一个小版本的区别,主要指的是更新累积到哪一个时间点的镜像,比如18.04.5、18.04.6。小版本越新,预置的驱动和补丁越全。除非你有特殊理由,不然优先找最后那个点版本,比如18.04.6,这个在兼容性和稳定性上都比最早的18.04.0好很多。
2.2 宿主机资源分配的最低与推荐参数对照
在VMware里新建虚拟机之前,先确认宿主机能满足最低负载,这是很多人容易倒在第一关的地方。一个典型的场景:你的Windows本子有16GB内存,自以为分配给虚拟机4GB没问题,结果宿主机上还开着几十个浏览器标签页、微信、钉钉、一个IDE,实际可用内存已经不足8GB,虚拟机一启动就极度卡顿。所以检查自己当前内存占用率,比看总内存容量更实在。
我整理了一个资源配置参考表,你可以直接对照使用,后续可根据实际负载再做微调:
| 使用场景 | CPU核心数 | 内存 | 磁盘空间 | 网络模式建议 |
|---|---|---|---|---|
| 最小化命令行体验 | 1 | 2GB | 20GB | NAT |
| 桌面日常使用 | 2 | 4GB | 40GB | NAT或桥接 |
| 开发编译、测试服务器 | 4 | 8GB | 60GB及以上 | 桥接或仅主机 |
磁盘空间这块要注意一个细节:VMware的虚拟磁盘默认是有两种设置,动态分配和固定大小。动态分配的意思是虚拟磁盘文件会随着内部使用量增长而增大,安装时看起来只占几百KB,实际使用到20GB时文件就会涨到20GB。固定大小是一开始就划出一整块空间,比如你设置40GB,宿主机真实的物理磁盘立刻就会减少40GB可用空间。
两者在性能上差别很明显。固定大小的虚拟磁盘因为磁盘文件连续分配,读写性能更稳定,增长速度也好把控;动态分配在长时间使用后,容易产生磁盘碎片和体积膨胀问题。如果宿主机磁盘空间充裕,我建议直接选固定大小,省得日后清理虚拟磁盘快照时处处被动。如果你非要用动态分配,也要记得定期清理快照和系统垃圾,否则虚拟磁盘文件会无限制膨胀。
2.3 必须提前打开CPU虚拟化开关的排查方法
CPU虚拟化开关不在VMware里设置,而是在BIOS或者UEFI里。不同的主板厂商这个选项名称不一样,常见的有Intel Virtualization Technology、Intel VT-x、AMD SVM Mode、SVM等。有的笔记本出厂默认开启,但也有不少默认关闭。关闭状态下一启动Ubuntu 18.04的64位安装程序,VMware会弹一个警告,说"此主机支持Intel VT-x,但Intel VT-x处于禁用状态"。如果你从没看到过这个提示,不代表你没问题,有可能你的CPU压根不支持虚拟化。
进BIOS的方法各家机器不一样,普遍做法是重启电脑,在开机画面时持续按F2、Del、F12或Esc,具体键位可以在开机画面的角落看到提示。进入后找到虚拟化相关选项,把它设为Enabled,保存退出。改完以后,可以在Windows里打开任务管理器,查看性能标签页的CPU部分,如果"虚拟化"一栏显示"已启用",就说明设置成功了。
这个步骤我建议在创建虚拟机之前就做完,否则你一路折腾到安装界面才发现不对劲,会白白浪费大量时间。另外还有个容易被忽略的细节:Windows的Hyper-V或者内核隔离功能会占用虚拟化资源,导致VMware虚拟机的性能明显下降。如果你机器上同时开着Hyper-V,可以在"启用或关闭Windows功能"里把Hyper-V勾选去掉,然后重启。这一步不是必须的,但很多时候VMware跑Linux变慢,罪魁祸首就是这个。
3. 新建虚拟机的每一步配置及其背后的性能与兼容性考量
3.1 选对虚拟机版本和操作系统类型
启动VMware Workstation以后,选择"创建新的虚拟机",会出现一个向导。界面有两种模式:典型(推荐)和自定义。新手用典型模式很方便,但典型模式隐藏了一些关键参数,比如虚拟磁盘类型、固件类型、声卡/打印机这些外设是否启用。如果你有一定基础,或者希望后续减少兼容性问题,直接选自定义,多花两分钟换来更干净的环境。
在"选择虚拟机硬件兼容性"这一步,VMware会问你要兼容到哪个版本,比如Workstation 12、14、15、16等。版本越高,功能越新,但如果你的VMware安装版本较旧,选择过高的兼容性会报错。我的建议是选择当前VMware版本能选到的最高项,除非你有迁移到其他平台的计划,才去考虑低版本兼容性。对于仅在本机长期使用的场景,这个选项其实影响不大。
接下来选择"安装程序光盘映像文件(iso)",直接指定你下载的Ubuntu 18.04镜像。这里有一个很多人踩过的坑:VMware的简易安装模式会自动识别并执行无人值守安装,界面非常好,但它默认安装一个你都没法指定磁盘布局的Ubuntu,而且用户名和主机名都是它自己生成的,后续改起来麻烦。建议选择"稍后安装操作系统",然后手动走完每一步,这样你能完全掌控分区和软件源。虽然多了几步操作,但更可控。
在"选择客户机操作系统"页面,选择Linux,版本选择"Ubuntu 64位"。如果你的机器是32位的,就选32位版,但18.04本身对32位支持已经慢慢减少了,尽量用64位。
3.2 内存、CPU、磁盘的精细调整
向导会让你输入虚拟机的名称和位置。名称建议体现用途,比如"Ubuntu-18.04-Dev",这样后面同时开启多台虚拟机时,一看名字就明白这台是做什么的。存储位置一定要放在一个剩余空间充足的盘符上,不要默认放C盘,尤其当你的C盘是固态硬盘且容量紧张时,虚拟磁盘文件动辄几十GB,C盘爆掉会连带拖垮整个系统。
接下来是设置CPU和内存。VMware允许你给虚拟机分配多个处理器,每个处理器可以有多个核心。这个部分容易误解:虚拟机内看到的CPU核心数,不一定要跟物理机的CPU拓扑完全对应。比如真机是4核8线程,你给虚拟机分配"2个处理器、每个处理器2个核心",跟"1个处理器、4个核心"在实际使用中性能差异很小。关键是总核心数别超过宿主机的逻辑处理器数量。你可以在Windows任务管理器里查看"逻辑处理器"数量,一般就是下方标出的"xx"。
内存方面,我建议桌面开发环境锁定4GB起步。如果你只有8GB物理内存,分配4GB之后宿主机会有点紧张,但还扛得住;如果你有16GB,给6GB或8GB都行。一个相关细节是"内存预留",默认勾选的是"立即分配所有内存",这会导致虚拟机一启动就占掉你指定的那部分物理内存,好处是性能稳定,坏处是宿主机内存一下减少一大块。如果你心疼宿主机性能,可以不勾选,让VMware根据负载动态分配,代价是偶尔有轻微延迟。我个人倾向于勾上,因为对虚拟机的性能一致性有要求。
然后设置磁盘容量。这里有一个经常被忽略的点:不管后期你是否需要扩展,虚拟磁盘容量设置得越大,对应的虚拟磁盘文件在固定大小模式下占用的宿主机空间也越多。所以别一上来就设200GB,除非你确实有数据仓库类需求。40GB是推荐值,日常开发足够,后面不够用再加也是一样的。磁盘类型选SCSI通常没毛病,NVMe在个别场景下性能更好,但兼容性测试中发现部分18.04老内核对NVMe虚拟磁盘的支持有轻微瑕疵,SCSI最稳。
3.3 网络模式选择:NAT、桥接和仅主机模式的实际差异
这一步是整个虚拟机网络配置中最容易让人困惑的地方。VMware提供了三种常见的网络模式,每种对应不同的网络语义。
NAT模式,虚拟机把宿主机的网络当成一座桥,虚拟机内部通过一个虚拟NAT设备访问外网,宿主机相当于一个网关。所有虚拟机都处于一个私有网段(默认是192.168.xxx.0),从外部看,只有宿主机这一个IP在通信。NAT模式的好处是宿主机能联网,虚拟机就能联网,不需要额外的网络配置,非常省心。坏处是外部网络无法主动访问到虚拟机,除非你自己配置端口转发。
桥接模式,虚拟机会直接与宿主机共用物理网卡,获得一个和宿主机同一局域网网段内的真实IP。外部设备可以直接通过网络访问这台虚拟机,就像它是一台真实的独立电脑。这种模式非常适合测试服务器场景,但前提是局域网里有DHCP服务器,或者你自己手动配置静态IP。如果你经常切换WiFi或者办公网络有接入认证,桥接模式常常会失灵,这时切回NAT模式反而稳定。
仅主机模式,虚拟机只能和宿主机通信,无法访问外网,适合隔离环境测试。对于普通开发来说,绝大多数场景选NAT就够了,既能上网又不会干扰局域网。如果你计划在虚拟机里部署Web服务,并希望能从宿主机浏览器直接访问,NAT也可以做端口转发达成,不需要非得切换桥接。
还有一个"虚拟化Intel VT-x/EPT或AMD-V/RVI"的勾选,在虚拟机设置里默认开启,可以显著提高虚拟机的性能。如果发现虚拟机运行特别慢,先检查这一项是否被关闭。
4. Ubuntu 18.04安装过程全拆解:从图形引导到分区和用户设置
4.1 Ubuntu安装器启动阶段可能出现的问题和应对
用ISO启动虚拟机后,正常情况下你会看到紫色背景的GRUB引导菜单,选择"Install Ubuntu"回车,就会进入安装流程。如果你的菜单是英文,别慌,只是语言显示设置问题。选择"中文(简体)"继续即可。
这里有一个经常遇到的现象:系统启动到图形界面时,屏幕可能卡在logo处或黑屏一会儿。很多人以为死机了,直接关闭虚拟机,结果反复重启还是进不去。真实原因是虚拟机默认显示驱动对某些帧缓冲模式兼容性一般,尤其当分辨率较高时,加载需要更长时间。此时应该耐心等待,通常30秒到1分钟就会进入安装界面。如果你实在等不下去,可以在虚拟机设置里将显卡显存调高一些,或者暂时降低启动时的图形分辨率。
安装界面第一步会询问是否安装第三方软件,比如MP3解码器和无线网卡驱动。对于绝大多数桌面使用场景,建议勾上,因为后续编译环境需要额外安装不少工具。这个勾选跟系统更新没有任何冲突,放心选。
4.2 安装类型中分区策略的两种路线
到"安装类型"这一步,很多人第一次会犹豫。Ubuntu 18.04安装器提供"清除整个磁盘并安装Ubuntu"和"其他选项"(手动分区)两种主要通路。在虚拟机里,磁盘就是我们之前创建的虚拟磁盘,不存在别的数据需要保留,所以直接选"清除整个磁盘并安装Ubuntu"既快又稳。安装器会自动创建好交换分区和根分区,不需要你做任何额外干预。
但如果你有特定的分区需求,比如想把/home单独分出来,或者需要预留一部分空间给其他系统测试,就选"其他选项"。手动分区时要至少创建两个分区:一个挂载点为根目录 / ,建议使用ext4格式;一个用于交换空间swap,大小可以设置为物理内存的1到2倍,比如4GB内存就划4GB或8GB。有人问swap分区有没有必要,有。即使你的内存足够大,内核在内存紧张时会用到swap做回收,没有它可能直接导致OOM,进程被杀。
还要注意引导加载器GRUB的安装位置。默认会安装到虚拟磁盘的第一块设备(比如/dev/sda),不要改成别的位置,否则虚拟机启动时会找不到引导记录,直接卡在黑屏和grub>提示符之间。
分区格式上,18.04默认用ext4,这也是最稳的选择。不要为了好奇去尝试ZFS或Btrfs,除非你已经对它们非常熟悉,否则后续扩容、快照、故障恢复都很麻烦。想体验新文件系统可以另开虚拟机测试,别拿主工作环境练手。
4.3 用户账户和主机名的设计建议
在设置用户名和主机名时,系统默认会让你创建一个普通账户,这个账户后续可以通过sudo命令获取管理员权限。主机名建议用短小且不包含特殊字符的命名,比如ubuntu-dev、node1。千万不要用空格或大写字母,否则后续很多服务配置里会对主机名解析产生奇怪的问题。
密码规则上,虚拟机环境因为没有物理安全威胁,你可以设置一个方便记忆的密码,但别设置成空密码或纯数字,因为后面你用SSH连接时,密码强度会直接影响认证策略。另一个跟备份相关的操作:不要在安装过程中勾选"加密整个系统"。这个功能在真实机器上很有价值,但在虚拟机里,一旦虚拟磁盘文件损坏,加密会大大增加恢复数据的难度。虚拟机本身已经有了一层隔离,没必要再叠加一道锁。
走完这些步骤,等待安装进度条走完。这时系统会要求重启。VMware通常会自动弹出"按Enter键重启",点击后虚拟机将重新引导进入新装的系统。
5. 安装后必做的系统初始化:软件源、open-vm-tools与共享目录
5.1 更换APT软件源:为什么必须做这一步
Ubuntu 18.04默认的软件源指向的是官方区域源,对于大陆用户来说,连接速度往往不稳定,执行sudo apt update时可能长时间卡住或报一大串错误。更糟糕的是某些时候官方源被网络波动影响,下载一半就断开,损坏了包管理的缓存。所以装完系统的第一件事,就是更换为速度更快、同步更稳定的软件源。
修改之前先备份你的源文件,养成习惯总没错:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak然后编辑源文件,把里面的archive.ubuntu.com替换为你所在区域或较快的镜像源。常见的镜像源有清华、阿里、中科大等。我以阿里源为例,18.04对应的源条目大致是这样:
sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list sudo sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list如果你用的不是阿里镜像,换成其他源的地址也一样,核心就是让所有archive和security条目指向同一个可用的镜像节点。改完后执行:
sudo apt update sudo apt upgrade这里有个经验点:更新过程中如果提示某个软件包版本冲突,通常是因为PPA或第三方源里存在相同包名。解决思路是先看看sources.list里是否残留了无用条目,而不是强行用apt -f install。盲目强制修复有可能把系统依赖关系弄坏。
5.2 安装open-vm-tools而不是VMware Tools
VMware Workstation自带一个VMware Tools,需要从界面菜单"安装VMware Tools"挂载一个ISO,然后在虚拟机内运行脚本。这条路可行,但每次升级内核后都要重新编译或重装,非常麻烦。我强烈建议直接安装open-vm-tools,这是Linux社区维护的开源版本,功能更全,不需要手动挂载ISO,而且与Ubuntu内核模块的适配性更好。
执行:
sudo apt install open-vm-tools open-vm-tools-desktop安装完成后,重启虚拟机即可生效。open-vm-tools提供自动适应分辨率、复制粘贴共享、鼠标无缝进出窗口、关机信号同步等功能。注意:如果你同时装了VMware原版Tools和open-vm-tools,两者会功能冲突,出现奇怪的剪贴板失灵问题。解决方案是卸载掉其中一个,保留一个。
还有一点:如果虚拟机是服务器版没有GUI,open-vm-tools-desktop不需要装,装open-vm-tools就够了。反之,桌面版千万不要漏掉-desktop包,否则共享目录挂载和分辨率适配可能不生效。
5.3 共享文件夹和剪贴板共享的设置逻辑
VMware的共享文件夹功能本质上是通过open-vm-tools内置的文件系统驱动来挂载宿主机目录到虚拟机内。这个功能在设计时就有意让虚拟机内看到的是"共享文件夹"这样一个特殊路径,默认位置是/mnt/hgfs。第一次使用往往会踩坑:你明明在VMware设置里加了共享文件夹,但虚拟机里ls /mnt/hgfs却什么都没看到,或者根本没有这个目录。
此刻第一步检查open-vm-tools服务是否在运行:
systemctl status open-vm-tools如果服务状态正常但还是看不到共享目录,执行手动挂载:
sudo mkdir -p /mnt/hgfs sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000这里.host:/表示所有宿主机共享的根路径,uid=1000对应你创建的普通用户的用户ID。如果想开机自动挂载,需要把这一条写入/etc/fstab,或者创建一个systemd服务来执行挂载命令。
另外,剪贴板共享(双向复制粘贴)如果没有生效,通常是open-vm-tools-desktop没有安装,或者桌面会话启动时没有加载对应模块。重启一次虚拟机往往能解决80%的相似问题。如果重启后还不行,在虚拟机设置里检查"隔离"选项,确认"启用复制粘贴"和"启用拖放"两个勾选项都是勾上的。这两个选项默认可能没被打开,但没人会想到这个位置。
6. 实战排错记录:我在后续使用中遇到的四类典型问题
6.1 虚拟机开机卡在Ubuntu logo无法进入桌面
这个问题在18.04上发生过不止一次,而且很多时候并不是系统装坏了,而是显示驱动或分辨率设置惹的祸。如果你在GRUB界面能看到菜单,选择Ubuntu后卡在logo,可以先在GRUB菜单编辑启动项,在内核参数一行加上nomodeset,然后按Ctrl+X启动。nomodeset会让内核使用基础显示模式,绕开部分GPU驱动的兼容问题。
如果这样能进入系统,说明问题出在驱动上,可以考虑重装或更新桌面环境相关的驱动包。在虚拟机里,最好的处理方式其实是升级到18.04的后续点版本,很多显示驱程的Bug已经被修复。另一个原因是磁盘空间满了,Ubuntu开机时如果根分区剩余空间不足,桌面登录管理器可能起不来,直接黑屏或回弹。用命令行方式登录或启动恢复模式,清理一下/var/log和apt缓存,通常能救回来。
6.2 虚拟机时间总是漂移或错误
如果你发现Ubuntu里的时间经常比真实时间慢或快,而且你改完系统时间以后,过一会儿又被改回去了,这往往是时间同步机制和宿主机之间产生了冲突。虚拟机里clocksource和NTP都在起作用,open-vm-tools也有自己的时间同步策略。最简单的办法是让系统只信任NTP服务:
sudo timedatectl set-ntp true同时在VMware的虚拟机设置中,把"选项"里的"客户机时间同步"去勾选或不强制启用,避免由宿主机反向同步到虚拟机里。否则只要Windows宿主机的时间稍有偏差,虚拟机就会跟着跑偏,这对依赖日志完整性的开发调试会造成很大的困扰。
6.3 虚拟磁盘文件越来越大,如何定位空间占用
使用几个月后,你可能会发现存放虚拟机的目录占用了宿主机好几十GB,明明虚拟机内部才用了十几GB。这是因为快照和删除文件后没有自动回收空间。对于ext4文件系统,删除文件后,虚拟磁盘文件的大小并不会自动降下来;它只是标记为已释放,底层块留着等下次写入。你在虚拟机里rm掉大文件,虚拟磁盘文件还是会保持原大小。
解决思路是在虚拟机内执行一次零填充,然后把磁盘压缩:
sudo dd if=/dev/zero of=/tmp/zero.bin bs=1M sudo rm /tmp/zero.bin这条命令会在虚拟磁盘内填满临时文件,把空闲块全部置零,然后删除它。之后关闭虚拟机,在VMware里找到菜单"虚拟机" -> "管理" -> "压缩磁盘",它会重新组织虚拟磁盘文件,把空块剔除掉。这个过程需要一段时间,但效果明显。注意压缩前做好快照或者备份,万一断电或异常中断,可能会导致虚拟磁盘损坏。
6.4 窗口分辨率不跟随窗口大小变化
刚装完Ubuntu 18.04,很多人发现虚拟机窗口拉大以后,Ubuntu桌面分辨率没有自动跟着变。这个问题的根因多半是没有正确加载open-vm-tools桌面服务。先确认open-vm-tools-desktop已安装,再检查xrandr输出是否显示了正确的显示模式。如果显示模式列表很乱,可以执行:
xrandr --output Virtual1 --auto这个命令会让系统重新探测当前显示模式。如果还不行,检查一下系统设置里的"显示"选项,确认分辨率不是被手动锁定。我见过最离谱的情况是用户在系统设置里把分辨率调到了一个固定值,然后过了很久都不知道为什么拖动窗口没有反应。
7. 从"能开机"到"真正好用"的几条经验
很多教程讲到这里就打住了,但真正玩虚拟机的人都明白,装完系统只是开始了,后面日常使用的体验才是决定性的。这里分享几个长期使用心得。
第一,快照功能一定要用起来。VMware的快速快照可以在你进行危险操作之前保存一个"时光机",比如修改内核参数、安装不熟悉的软件包、调整网络配置,不管操作成功还是失败,一键就能回滚。每次安装大型软件或编译内核之前,拍一个快照,成本极低,收益极高。快照不是越拍越好,保留太多快照会让虚拟磁盘文件杂乱膨胀,用完后及时删除旧快照。
第二,合理配置自动启动和关机策略。如果你把虚拟机当作本机服务使用,可以设置让VMware Workstation在后台运行,并且让Ubuntu响应宿主机关机信号,这样能避免直接强制关闭虚拟机导致文件系统损坏。在虚拟机设置里,勾选"关闭客户机"选项,系统会在宿主机关机时优雅地关闭Ubuntu。日常工作结束后,最好不要挂着无数未保存的会话就强行关闭VMware。
第三,善用NAT端口转发实现外部访问。在NAT模式下,外部设备不方便直接访问虚拟机,但VMware允许你在虚拟网络编辑器中为特定端口做转发。比如你想在虚拟机里跑一个80端口的Web服务,然后从局域网里的手机访问,可以配置端口转发规则:宿主机8888端口转发到虚拟机IP的80端口。这样既保留了NAT模式的网络隔离,又能让外部设备勉强访问到特定服务。
第四,把虚拟机里的开发环境做成可复用的模板。装好Ubuntu 18.04,配好软件源、常用工具、SSH键,再清理一遍系统日志和临时文件,然后把这个虚拟机目录整个复制一份或者做成模板。下次需要一台新虚拟机时,直接复制这个模板并调整参数,半小时内就能拉起一个新环境,不用再从零安装系统。需要注意的是复制虚拟机目录时,要确保原虚拟机的快照已清理干净,且虚拟机处于关闭状态,否则复制出来的文件可能处于不一致状态。
对于18.04这个版本,虽然官方支持已经结束,但社区资源和各种轮子依然丰富。如果只是需要一个稳定的Linux环境跑日常任务,18.04在虚拟机里仍然表现非常可靠。
最后分享一个小的实用技巧:在Ubuntu 18.04里安装完系统后,我习惯第一时间执行一次系统更新,然后安装build-essential和git这两个基础包。它们不仅给后续编译各种软件铺路,还能避免很多"缺依赖"类型的报错,省得每次都要临时查包名和安装错误日志。经过这一步之后,后续无论是装Python环境、Redis还是编译C++项目,都会顺畅很多。