如果你手头是一台运行Windows的电脑,又时不时想接触一下Linux环境,虚拟机基本是最稳妥的入口。所谓虚拟机,说人话就是在一台物理电脑里面再模拟出几台“虚拟电脑”,这些虚拟电脑共用你真实的CPU、内存和硬盘,但彼此的系统环境完全隔离。装坏了、玩坏了,直接丢弃重来,不影响主机上的任何数据。而Ubuntu 20.04 LTS又是Linux发行版里对新手最友好、资料最多的一个,很多网上的教学、开源项目也都是在这个版本上跑通的。这篇教程我会把从VMware虚拟机安装到Ubuntu 20.04 LTS系统安装的完整过程拆开来讲,包括不同选项背后的原因、该避开的坑、装完要做的初始化配置,以及高频报错的排查方法,帮你在最短时间内搭起一个能正常开发的Linux环境。
1. 会用到的准备物:虚拟机软件与系统镜像选型
1.1 虚拟机软件:为什么优先考虑VMware Workstation
市面上的虚拟机软件不算少,主流的无非是VMware Workstation、VirtualBox,以及Windows自带的Hyper-V几类。如果你追求开箱即用、驱动兼容性好、对Linux桌面体验支持到位,我个人建议优先选VMware Workstation。它对新手的友好程度体现在几个方面:图形界面直观,新建虚拟机的向导逻辑非常清晰,几乎不需要理解底层概念就可以完成配置;对Ubuntu的集成做得比较好,装上增强工具后分辨率自适应、剪贴板共享、文件拖拽这些功能都挺顺手;更重要的是,它默认的虚拟网卡和磁盘驱动兼容性比VirtualBox稍好,遇到问题时的资料也更好搜到。
VMware Workstation有Pro和Player两个版本线,Pro版本对企业级功能支持更全,比如快照、高级网络模式、加密虚拟机等。对个人学习来说两者区别不大,直接按你自己能获取到的版本使用即可。安装过程就是常规的Windows软件安装流程,安装时如果提示需要重启,按要求重启一次。另外需要注意,虚拟机软件是运行在宿主操作系统上的应用程序,它对硬件的要求不高,但为了后续装Ubuntu跑得流畅,电脑内存至少要有8GB,建议16GB,这一点在下面配置虚拟机参数时会直接影响分配空间。
还有一个容易忽略的准备工作:确认CPU的虚拟化技术已经在BIOS中打开。现在多数电脑默认是开启的,但有些品牌机出厂设置关闭,这会导致后面虚拟机开机直接黑屏或报错“此主机支持Intel VT-x,但Intel VT-x处于禁用状态”。如果你不确定,可以先尝试创建虚拟机并启动,遇到这类提示再去BIOS中开启Intel Virtualization Technology或AMD-V,不用提前折腾。
1.2 Ubuntu 20.04 LTS镜像下载:版本含义与渠道选择
Ubuntu的版本命名规则很直观:20.04代表2020年4月发布的版本,LTS是Long Term Support的缩写,意思是长期支持版。这类版本每两年出一个,官方维护周期很长,软件源、驱动兼容性、第三方教程数量都是最成熟的。现在Ubuntu已经出到22.04甚至24.04,但我仍然推荐初学者从20.04 LTS入门,原因很简单:你在搜索引擎和社区论坛里搜到的问题解决方案,绝大多数都是基于20.04写的,跟着做不容易卡壳。
下载镜像时要注意选择的是桌面版还是服务器版。本教程面向日常使用和开发学习,下载Ubuntu Desktop版即可。官方下载地址会根据你的网络环境自动引导,如果你下载速度比较慢,可以选一个离自己近的镜像站点。很多高校和云厂商都提供Ubuntu镜像,尤其是国内网络环境下,从这类镜像站下载比直接访问官方站点快得多。下载完成后建议顺便核对一下ISO文件的SHA256校验值,确保文件在下载过程中没有损坏,这个习惯能帮你规避掉很多安装中途报错的奇怪问题。
镜像下载完不用解压,VMware可以直接加载ISO文件。安装虚拟机软件和准备ISO镜像这两个准备工作都完成后,就可以开始创建虚拟机了。
2. 创建虚拟机的参数配置决策
2.1 新建虚拟机向导与“稍后安装”策略
打开VMware Workstation,选择“创建新的虚拟机”,推荐使用“自定义”模式进行配置。很多人图省事直接用“典型”模式,但典型模式里很多关键参数被隐藏了,后面想改还得再进设置,不如一开始就自定义,把这台虚拟机的硬件规格定明白。
自定义向导会问“兼容性”,保持默认选择即可,不需要为了兼容旧版本降低配置。接着会让你选择安装来源,这里有一个绝大多数教程没细讲的坑:不要直接选择“安装程序光盘映像文件”,因为你一旦挂载了Ubuntu ISO,VMware会启动它的简易安装功能,自动帮你填充用户名、密码,并且以它默认的方式把系统装完。看起来省事了,但实际上它会默认帮你启用自动登录、还会把用户目录弄得比较乱,对后面学习和自定义配置并不友好。正确做法是选择“稍后安装操作系统”,先把虚拟机的硬件壳子创建出来,之后再手动挂载ISO并一步步安装,整个过程完全在你的掌控之下。
操作系统类型选择需要精确:客户机操作系统选“Linux”,版本下拉列表里找到“Ubuntu 64位”。注意如果选成32位或者其他Linux发行版,后续VMware的硬件适配和增强工具安装都可能出现兼容性问题。Ubuntu 20.04默认就是64位系统,这里选对即可。
2.2 内存、CPU、磁盘等核心参数的底线建议
配置虚拟机名称和安装位置时,建议不要使用默认的C盘路径,改成其他分区的专门文件夹,比如D盘下的虚拟机目录。原因很朴素:虚拟机文件动辄几十GB,长期放在C盘会拖慢系统盘速度,后期想移动也更麻烦。
处理器方面,给2个处理器核心、单个核心数2就够了。不要盲目给高,虚拟机里的系统跑桌面应用,2到4个逻辑处理器已经足够流畅。内存是虚拟机体验的关键,Ubuntu桌面版安装启动本身占用的内存不太大,但如果你打算在虚拟机里跑浏览器、编译代码、开数据库,内存给4GB是底线,建议给8GB。前提是你的物理机内存足够,比如物理机16GB内存,分一半给虚拟机动静不大。内存给太少,Ubuntu桌面会明显卡顿,甚至安装界面都转不动。
磁盘容量建议给40GB到60GB。Ubuntu 20.04的纯净安装只占6GB左右,但后续安装软件、下载源码、运行容器都很快会占满空间。如果你不确定自己的需求,60GB是比较稳的选择。磁盘分配的选项里有一个“立即分配所有磁盘空间”,保持默认不勾选即可,让虚拟磁盘按需增长,物理磁盘占用从几百MB起步,不会一开始就吃掉几十GB。虚拟磁盘类型默认的NVMe或SCSI都行,Ubuntu 20.04对两者的支持都很成熟,放心使用。
2.3 网络模式、虚拟硬盘类型与ISO挂载
虚拟机创建完成后,先别急着开机,进入“编辑虚拟机设置”把细节调整好。网络类型这一项需要特别说明,VMware给虚拟机提供了三种网络模式:桥接模式、NAT模式、仅主机模式。对绝大多数新手来说,保持默认的NAT模式就好。NAT模式相当于在虚拟机后面加了一个虚拟路由器,虚拟机通过这个路由器共享物理机的网络上网,物理局域网里的其他设备访问不到虚拟机,安全性和便利性都兼顾。
再来看CD/DVD设置,把之前下载好的Ubuntu ISO镜像挂载到虚拟光驱中,确保设备状态勾选“启动时连接”。这里多说一句,有经验的人会在安装完成并重启后把ISO连接断开,避免每次开机都从光盘启动。但现在不用管,等系统装完了再处理就行。
显示器、声卡、USB控制器的默认配置都不需要调整。声卡和USB控制器在VMware中会自动适配物理设备,插U盘进虚拟机时VMware会弹窗询问是否连接到虚拟机还是主机,选择连接即可。“虚拟机设置”里还有一个“共享文件夹”的选项,它是实现物理机与虚拟机之间文件互传的官方途径,等系统装完并安装好增强工具后再来配置会更顺。
3. Ubuntu 20.04 安装全流程拆解
3.1 引导界面、语言与“更新下载”的选择逻辑
所有配置就绪后开启虚拟机,屏幕上是Ubuntu的GRUB引导菜单,默认停在“Try or Install Ubuntu”,直接回车进入系统安装环境。首次进入会先加载一个临时系统,这个过程可能需要一两分钟,取决于你的磁盘速度和分配的内存。
双击桌面上的“Install Ubuntu 20.04 LTS”图标进入安装向导。第一步选择语言,界面上有中文选项,但这里建议系统语言选“English”,或者至少用户名和主目录名保持英文。这是一个非常实际的经验:Linux下大量命令行工具和开发环境对中文路径支持并不好,如果用户名是中文,主目录会是“/home/张三”,后续很多软件和终端命令都会因为路径带中文而报奇奇怪怪的错误。如果你确实需要中文界面,可以在系统装好后设置中文显示语言,但用户名最好始终用英文。
键盘布局保持默认的“English (US)”即可。接着是安装类型里的两个选项:“正常安装”和“最小安装”,同时还有两个复选框“下载更新”和“安装第三方软件”。正常安装会附带办公软件、多媒体播放器、常用工具,最小安装只保留最基础的桌面环境。我的建议是新手选“正常安装”,体验完整,省得后续再补装软件。
至于“下载更新”勾选框,这里必须泼一盆冷水:如果你的网络条件一般,建议不要勾选,否则安装过程中会一边下载更新一边安装系统,时间被拖得很长,还可能中途失败。系统装完之后再换源、再更新,效率反而高很多。“安装第三方软件”则建议勾上,它会帮你把Wi-Fi驱动、显卡驱动、MP3解码器等常用组件一并装好,省去后顾之忧。
3.2 磁盘方案:默认分区和手动分区的取舍
进入“安装类型”后,新手最紧张的分区环节到了。好在这是虚拟机,你完全可以大胆操作。Ubuntu安装器会显示一个设备列表,里面那块虚拟磁盘通常命名为“VBOX HARDDISK”或VMware虚拟盘,看清容量再选。
这里有两条路线。如果你想不费脑子地快速装好,直接选“清除整个磁盘并安装Ubuntu”,这相当于把虚拟机上这块空磁盘完整交给Ubuntu管理,不会动到物理机上任何东西,确实是干净利落。默认情况下安装器还会询问是否启用LVM,LVM可以理解为对磁盘空间进行弹性管理的一种逻辑卷机制,启用它对后续扩容有好处,但会带来一定理解成本。如果你想保持简单,不启用LVM也没问题。
另一种是选“其他选项”手动分区。手动分区的意义在于更精细地控制磁盘布局,但作为新手,我其实不太建议在虚拟机上做这一步。你的虚拟机用途是学习和测试,不是生产服务器,不需要定制分区。默认方案已经足够稳定,把精力花在后面的软件配置上收益更大。如果你实在想了解手动分区,最常用的布局是:EFI系统分区512MB,挂载点“/”分配20GB,swap交换分区4GB,剩余空间挂载到“/home”。这已经能满足绝大多数的开发学习场景。
3.3 账户设置对后续使用的影响
分区方案确认后,安装器会进入位置选择界面,保持默认的时区区域即可,如果有偏差手动在地图上点一下。接着是“Who are you?”账户信息设置,这一页会出现你叫什么名字、为计算机取一个名字、用户名、密码等一组填写项。
这里需要注意几个细节。Your name一栏可以填真实姓名或随意一个称呼,系统会用它来显示在登录界面和用户信息里;计算机名是虚拟机的网络名称,默认与Your name关联生成,你可以改成自己喜欢的短英文名,比如ubuntu-vm;用户名这一项最重要,它会作为你的登录ID和主目录名,务必使用小写英文字母、数字和短横线,千万不要用大写或中文。我的习惯是简短,比如“dev”或用户名缩写,这样以后在命令行输入路径时很省事。
密码可以设置一个自己记得住的简单密码就行,虚拟机本身就是隔离环境,安全威胁没那么大。如果你勾选了“Require my password to log in”,每次登录系统都有输入密码,新手建议保留这个选项,可以养成权限意识。安装器随后会开始拷贝文件、安装系统,这一步耗时较长,屏幕上会不断切换安装进度界面,耐心等待即可,不要中途关闭虚拟机或断开电源。安装完成后提示“Please remove the installation medium”,点击“Restart Now”,VMware会自动断开ISO挂载并重启虚拟机。
4. 安装完成后的系统初始化配置
4.1 安装增强工具,恢复正常分辨率与共享剪贴板
系统重启并进入Ubuntu桌面后,很多人第一反应是“窗口怎么这么小”“鼠标怎么拖不进主机”,这就是因为虚拟机增强工具还没装。VMware把增强工具称为VMware Tools,在Ubuntu 20.04中,它的开源版本叫open-vm-tools,功能完全一致而且集成度更好。
不同教程里推荐的做法不一,有的让用VMware菜单栏选择“Install VMware Tools”后挂载一个虚拟光驱然后运行脚本安装,但现代实践建议直接用系统包管理器安装open-vm-tools,这种方式维护方便、版本跟随系统更新,且无需额外挂载ISO。打开终端,执行:
sudo apt update sudo apt install open-vm-tools open-vm-tools-desktopopen-vm-tools负责虚拟化基础服务,比如挂载共享文件夹、优雅关机、配合虚拟机动态调整性能参数;open-vm-tools-desktop则在图形层面提供分辨率自适应、拖拽文件、剪贴板共享等功能。安装完成后重启虚拟机,窗口应该会自动适应VMware窗口大小,鼠标也可以自由在主机和虚拟机之间移动了。如果重启后分辨率仍然固定,可以在Ubuntu系统设置里的“显示”选项中手动调整分辨率。
4.2 软件源更换与系统全面更新
Ubuntu默认的软件源配置的是官方服务器,这个配置在部分网络环境下下载更新包速度较慢。解决办法是把源地址更换为国内镜像站点,这个操作在Linux圈子里叫换源。Ubuntu 20.04的软件源配置文件是/etc/apt/sources.list,里面装满了包含archive.ubuntu.com的地址行。
换源前先备份原文件,养成好习惯:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i 's|archive.ubuntu.com|mirrors.aliyun.com|g' /etc/apt/sources.listsed命令的作用是把文件里的官方域名全局替换成阿里云镜像域名,Ubuntu官方源中除了archive.ubuntu.com还有security.ubuntu.com,也可以一并替换,或者直接用天体现成的Ubuntu 20.04源配置覆盖文件。替换完成后运行:
sudo apt update sudo apt upgradeapt update会读取软件源列表并同步软件包索引,apt upgrade则把系统中所有已安装软件包升级到最新版本。第一次执行upgrade时可能提示“有N个软件可以升级”,按提示输入y确认即可。这个过程视源速度大概几分钟到十几分钟,之后你的系统就完成了基础更新。做完这一步,建议重启或者至少重新登录一次,让更新后的内核和桌面组件生效。
4.3 常用开发环境与快照备份
新手装虚拟机最常见的目的其实是跑代码、做实验。Ubuntu 20.04装完后的初始软件比较少,但可以在安装好的系统上继续配置。先用apt把常用开发工具装上,比如git、curl、wget、build-essential、vim等:
sudo apt install git curl wget build-essential vim -ybuild-essential包含编译C/C++程序需要的GCC编译器和make工具,前后端开发都绕不开它。如果你需要Python开发环境,Ubuntu 20.04自带的Python 3.8可以直接使用,但注意系统自带Python受系统包管理器保护,不要手动升级到官网Python,日常写脚本用python3和pip3命令即可。如果之后要跑Node、Go等环境,顺手把对应包管理工具装上就行。
在这个一切正常、系统干净节点的时刻,建议立刻创建一个VMware快照。快照相当于给当前系统拍一张存档照片,之后无论你安装了什么软件导致系统起不来,还是乱改配置把启动项搞坏,都可以在VMware菜单栏“虚拟机—快照—还原快照”里一键回到当前这个干净状态。对我个人来说,快照是虚拟机比实体机最占优势的功能,真的救过我好几次。
5. 高频问题排查与避坑实录
5.1 启动黑屏、开机卡Logo等问题
很多人第一次启动虚拟机时直接黑屏,连BIOS界面都看不到,十有八九是宿主机的虚拟化功能没有开启。解决办法是重启物理机进入BIOS设置,找到Intel Virtualization Technology菜单打开,保存退出后重新启动虚拟机。不同品牌电脑BIOS菜单位置差异很大,搜索一下“你的电脑型号+VT-x开启”就能找到对应路径。注意部分电脑在BIOS界面默认显示“Disabled”,需要手动改为“Enabled”。
另一种情况是Ubuntu开机时卡在Logo界面转圈很久,多半是显卡驱动问题或open-vm-tools尚未安装导致的。启动时在GRUB菜单选择Advanced options for Ubuntu,进入Recovery Mode,尝试恢复图形界面配置;或者在终端中按Ctrl+Alt+F1进入字符终端界面,手动安装open-vm-tools-desktop再reboot。如果这些方法都无效,直接用此前打好的快照恢复,不要浪费太多时间去查底层的图形栈问题。
5.2 窗口太小、无法复制粘贴、共享文件夹异常
这些问题的根源基本都是增强工具的状态不对。在Ubuntu中用systemctl status检查VMware Tools服务是否正在运行:
systemctl status open-vm-tools.service如果状态不是active running,先用sudo systemctl restart open-vm-tools.service启动它。剪贴板和拖拽功能依赖open-vm-tools-desktop,确认安装后虚拟机必须彻底重启,而不是关机再开机。重启后如果还是不行,可以检查VMware菜单栏“虚拟机—设置—选项—客户机隔离”,确保“启用拖放”和“启用复制粘贴”两个勾选都开着。
共享文件夹的配置顺序经常有人搞反。正确顺序是:先在虚拟机关机状态下,在VMware的“虚拟机设置—选项—共享文件夹”里添加宿主机的某个物理目录并选择“总是启用”;然后在虚拟机里创建挂载点并手动挂载:
sudo mkdir -p /mnt/hgfs sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other挂载成功后,/mnt/hgfs目录下就能看到你共享的名字。如果想要每次开机自动挂载,可以把这行命令写入/etc/rc.local或systemd服务,初学者先用临时挂载也够用了。
5.3 磁盘空间不足时的扩容思路
虚拟机用了一段时间,你会发现磁盘空间突然不够了,这是最常被问到的问题之一。扩容的思路分两步:先在VMware层面扩大虚拟磁盘容量,再进入Ubuntu系统扩展分区。第一步操作很简单:虚拟机关机后,打开VMware“虚拟机设置—硬盘—实用工具—扩展”,将容量调整到需要的目标值。注意此操作只能扩大不能缩小,所以提前规划好。
进入Ubuntu后,由于系统是使用LVM逻辑卷还是普通分区,扩容步骤有所差异。最通用的方案是用GParted图形化分区工具操作,安装并运行:
sudo apt install gparted sudo gparted在GParted中会看到虚拟机磁盘尾部出现了未分配空间,把未分配区域并入根分区即可。这个操作会改变分区表,操作前务必先打快照。如果你的Ubuntu分区没启用LVM,GParted扩容根分区后会立即生效;如果安装时启用了LVM,那还需要额外用lvextend和resize2fs把空间分配给逻辑卷,步骤多几层,但原理一致。新手不要试图在生产环境服务器上做这类操作,在虚拟机里试验倒是没有后顾之忧。
虚拟机整个生命周期中可能遇到的小问题远不止上面这些,但大多数问题的排查逻辑都一致:先找是不是虚拟化平台配置的问题,再看是不是增强工具没装好,最后才是系统本身的配置差异。掌握这个排查顺序,再配合快照的容错能力,基本可以放心折腾。
我个人在实际操作中的体会是:学习Linux或者跑实验环境,虚拟机永远是试错成本最低的那条路。Ubuntu 20.04 LTS进入长期维护阶段,资料极其丰富,搭配VMware天然适合初学者。装好后先学会打快照、换源、安装增强工具这几件基础事,剩下的就交给使用过程中的边踩坑边积累。等你在虚拟机里折腾熟了一套技术栈,后面再转向服务器环境或双系统,很多概念都能衔接起来,不会抓瞎。