VirtualBox上安装RHEL 9:从虚拟化设置到订阅注册指南

发布时间:2026/10/1 15:36:44
VirtualBox上安装RHEL 9:从虚拟化设置到订阅注册指南 本地折腾 Linux 这些年被问得最多的问题就是VirtualBox 上装 redhat-Linux 到底怎么弄问的人里既有备考 RHCSA 的新人也有想在自己电脑上搭个 Linux 环境写脚本的开发者还有被公司要求熟悉 RHEL 的运维同学。其实这套流程本身并不复杂难点在于安装过程中有不少“官方文档里不写、教程里一带而过”的小细节——版本选错、扩展包没装、虚拟化开关没打开、订阅没注册随便遇到一个都能卡一晚上。所以这篇我打算按自己平时装机的顺序来把每一步该做什么、为什么这么做、出了问题怎么排查全部摊开讲。目标只有一个让你照着操作一次能把 RHEL 跑起来并且后续还能正常装软件、做实验、拍快照不留下烂尾环境。1. 选型阶段别轻率VirtualBox 版本、扩展包与宿主机的虚拟化开关1.1 为什么本地学 RHEL 我首选 VirtualBox网上虚拟化工具不少VMware Workstation、Hyper-V、Parallels Desktop 都很常见但我自己常年把 VirtualBox 当成“本地实验环境首选”。原因很实际免费且开源没有授权焦虑给同事推荐时也不用解释什么“个人版”“商业版”的区别。跨平台Windows、macOS、Linux 宿主机都能跑统一操作习惯。快照功能非常实用RHEL 里做破坏性实验改 SELinux、练 LVM、折腾内核参数时一键回滚真的能救命。导出导入 OVA/OVF 方便环境做错了可以整个删掉重来不影响宿主机。对比起来VMware Workstation 在 Windows/Linux 上体验也很好但商业授权和体积都偏重Hyper-V 虽然 Windows 自带但管理界面和网络模型对新手来说更绕WSL 又只是一个兼容层不是完整内核跟“正经 RHEL 服务器环境”有差距。所以新手入门、备考、日常测试VirtualBox 这套组合最稳。1.2 下载 VirtualBox 时顺手把扩展包一起下了去 Oracle VirtualBox 官网下载当前稳定版即可。Windows 用户安装时注意安装过程会短暂禁用网络并安装虚拟网卡驱动属正常现象macOS 用户若提示“无法验证开发者”到系统设置里允许打开始终打开。装完主程序后再去下载同一版本的 Extension Pack版本号必须完全一致否则加载时会报错。扩展包里包含 USB 3.0 控制器、虚拟远程显示、磁盘加密、NVMe 支持等能力装 RHEL 虽然用不到全部功能但后面想挂载 USB 设备拷贝数据时就会用到建议一步到位。这里顺便提醒一句搜索 VirtualBox 的时候容易撞见一些名字里带 “Virtual Box” 的其他工具比如 Enigma Virtual Box 这类 Windows 应用虚拟化封装工具跟 Oracle 的虚拟机软件不是一回事看到界面风格/publisher 不对就果断关掉别下错。1.3 先把虚拟化开关确认好不然装一半会怀疑人生创建虚拟机之前先确认宿主机 CPU 的虚拟化是否已经开启。Intel 平台对应 VT-xAMD 平台对应 AMD-V。Windows 上最简单的确认方式打开任务管理器 → 性能 → CPU → 看“虚拟化”一栏是否显示“已启用”。也可以在 PowerShell 里执行(Get-CimInstance Win32_Processor).VirtualizationFirmwareEnabled如果返回 False需要重启电脑进 BIOS/UEFI找到 Intel Virtualization Technology / SVM Mode 之类的选项并打开。这一步没做的话创建完虚拟机一启动就可能报VT-x is not available或直接黑屏非常打击新手。还要注意一个隐藏坑Windows 的 Hyper-V、内核隔离内存完整性、WSL2 这些特性会和 VirtualBox 抢占虚拟化能力。VirtualBox 7.x 版本做了“Hyper-V 共存”兼容通常能跑但某些电脑上依然会出现启动虚拟机崩溃、蓝屏、性能骤降的情况。如果你电脑上开着 Hyper-V 或内核隔离并且 VM 启动有诡异问题可以临时关闭 Hyper-V 相关功能或内存完整性再试。学习阶段环境干净比什么都重要。提示如果你本身是在另一台虚拟机里再装 VirtualBox记得在上级虚拟机的“处理器”设置里开启嵌套虚拟化Nested VT-x/AMD-V否则 VM 内部的虚拟化会失效。2. 先搞明白要装哪一种 Red Hat Linux版本、订阅与 ISO 获取2.1 RHEL 不等于 Fedora也不等于 CentOS Stream很多人把 “redhat-Linux” 当成一个宽泛称呼但严格来说这个标题下我们应该装的是 Red Hat Enterprise Linux也就是 RHEL。它和 Fedora、CentOS Stream、Rocky Linux、AlmaLinux 的关系很简单发行版定位适合场景Fedora红帽系的“尝鲜版”新内核新特性迭代最快桌面体验、开发新特性RHEL企业级稳定发行版长期支持红帽官方维护生产环境、企业服务器、RHCSA/RHCE 认证CentOS Stream滚动预览版介于 Fedora 与 RHEL 之间想提前体验接近 RHEL 的内容Rocky / AlmaLinuxRHEL 重建版兼容 RHEL 但无红帽品牌与商业支持不想买订阅又想兼容 RHEL 的服务器既然题目是 redhat-Linux我默认以真正的 RHEL 为目标系统来操作。你如果只是想体验命令和运维流程装 Rocky/AlmaLinux 也能跟到大部分步骤但软件仓库来源和订阅机制会有差异别混着看。2.2 版本怎么选新学直接上 RHEL 9RHEL 目前主流是 9.x 系列8.x 已进入生命周期维护后期。如果你是新手没必要再从 8 开始学直接装最新的 RHEL 9.x无论是软件源、SELinux 行为还是 RHCSA/RHCE 考试目标都以 9 为准。RHEL 9 默认文件系统是 XFS软件包管理是 dnf内置 AppStream 与 BaseOS 两个仓库体系这些概念都是当前运维面试的重点。ISO 镜像有几种DVD ISO包含完整软件包大约 5-6GB适合离线安装推荐使用。Boot ISO很小的引导镜像安装时需要从网络仓库拉取软件包对新手不友好。在红帽官方网站注册一个账号后进入 Red Hat Enterprise Linux 下载页面选择对应版本的Red Hat Enterprise Linux 9.x Binary DVD下载即可。这个下载过程需要登录因为官方要记录订阅授权。无关账号归属纯学习用个人邮箱注册即可。下载完建议校验 SHA256尤其你如果从非官方渠道拿到 ISOWindows 下Get-FileHash .\rhel-baseos-9.4-x86_64-dvd.iso -Algorithm SHA256Linux/macOS 下shasum -a 256 rhel-baseos-9.4-x86_64-dvd.iso比对官网给出的校验值确保文件完整。这一步能避免安装中莫名出现软件包损坏的问题。2.3 订阅制要理清楚不注册也能装但别指望长期用RHEL 不是免费系统但红帽提供了几个合法免费途径个人开发者订阅免费可以用于开发学习环境。60 天评估订阅临时测试够用。生产环境需要企业采购订阅。安装系统本身不会被强制要求先输订阅但装完系统后如果你执行dnf install想装软件就会因为仓库未启用而失败。那时候就需要用subscription-manager注册并 attach 授权详见第 5 章。所以这里先把预期说清楚想要完整体验 RHEL 的软件仓库免费注册开发者订阅是最值得的路径。3. 虚拟机创建参数详解从内存、磁盘到网卡的一次性设置3.1 新建虚拟机向导每一步的推荐值打开 VirtualBox点击“新建”按下面的参数填写项目推荐配置说明名称RHEL9-Lab可自定义类型Linux固定选择版本Red Hat (64-bit)如果下拉菜单里找不到这个选项先检查你的 VirtualBox 是否太旧内存大小4096 MB最低 2048 MB图形桌面建议 4096 MB处理器2 核1 核也能跑但磁盘和桌面响应会慢显存128 MB在“显示”设置中调整GNOME 桌面需要虚拟硬盘创建虚拟硬盘VDI动态分配容量 25GB 起向导默认建议的 10GB 磁盘在小规模实验下够用但 RHEL 9 带图形界面、装完基础软件后很容易就占用 8-10GB再跑一段时间日志和缓存就可能告急。我推荐直接给到 25GB后面省心。3.2 挂载 ISO 和必须检查的虚拟机设置新建完虚拟机不要急着开机先进入“设置”做三件事存储选中光驱控制器里的 Empty点光盘图标选择下载好的 RHEL DVD ISO。系统把启动顺序调整为“光驱”最优先硬盘第二如果有软驱选项直接去掉。显示显存拉到 128MB可以勾选“启用 3D 加速”。网络这里暂时不动。VirtualBox 默认的 NAT 模式已经足够让虚拟机访问外网、让宿主机通过端口映射访问虚拟机安装阶段不需要复杂网络。等你系统装好、能登进去了再按自己的需求改桥接或 Host-Only 都来得及。关于 UEFI 和 Secure BootVirtualBox 默认使用传统 BIOS 引导这对 RHEL 9 完全没问题新手阶段不建议额外勾选 EFI少一个变量就少一个坑。RHEL 9 本身支持 UEFI但那属于后面进阶再研究的内容。3.3 动态分配盘和固定大小怎么选VirtualBox 新建磁盘时会问“动态分配”还是“固定大小”新手容易纠结。简单说动态分配先按你设置的上限创建一个小文件随着虚拟机里实际写入数据慢慢变大。固定大小创建时就一次性占满宿主机磁盘空间。固定大小在随机读写性能上略好因为磁盘文件连续宿主机文件系统不需要频繁扩展动态分配最大优势是省空间25GB 的配置可能实际只占用 5GB 文件空间。本地学习环境动态分配完全够用而且后面还可以用命令行扩容虚拟磁盘。唯一要提醒的是动态磁盘只增不减哪怕你在虚拟机里删了大量文件vdi 文件也不会自动变小想要瘦身需要专门的压缩操作我在第 6 章会提到。4. 进入 Anaconda 安装界面关键配置项逐一讲解4.1 启动安装程序并选对第一项点击 VirtualBox 的“启动”虚拟机从光驱引导后会出现 RHEL 安装菜单。这里有三个常见选项Install Red Hat Enterprise Linux 9.xTest this media install Red Hat Enterprise Linux 9.x还有若干救援/故障排查选项直接用方向键选第一项“Install”不用选“Test this media”。那个介质测试会把 5-6GB 的 ISO 完整读完一遍特别浪费时间而且你已经校验过 SHA256没必要再测一遍。按 Enter 后屏幕会滚过一堆内核日志随后进入安装程序语言选择界面。语言这步我建议选英文English。原因是RHEL 的报错信息、日志、官方文档绝大多数都是英文命令行里 grep 关键词也是英文中文界面虽然看着亲切但后续遇到问题你对着英文报错去搜资料会更顺畅。当然如果对英文界面实在发怵选简体中文也一样能装系统内部功能和软件包没有差别只是在界面上展示不同。4.2 安装信息摘要里的几个决定性配置进入安装主界面后会看到“安装信息摘要”页面必须逐项确认时间和日期Time Date区域选择你所在地比如中国标准时间 UTC8。务必开启网络时间同步否则后面 dnf 去访问红帽仓库时证书校验会因为系统时间和真实时间偏差太大而失败。键盘布局Keyboard默认 English (US)不需要改。软件选择Software Selection这里最关键。新手建议选Server with GUI带 GNOME 图形桌面能直观看到桌面效果操作学习成本低。如果你目标明确要当服务器管理员也可以选Minimal Install只装命令行更贴近生产环境但也更枯燥。两者之后都可以通过dnf groupinstall补装不用怕选错。安装目的地Installation Destination直接用“自动配置”即可底层是 LVM XFS这是 RHEL 默认且推荐的分区方案。如果想手动分区推荐下面这个结构/boot1GB存放内核和引导文件。swap4GB内存不够时做交换空间。/剩余空间用 LVM 管理逻辑卷名如 rhel/root。新手阶段真的建议自动分区等学完 LVM 再手动折腾也不迟。Kdump默认开启会预留一部分内存学习环境下可以直接点进去关闭省下几百 MB 内存。网络设置Network Host Name把有线的开关拨到 ON让它通过 DHCP 自动获取 IP顺手设置一个好记的主机名比如rhel9-lab。Root 密码与用户创建设置一个你能记住的强密码同时创建一个普通用户勾选“为这个用户设置管理员权限”等价于把用户加入 wheel 组后面用sudo方便很多。4.3 安装中与重启后的收尾动作点击“开始安装”后安装程序会拷贝软件、配置引导程序。这时候可以喝杯水等几分钟。安装完成后点击“重启”。重启前一定要从虚拟机里移除 ISO 镜像否则再次开机时可能又进入安装菜单。方式很简单VirtualBox 菜单栏 → 设备 → 光盘驱动器 → 移除虚拟光盘。也可以在虚拟机关闭状态下到“设置 → 存储”里把光驱里的磁盘映像删掉。这一步经常有人忘结果重启后发现自己又装了一遍系统。5. 首次启动后的初始化订阅注册、软件源、增强功能与快照5.1 注册订阅是软件仓库能用的第一前提系统启动后如果你没有订阅dnf基本没法正常使用。执行sudo dnf repolist会发现仓库列表为空或不可用这是 RHEL 和 CentOS 最大的区别点。用免费开发者订阅注册的过程不复杂sudo subscription-manager register --username 你的红帽账号 --password 你的密码 sudo subscription-manager attach --auto sudo subscription-manager status如果当时没有在命令行里直接带账号密码系统会交互式询问。注册完成并自动 attach 授权后再启用官方仓库sudo subscription-manager repos --enablerhel-9-for-x86_64-baseos-rpms sudo subscription-manager repos --enablerhel-9-for-x86_64-appstream-rpms之后执行sudo dnf repolist应该能看到 AppStream 和 BaseOS 两个仓库。这一步是整个 RHEL 体验的分水岭注册好了后面想装什么软件都是一行命令的事。注意短时间内反复register或密码输错多次红帽账号可能被临时锁定所以输入密码时慢一点、看清楚再回车。5.2 更新系统并补齐基础工具注册完成后第一件事就是更新系统sudo dnf update -yRHEL 默认安装比较精简我习惯先补这几个工具sudo dnf install -y vim wget curl git net-tools lsof bash-completion顺手把主机名和时区确认一下sudo hostnamectl set-hostname rhel9-lab exec bash timedatectl如果时间显示不对启动 chrony 服务sudo dnf install -y chrony sudo systemctl enable --now chronyd5.3 必须装的 VirtualBox Guest AdditionsGuest Additions 就是 VirtualBox 的增强驱动包不装它虚拟机也能跑但你会一直忍受几个非常恼人的问题屏幕分辨率固定且无法自适应、鼠标在虚拟机窗口边界处经常要按 Right Ctrl 释放、剪贴板和文件拖拽无法共享。装上之后体验会完全不同。安装前先装编译依赖和内核头文件sudo dnf install -y gcc make kernel-devel kernel-headers elfutils-libelf-devel然后在 VirtualBox 菜单栏选择设备 → 安装增强功能Insert Guest Additions CD image。RHEL 会把 ISO 自动挂载为光盘也可以手动挂载sudo mount /dev/cdrom /mnt cd /mnt sudo ./VBoxLinuxAdditions.run安装脚本运行完成后重启虚拟机即可。如果你在这个环节遇到Could not find the kernel source tree之类的报错十有八九是 kernel-devel 版本和当前运行内核版本不一致。先执行uname -r看内核版本再rpm -q kernel-devel对比对不上就sudo dnf install -y kernel-devel-$(uname -r)或重启到最新内核再装。5.4 装完系统的第一件事拍快照这个建议我认为是整篇最实用的一个。紧接着在完成 subscription-manager 注册、系统更新、Guest Additions 安装之后回到 VirtualBox 主界面为当前虚拟机拍一个快照命名比如rhel9-initialized。之后你学习 SELinux、防火墙、LVM、GRUB、内核参数时可以随便折腾告诉自己要敢试错。把系统搞到无法开机快照回滚十秒钟回到干净状态。RHEL 这种企业系统越是用得小心越学不到东西有快照兜底就能大胆操作。快照不是无限做的建议保留两到三个关键时间点就好太多快照会让虚拟磁盘变慢、占满宿主机空间。6. 高频故障排查链路黑屏、网络、仓库与磁盘问题处理6.1 虚拟机启动黑屏或卡在引导阶段这是新手遇到最多的问题现象五花八门但排查链路基本一致先看宿主机 CPU 虚拟化是否开启任务管理器 → 性能 → CPU → 虚拟化是否为“已启用”。如果不是进 BIOS 打开 VT-x/SVM没有这一步后面所有努力白费。再检查 VirtualBox 是否和 Hyper-V/VBS 冲突。Windows 用户如果开启了“内核隔离”或 Hyper-V又遇到虚拟机启动黑屏、播报 VT-x 错误或者主程序直接崩溃可以临时关闭再测。虽然 VirtualBox 7 官方宣称可以共存但实际硬件的兼容性参差不齐遇到问题先用排除法。如果以上没问题检查启动顺序和 ISO。确认“设置 → 系统”里光驱排在硬盘前面且 ISO 镜像没有损坏。用第 2 章的方法重新校验一遍 ISO 是最快的。最后看虚拟机日志启动失败的弹窗里点“复制”或“显示日志”常见关键词如Critical error、VT-x is not available把关键信息复制到搜索框基本就能定位方向。6.2 图形界面分辨率低鼠标被“锁”在窗口里现象系统能启动GNOME 桌面正常但分辨率永远只有 800x600 或者 1024x768全屏后画面也不变化鼠标移出窗口边界时会被卡住必须按键盘上的 Right Ctrl 键释放。这就是典型 Guest Additions 没装好或者没启用。解决办法就是第 5.3 节那套流程。装完之后重启分辨率通常就能自适应窗口大小。如果没有到 VirtualBox 菜单“设备 → 共享剪贴板”和“拖放”都改成双向然后在 RHEL 里重新登录一次图形会话让新驱动生效。6.3 网络不通ping 不同网关、SSH 连不上RHEL 9 的网卡命名已经不像老教程里的 eth0而可能是 enp0s3、ens32 这类名称。进入系统后先看当前网络状态ip addr ip route nmcli device status如果网卡没有被激活NetworkManager 会显示 disconnected手动连接nmcli device connect enp0s3如果用的是 NAT 模式虚拟机和宿主机在逻辑上不属于同一网段宿主机直接用 SSH 连接虚拟机的 IP 通常连不上需要用端口转发。VirtualBox 可以这样设置设置 → 网络 → 高级 → 端口转发添加一条规则把宿主机的 2222 端口转发到虚拟机的 22 端口然后 SSH 宿主机地址的 2222 端口即可。这个模型很多人刚接触时容易蒙圈记住“NAT 是虚拟机单向访问外网外面访问虚拟机要打洞”这句话就好。如果是桥接模式但网络依然不通重点排查宿主机防火墙是否放行了对应端口、虚拟机内部 firewalld 是否放行了 SSH、是否在同网段、无线网卡桥接是否被路由限制。桥接模式在办公室/校园网里经常因为网络隔离而失败学习环境不必强求NAT 加端口转发已经够用。6.4 dnf 下载软件时提示仓库错误执行sudo dnf install时报Failed to download metadata或HTTP Error 404时按下面顺序排查是否完成了订阅注册。执行sudo subscription-manager status看不到 granted 状态就是没注册成功。启用仓库是否正确。执行sudo subscription-manager repos --list-enabled | grep ^Repo ID至少要能看到rhel-9-for-x86_64-baseos-rpms和rhel-9-for-x86_64-appstream-rpms。系统时间是否准确。证书校验对时间敏感date查看时间不对就配置 chrony。网络能否访问红帽仓库。在虚拟机里ping access.redhat.com不一定通可能禁 ICMP改用dnf repolist看是否卡在连接阶段。有些朋友为了离线路安装会用本地 ISO 做仓库这类情况重点检查挂载路径和 repo 文件里的baseurl是否对得上。出问题时用dnf repolist --verbose可以看到每个仓库实际访问的 URL比盲猜高效得多。6.5 磁盘空间写满从 VirtualBox 到 LVM 的完整扩容链路学习过程中经常会把磁盘塞满尤其是做数据库、日志类实验的时候。扩容要分两层处理先扩大虚拟磁盘文件再扩大系统内的 LVM 分区。第一步关闭虚拟机回到 VirtualBox 主界面在虚拟机设置里修改磁盘大小或者用命令行VBoxManage modifymedium disk C:\Users\你的用户名\VirtualBox VMs\RHEL9-Lab\RHEL9-Lab.vdi --resize 40960注意--resize的单位是 MB40960 表示 40GB。这个操作只能调大不能调小操作前最好确认一下当前空间实际使用量。第二步重新启动虚拟机查看分区布局lsblk通常磁盘设备是 /dev/sda根分区是 LVM 卷组里的逻辑卷。如果 /dev/sda 的第 3 个分区是 LVM 物理卷所在分区依次执行sudo growpart /dev/sda 3 sudo pvresize /dev/sda3 sudo lvextend -l 100%FREE /dev/rhel/root sudo xfs_growfs /最后一条xfs_growfs是针对 XFS 文件系统的在线扩容命令。RHEL 默认根文件系统是 XFS不用重新挂载就能扩容。做完再df -h就能看到空间变大了。提示XFS 文件系统只能扩不能缩分区前想清楚空间规划。动态虚拟磁盘也一样扩容容易缩容几乎不可能。6.6 几个容易忽略的日常小坑现象可能原因解决办法USB 设备插入虚拟机没反应未安装 Extension Pack安装对应版本扩展包并在 VM 设置中启用 USB 3.0 控制器共享剪贴板不生效Guest Additions 未装或功能未开启设备 → 共享剪贴板 → 双向重启虚拟机虚拟机 vdi 文件越来越大动态磁盘只增不减在虚拟机内运行sudo fstrim /后关机用VBoxManage modifymedium disk ... --compact瘦身安装时界面没显示“Red Hat (64-bit)”VirtualBox 版本过旧或虚拟化未开启升级 VirtualBox确认 BIOS 虚拟化开关普通用户无法 sudo安装时未加入 wheel 组用 root 登录后执行usermod -aG wheel 用户名装过太多台 RHEL 之后我自己的固定流程已经变成下载主程序时顺手把扩展包也下了创建完虚拟机先拍一个空机快照装完系统、注册订阅、装好增强功能之后再拍第二个快照。后面所有学习实验都在这两个快照之间来回折腾。备考 RHCSA 或者熟悉企业运维的朋友也可以每天在虚拟机里重新从零安装一遍把这套流程练成肌肉记忆比单纯背文档有用得多。VirtualBox 和 RHEL 的版本都会不断更新界面细节偶尔有差异但只要核心思路清晰那些变化都只是小问题。