努力
加油

在UEFI模式下安装CentOS 7.9需要注意哪些设置?

在 UEFI 模式下安装 CentOS 7.9,核心痛点其实就两个:分区表的格式和引导加载程序的位置。如果你还是用以前 BIOS (Legacy) 那一套“全盘格式化”或者“只分一个 / ”的思路,大概率会卡在 GRUB 界面或者重启后找不到系统。

以下是几个必须注意的关键设置点,按重要性排序:

1. 磁盘分区方案(最关键)

CentOS 7 默认使用 ext4 文件系统,但在 UEFI 下,你必须遵循 EFI System Partition (ESP) 的标准规范。

  • 不要使用 LVM 作为根分区的唯一选项,至少需要一个独立的 EFI 分区

    • EFI 分区:大小建议 200MB – 500MB 之间。文件系统类型必须是 efi(在 anaconda 安装器中通常会自动识别或需要你手动选择)。这个分区是 FAT32 格式的,用于存放 bootloader。
    • Boot 分区(可选但推荐):虽然 CentOS 7 在 UEFI 下可以将 /boot 放在 EFI 分区里,但为了管理和兼容性,很多老手还是会单独划一个 /boot 分区(ext4,几百 MB),剩下的空间给 LVM (/)。
    • Swap 分区:根据内存大小分配。
    • Root (/):LVM PV -> VG -> LV,格式化为 ext4。

    避坑指南:

    • 千万不要把 EFI 分区格式化成 ext4 或 xfs。
    • 确保 EFI 分区的“挂载点”在安装器中正确指向 /boot/efi(有些版本默认可能不显示,需要手动添加挂载点)。
    • 如果使用 GPT 分区表(UEFI 强制要求 GPT),确保没有残留的 MBR 痕迹。如果之前装过 Windows 或其他 Linux,记得彻底清除分区表。

2. 安装介质与启动方式

  • U 盘制作工具:推荐使用 Rufus (Windows 下) 或 balenaEtcher。

    • 如果用 Rufus,目标系统类型选 “GPT/UFI”,分区 scheme 选 “GPT”,目标系统选 “UEFI (非 CSM)”。这能确保 U 盘本身也是以 UEFI 模式被主板识别。
    • 不要用 UltraISO 做 CentOS 7 的 U 盘,它经常搞坏 EFI 目录结构,导致安装器找不到内核。
  • BIOS/UEFI 设置:

    • Secure Boot:CentOS 7 官方签名支持 Secure Boot,但国内镜像源有时会有第三方模块问题。最稳妥的做法是暂时关闭 Secure Boot,除非你非常清楚自己在做什么。
    • CSM (Compatibility Support Module):必须关闭。开启 CSM 会导致主板同时提供 Legacy 和 UEFI 支持,容易让安装器混淆,或者安装完后引导顺序混乱。
    • SATA Mode:确保是 AHCI,不是 RAID 或 IDE。

3. 安装过程中的细节

  • 网络配置:CentOS 7.9 默认网卡命名可能是 ens33 或 enpXsY,不是以前的 eth0。如果在安装时配静态 IP,注意网卡名称。
  • 软件选择:
    • 如果是服务器,选 “Minimal Install” 或 “Server with GUI”(如果需要图形化)。
    • 不要选 “Everything”,除非你是做开发环境且硬盘足够大,否则体积巨大且包含大量无用包。
  • 用户创建:
    • 务必创建一个普通用户,并赋予 sudo 权限。
    • root 密码要设复杂一点,因为后续你可能需要远程登录(虽然默认禁 SSH,但很多人会开)。

4. 安装后的关键检查(极易出错)

安装完成重启后,第一件事不是进去看桌面,而是进 BIOS 看启动项。

  • 确认启动顺序:第一启动项应该是你的硬盘上的 CentOS Linux 或 shimx64.efi 之类的 UEFI 条目,而不是 U 盘。
  • GRUB 菜单:正常情况应该看到 GRUB 菜单,然后进入系统。如果黑屏或报错 No bootable device,通常是 EFI 分区没挂对,或者 BIOS 里没关 CSM。

5. 常见问题排查

  • 问题:安装后重启进不了系统,卡在 GRUB shell 或提示 error: unknown filesystem

    • 原因:EFI 分区挂载点错误,或者 /boot 分区没有正确包含在内。
    • 解决:从 U 盘启动,选择 “Troubleshooting” -> “Rescue a CentOS system”,挂载原系统,检查 /etc/fstab 和 /boot/efi 的内容。
  • 问题:时间不对,快了几小时

    • 原因:CentOS 7 默认使用 UTC 时间,而 Windows 使用本地时间。如果双系统,需要在 Windows 中修改注册表或使用工具同步,或在 CentOS 中设置 timedatectl set-local-rtc 1(不推荐,最好统一用 UTC)。
  • 问题:无法连接网络,yum 更新失败

    • 原因:DNS 配置错误或镜像源不可用。
    • 解决:检查 /etc/resolv.conf,添加 nameserver 8.8.8.8 或 114.114.114.114。更换为阿里云或清华大学的 CentOS 7 镜像源(注意 CentOS 7 已停止维护,EOL 日期是 2024 年 6 月 30 日,建议尽快迁移到 AlmaLinux 9、Rocky Linux 9 或 CentOS Stream 9)。

总结

在 UEFI 下装 CentOS 7.9,记住一句话:GPT 分区表 + 独立 EFI 分区 (FAT32, 挂载到 /boot/efi) + 关闭 CSM + 关闭 Secure Boot (初期)。

另外,作为一个负责任的回答者,我必须提醒你:CentOS 7 已于 2024 年 6 月 30 日正式结束生命周期 (EOL),不再接收安全更新。如果是生产环境,强烈建议升级到 AlmaLinux 9、Rocky Linux 9 或 Ubuntu 22.04/24.04 LTS。这些新系统在 UEFI 下的安装流程更现代化,社区支持更好,安全性也更有保障。