温馨提示×

centos为啥替换 grub 引导

小樊
44
2026-10-09 05:22:08
栏目: 智能运维

在 CentOS 里“替换 GRUB 引导”通常不是无缘无故的,一般是为了修复、升级或适配新的启动方式。常见原因可以分为下面几类:


一、GRUB 损坏或无法启动

这是最常见的原因之一。

典型场景

  • 系统升级内核后,grub.cfg 没更新
  • 磁盘顺序变化(如加了一块盘)
  • /boot 分区损坏
  • BIOS/UEFI 设置变化
  • 误删了 /boot/grub2

表现

  • 开机直接进入 grub> 或 grub rescue>
  • 启动时报 error: file '/grub2/grub.cfg' not found
  • 无法选择内核

解决方式

重新安装 GRUB:

grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg

二、从 BIOS 切换到 UEFI(或反过来)

BIOS → UEFI

  • 老机器或旧 CentOS(如 6/7)默认 BIOS
  • 新主板默认 UEFI
  • 需要:
    • 建立 EFI 分区
    • 安装 grub2-efi
yum install grub2-efi grub2-efi-modules shim
grub2-install --target=x86_64-efi

UEFI → BIOS

  • 服务器强制 BIOS 启动
  • 旧系统不支持 UEFI

三、CentOS 版本升级导致 GRUB 变化

常见情况

  • CentOS 7 → Rocky / Alma / CentOS Stream
  • 内核从 3.x → 5.x
  • GRUB 配置结构变化

例如:

  • /boot/grub2/grub.cfg
  • /boot/efi/EFI/centos/grub.cfg

四、更换磁盘或 RAID / LVM 结构

场景

  • 系统盘从 HDD → SSD
  • 使用 LVM / mdadm RAID
  • 克隆系统到新盘

GRUB 必须重新写入新磁盘的 MBR 或 EFI


五、安全启动 / 签名问题

  • UEFI Secure Boot 开启
  • 原 GRUB 未签名
  • 需要替换为 shim + signed grub

六、多系统引导管理

  • CentOS + Windows
  • CentOS + Ubuntu
  • 用 CentOS 的 GRUB 统一管理启动项

七、人为误操作

  • dd 写错盘
  • 格式化 /boot
  • 手动改 grub.cfg 出错

总结一句话

CentOS 替换 GRUB 引导,本质是为了让系统“能正确找到并启动内核”

如果你能告诉我:

  • CentOS 版本
  • BIOS 还是 UEFI
  • 是开机报错还是主动更换

我可以直接给你对应场景的具体命令。

0 踩