1. 为什么要在虚拟机里折腾Linux
很多人第一次接触Linux,第一反应是"我直接把电脑重装成Linux不就行了"。我当年也这么想过,结果装完第二天就后悔了——办公软件不兼容、网银没法用、连打印机驱动都找不到。后来老老实实回到虚拟机方案,才发现这才是新手入门Linux最稳妥的路子。
虚拟机方案的核心价值在于隔离和可恢复。你在虚拟机里把系统搞崩了,删掉重来就行,宿主机毫发无损。这对新手来说太重要了,因为学Linux的过程本质上就是不断试错的过程。你会去改配置文件、会去动系统目录、会去折腾分区,这些操作在物理机上做错了可能就是重装系统的代价,但在虚拟机里,最坏的结果不过是删掉一个文件夹。
这次要聊的是用VMware WorkStation Pro 16配合RHEL8来搭建这套环境。选这两个工具有几个实际考量。VMware WorkStation Pro 16是2020年前后的版本,对硬件兼容性好,快照功能稳定,而且网上能找到的教程和资源最丰富。RHEL8则是企业级Linux的标杆,学明白了它,CentOS、Rocky Linux、AlmaLinux这些同源系统基本都能触类旁通。虽然RHEL需要订阅才能用官方源,但开发者账号可以免费申请,或者用同源的替代方案也完全可行。
这套组合适合谁?零基础想入行运维的、开发想补Linux短板的、在校学生做实验的,甚至只是想在自己电脑上跑个服务器玩玩的,都适用。你不需要额外买服务器,一台内存8GB以上的普通笔记本就能跑起来。
注意:虚拟机方案虽然安全,但对宿主机硬件有要求。内存建议16GB起步,因为你要同时跑宿主机系统和虚拟机系统。如果只有8GB,跑起来会比较吃力,尤其是RHEL8带图形界面的时候。
2. 环境准备与工具选型背后的逻辑
2.1 硬件资源的最低门槛与推荐配置
在动手之前,先确认你的机器能不能扛得住。这不是危言耸听,我见过太多人兴冲冲装完虚拟机,结果宿主机卡成幻灯片,最后不了了之。
| 资源项 | 最低要求 | 推荐配置 | 说明 |
|---|---|---|---|
| CPU | 双核支持虚拟化 | 四核八线程 | 需要在BIOS中开启VT-x/AMD-V |
| 内存 | 8GB | 16GB及以上 | 宿主机至少留4GB,虚拟机分配4GB |
| 硬盘 | 60GB可用空间 | 120GB SSD | 虚拟机磁盘建议放在SSD上 |
| 显卡 | 集成显卡 | 独立显卡 | 图形界面需要一定显存 |
CPU虚拟化支持是硬性条件。怎么确认?Windows下打开任务管理器,性能标签页里看CPU项,如果"虚拟化"显示"已启用"就没问题。如果显示"已禁用",需要重启进BIOS开启。不同主板BIOS里这个选项叫法不一样,Intel平台通常叫"Intel Virtualization Technology"或"VT-x",AMD平台叫"SVM Mode"或"AMD-V"。
内存分配有个经验公式:宿主机内存减去虚拟机内存,剩余部分要能流畅跑宿主机系统。Windows 10/11本身吃4GB左右,所以16GB内存的机器,给虚拟机分4GB到6GB比较合适。如果你要跑多个虚拟机做集群实验,那32GB内存是起步价。
2.2 软件获取与版本选择
VMware WorkStation Pro 16的获取渠道这里不展开,重点说版本选择。Pro版本和Player版本的区别在于:Pro支持快照、支持克隆、支持多虚拟机同时运行管理,Player版本这些功能要么没有要么受限。学Linux的过程中,快照功能是使用频率最高的——你每做一步关键操作之前打个快照,搞砸了直接回滚,省时省力。所以强烈建议用Pro版本。
RHEL8的镜像获取,官方渠道需要注册账号。下载的时候注意选择DVD ISO,这个版本包含完整的软件包,安装过程中不需要联网下载额外组件。文件大小在8GB左右,下载完成后建议校验一下SHA256值,避免镜像损坏导致安装失败。
提示:下载镜像时优先选择离你地理位置近的镜像站点,速度会快很多。如果官方站点速度不理想,可以找国内的镜像站,但要注意核对文件完整性。
2.3 虚拟机网络模式的选型分析
VMware提供三种主要网络模式:桥接、NAT、仅主机。这个选择直接影响你后续的学习体验,值得花几分钟搞清楚。
桥接模式相当于虚拟机直接连到你所在的局域网,虚拟机会获得一个和宿主机同网段的IP地址。这种模式下,局域网内其他设备可以直接访问你的虚拟机,适合模拟真实服务器环境。但缺点是会占用局域网IP资源,而且在公司网络里可能会遇到IP冲突或者网络策略限制。
NAT模式是虚拟机通过宿主机上网,虚拟机在一个独立的子网里,外部设备默认访问不到虚拟机。这种模式最省心,不占用局域网IP,宿主机换个网络环境虚拟机也不用改配置。缺点是局域网内其他机器访问虚拟机需要做端口转发。
仅主机模式就是虚拟机和宿主机组成一个封闭网络,虚拟机不能上外网。这种模式适合做纯隔离的实验,但学Linux过程中经常需要装软件包,不能上网会很麻烦。
我的建议是:日常学习用NAT模式,省心且够用。如果要做网络实验需要模拟真实服务器,再临时切换到桥接模式。
3. 虚拟机创建与系统安装全流程
3.1 新建虚拟机的关键参数设置
打开VMware WorkStation Pro 16,点击"创建新的虚拟机",选择"自定义(高级)"而不是"典型"。典型模式会帮你做很多决定,但这些决定未必适合你的硬件环境。自定义模式让你掌控每一个参数。
硬件兼容性选择WorkStation 16.x,这个和你的软件版本对应。接着选择"稍后安装操作系统",这一步很重要——如果直接选ISO文件,VMware会启用简易安装模式,自动帮你分区和配置,但这样你就跳过了学习分区和配置的机会。学Linux,安装过程本身就是重要一课。
客户机操作系统选择Linux,版本选Red Hat Enterprise Linux 8 64位。虚拟机名称和位置自己定,位置建议放在SSD上,并且路径中不要有中文和空格,避免后续出现莫名其妙的路径问题。
处理器配置:数量选1,每个处理器的核心数量选2。这样虚拟机看到的是双核CPU。如果你的宿主机核心多,可以给到4核,但一般学习用途2核足够。
内存分配:输入4096MB(4GB)。如果宿主机内存充裕,给6144MB(6GB)会更流畅,尤其是带图形界面的时候。
网络类型:选NAT。后面可以随时改,不用纠结。
I/O控制器类型和磁盘类型保持默认即可,LSI Logic和SCSI是兼容性最好的组合。
磁盘选择"创建新虚拟磁盘",最大磁盘大小填40GB,选择"将虚拟磁盘拆分成多个文件"。拆分的好处是方便迁移,单个文件不会太大。立即分配所有磁盘空间这个选项不要勾选,否则会立刻占用40GB物理空间,而实际使用中可能用不到那么多。
最后点击"自定义硬件",把不需要的设备移除掉,比如声卡、打印机。这些设备在服务器场景中用不到,移除后能减少资源占用。然后在新CD/DVD中选择"使用ISO映像文件",指向你下载的RHEL8镜像。
3.2 RHEL8安装过程中的分区规划
启动虚拟机后,会进入RHEL8的安装界面。语言选择中文或者英文都行,建议选英文,因为生产环境基本都是英文界面,早点适应有好处。
安装摘要页面有几个关键项需要配置:
软件选择:如果只是学命令行,选"最小安装"就够了,系统精简、启动快、资源占用低。但新手建议选"带GUI的服务器",有图形界面可以降低初期上手难度,等命令行熟悉了再切回最小安装。右侧的附加组件里,把"开发工具"勾上,后面编译软件会用到。
安装目的地:这是分区环节,也是新手最容易懵的地方。默认的自动分区会创建LVM结构,对于学习来说够用,但如果你想理解分区,建议选"自定义"手动分。
手动分区方案(40GB磁盘):
| 挂载点 | 建议大小 | 文件系统 | 说明 |
|---|---|---|---|
| /boot | 1GB | xfs | 内核和引导文件 |
| / | 15GB | xfs | 根分区,系统和软件 |
| /home | 10GB | xfs | 用户数据 |
| swap | 4GB | swap | 交换分区,内存不足时使用 |
| 剩余空间 | 留空 | - | 后续扩展用 |
swap分区大小有个传统经验:内存小于8GB时,swap设为内存的1.5到2倍;内存大于8GB时,swap设为8GB左右即可。但这是老观念了,现在内存都大,swap主要作用是应急,4GB足够。
网络和主机名:把主机名改成有意义的名字,比如"rhel8-lab01"。网络连接先不用开,装完系统再配。
root密码和用户创建:root密码设一个你记得住的,但别太简单。同时创建一个普通用户,勾选"将此用户设为管理员",这样这个用户可以用sudo提权。日常操作都用普通用户,需要管理员权限时用sudo,这是好习惯。
配置完成后点击"开始安装",等待进度条走完,重启系统。
3.3 首次启动后的基础配置
重启后会进入初始设置界面,接受许可证、完成订阅注册(可以跳过)、创建在线账号(跳过)。进入桌面后,第一件事是打开终端,做几项基础配置。
# 查看系统版本 cat /etc/redhat-release # 查看内核版本 uname -r # 查看IP地址 ip addr show # 测试网络连通性 ping -c 4 223.5.5.5如果网络不通,检查VMware的NAT设置。在VMware菜单里点"编辑"→"虚拟网络编辑器",确认VMnet8的NAT模式配置正确,DHCP服务是启用的。
配置软件源。RHEL8默认的源需要订阅才能用,如果没有订阅,可以配置本地源或者替换为同源的免费源。这里不展开具体操作,但思路是:把/etc/yum.repos.d/目录下的源文件配置指向可用的仓库地址。
# 查看当前源配置 ls /etc/yum.repos.d/ # 清理缓存并重建 dnf clean all dnf makecache # 测试安装一个软件 dnf install -y vim如果vim能装上,说明源配置没问题。
4. 快照管理与系统维护技巧
4.1 快照的正确使用姿势
快照是虚拟机最实用的功能,但很多人用错了。快照不是备份,它记录的是虚拟机在某个时间点的状态,包括磁盘内容和内存状态。你可以随时回滚到某个快照,但回滚后,该快照之后的所有更改都会丢失。
正确的快照使用策略是:在做有风险的操作之前打快照,操作验证通过后删除旧快照。比如你要修改网络配置、要调整分区、要安装一个可能冲突的软件,先打快照。操作完成后测试没问题,把快照删掉,保持快照树干净。
快照树太深会导致虚拟机性能下降,因为每个快照都是一个增量磁盘文件,读取时需要逐层合并。我见过有人打了二十几个快照,虚拟机慢得没法用。建议同时存在的快照不超过3个。
注意:快照文件会占用磁盘空间,而且随着虚拟机使用会越来越大。定期清理不需要的快照,在VMware的"虚拟机"→"快照"→"快照管理器"里可以查看和管理。
4.2 虚拟机克隆的两种模式
学到一定阶段,你可能需要多台Linux机器做实验,比如搭建集群、模拟多节点环境。这时候用克隆功能比重新安装快得多。
完整克隆:复制一份完全独立的虚拟机,包括所有磁盘文件。优点是克隆后的虚拟机完全独立,互不影响。缺点是占用磁盘空间大,克隆速度慢。
链接克隆:基于父虚拟机的快照创建,只存储差异部分。优点是创建快、占用空间小。缺点是父虚拟机不能删除,否则链接克隆会失效。
做实验用链接克隆就够了,省时省空间。生产环境模拟用完整克隆,避免依赖关系。
4.3 虚拟机性能优化几个实用设置
如果觉得虚拟机跑起来卡,可以试试这几个调整:
关闭图形界面:如果不需要GUI,把默认启动目标改成命令行模式,能省下大量内存和CPU。
# 查看当前默认启动目标 systemctl get-default # 设置为命令行模式 systemctl set-default multi-user.target # 如果需要临时切换到图形界面 systemctl isolate graphical.target调整VMware的显示设置:在虚拟机设置里,把"加速3D图形"关掉,显存调到最小。服务器场景不需要3D加速。
安装VMware Tools:这个工具能提升虚拟机的显示性能和鼠标体验,还能支持宿主机和虚拟机之间的文件拖拽。在VMware菜单里选"虚拟机"→"安装VMware Tools",然后在RHEL8里挂载光驱安装。
# 挂载光驱 mount /dev/cdrom /mnt # 查看安装包 ls /mnt # 解压并安装 tar -xzf /mnt/VMwareTools-*.tar.gz -C /tmp cd /tmp/vmware-tools-distrib ./vmware-install.pl一路回车用默认值即可,安装完重启虚拟机。
5. 常见问题排查与避坑指南
5.1 安装过程中遇到的典型问题
问题一:启动虚拟机提示"此主机支持Intel VT-x,但Intel VT-x处于禁用状态"
这是最常见的问题,原因是BIOS里CPU虚拟化没开。重启电脑进BIOS,找到虚拟化相关选项开启。如果BIOS里找不到,可能是CPU不支持,或者被其他虚拟化软件占用了(比如Hyper-V)。Windows下如果启用了Hyper-V,VMware可能无法使用VT-x,需要在"启用或关闭Windows功能"里把Hyper-V关掉。
问题二:安装过程中卡在"正在启动安装程序"
通常是ISO镜像损坏或者虚拟机内存分配不足。先校验ISO的SHA256值,确认文件完整。如果文件没问题,把虚拟机内存加到4GB以上再试。
问题三:分区时提示"无法分配所请求的分区"
磁盘空间不够,或者分区方案超出了磁盘大小。检查你分配的总分区大小是否超过了虚拟磁盘容量。另外,如果之前装过系统残留了分区表,可以在安装界面按Ctrl+Alt+F2切换到命令行,用fdisk清理磁盘。
5.2 网络配置常见故障
问题:虚拟机ping不通外网
排查顺序:先看虚拟机IP是否正常获取,ip addr看有没有192.168.x.x的地址。如果没有,检查VMware的DHCP服务是否开启。如果有IP但ping不通网关,检查虚拟网络编辑器的NAT设置。如果网关能通但外网不通,检查DNS配置,cat /etc/resolv.conf看有没有nameserver。
问题:宿主机ping不通虚拟机
NAT模式下宿主机默认访问不到虚拟机,这是正常的。如果需要互访,有两个方案:一是改用桥接模式,二是配置端口转发。端口转发在虚拟网络编辑器的NAT设置里配置,把宿主机的某个端口映射到虚拟机的22端口,然后通过SSH连接。
5.3 系统使用中的高频问题速查
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 终端提示"权限不够" | 当前用户无权限 | 用sudo提权或切换到root |
| dnf安装软件报错 | 源配置问题 | 检查/etc/yum.repos.d/配置 |
| 虚拟机时间不对 | 时区或时间同步 | 用timedatectl设置时区 |
| 磁盘空间不足 | 日志或缓存占满 | 用df -h查看,清理/var/log |
| 无法SSH连接 | 防火墙或SSH服务 | 检查firewalld和sshd状态 |
| 快照回滚后网络不通 | MAC地址变化 | 重新生成MAC或手动配置IP |
5.4 几个我踩过的坑
坑一:磁盘空间分配太小。当初觉得40GB够用,结果装了几个开发工具、下了几个镜像,空间就告急了。后来发现LVM可以动态扩展,但前提是你当初分区时留了剩余空间。所以分区时不要把磁盘分满,留10%到20%的余量。
坑二:快照当备份用。有次打了个快照,然后继续用了一个月,快照文件涨到几十GB,虚拟机慢得没法看。快照是临时回滚点,不是长期备份方案。需要备份就用克隆或者导出OVF。
坑三:忘记root密码。RHEL8忘记root密码可以通过单用户模式重置,但过程比较绕。建议一开始就把密码记在安全的地方,或者配置好sudo权限,日常用普通用户操作。
坑四:虚拟机磁盘文件放错位置。一开始把虚拟机建在机械硬盘上,那启动速度简直了。后来迁到SSD,体验完全不一样。虚拟机磁盘的IO性能直接取决于物理磁盘,SSD是刚需。
6. 后续学习路径与扩展方向
环境搭好只是第一步,接下来要在这个环境里真正把Linux用起来。我的建议是沿着这条线走:先熟悉基本命令和文件系统结构,然后学用户和权限管理,接着是软件包管理和服务管理,再往后是网络配置和防火墙,最后是Shell脚本和自动化。
这个虚拟机环境可以支撑你走很远。你可以打快照做实验,可以克隆多台机器搭集群,可以模拟各种故障来练习排查。等你把RHEL8玩熟了,再去接触容器、自动化运维工具,会发现底层逻辑都是相通的。
如果硬件允许,后续可以在这个环境里再装几台虚拟机,组一个小的内网环境,练习SSH互信、NFS共享、DNS配置这些多机协作的场景。这些经验在实际工作中非常有用。
最后分享一个我个人的习惯:每学一个新知识点,就在虚拟机里实际操作一遍,然后把操作步骤和遇到的问题记在笔记里。这个虚拟机就是你的实验台,搞坏了就回滚快照,没有任何心理负担。学习Linux最好的方式就是动手,而虚拟机让动手的成本降到了最低。