Debian 系统 GRUB 引导故障修复全流程教程

前言

GRUB 是 Linux 系统的核心引导程序,当出现磁盘空间耗尽、分区调整、意外断电等情况时,可能导致 GRUB 损坏,系统无法正常启动。

本文基于实际运维场景,详细讲解如何通过 Debian 救援模式修复 GRUB 引导问题,并结合根分区扩容的完整流程,帮助你快速恢复系统。


Ⅰ 适用场景

  • 系统启动时直接进入 grub> 命令行,无法加载系统
  • 根分区 /dev/sda1 占满导致文件系统损坏,进而引发 GRUB 故障
  • 调整磁盘分区后,GRUB 引导配置失效
  • 虚拟机环境下的 Debian 13 系统引导修复

Ⅱ 准备工作

  1. Debian 安装 ISO 镜像:下载对应版本的安装镜像(如 Debian 13)
  2. 虚拟机/物理机设置:将 ISO 镜像挂载到虚拟机,或制作成启动 U 盘(物理机)
  3. BIOS 启动顺序调整:确保系统从 CD-ROM/USB 优先启动

Ⅲ 详细修复步骤

1. 进入 Debian 救援模式

  • 重启系统,在 BIOS 中设置从 CD-ROM/USB 启动
  • 找到 Boot Device Priority 或类似选项,按 Enter 进入。
  • 将 1st Boot Device 设置为 CD-ROM Drive。
  1. 从 Debian ISO 启动后,选择 Advanced optionsRescue mode 进入救援模式
  2. 在"选择根文件系统"界面,选择 Do not use a root file system,进入最小化命令行环境

这样会进入一个最小化的命令行环境,让你直接操作 /dev/sda1,而不依赖挂载。


2. 修复根分区文件系统

根分区满或意外断电可能导致文件系统损坏,需先修复:

bash 复制代码
# 强制检查并修复 /dev/sda1 的 ext4 文件系统
e2fsck -f -y /dev/sda1
  • 若出现 Bad magic number in super-block 错误,需使用备份超级块修复:

    bash 复制代码
    # 查看备份超级块位置
    dumpe2fs /dev/sda1 | grep -i superblock
    # 使用备份超级块修复(替换 <备份超级块位置> 为实际值,如 32768)
    e2fsck -b 32768 -f -y /dev/sda1

3. 挂载根分区并进入 chroot 环境

bash 复制代码
# 创建挂载点并挂载根分区
mkdir -p /target
mount /dev/sda1 /target

# 绑定系统虚拟文件系统(必须执行,否则 chroot 环境不完整)
mount --bind /dev /target/dev
mount --bind /proc /target/proc
mount --bind /sys /target/sys

# 进入根分区的 chroot 环境
chroot /target
  • 执行 chroot /target 后,命令行提示符变为 root@(none):/# 表示成功进入

4. 重新安装并更新 GRUB

bash 复制代码
# 重新安装 GRUB 到磁盘 MBR(注意是 /dev/sda 整个磁盘,不是分区)
grub-install /dev/sda

# 更新 GRUB 配置(扫描系统内核并生成新的启动菜单)
update-grub
  • grub-install 提示 Installation finished. No error reported.,说明安装成功
  • update-grub 会输出扫描到的内核信息,确保生成完整的启动配置

5. 退出并重启系统

bash 复制代码
# 退出 chroot 环境
exit

# 重启系统
reboot

⚠️ 重启前务必在 VM 设置中移除 Debian ISO 镜像,或在 BIOS 中改回硬盘优先启动

如果是VM的话,就是F2进入BOOS,然后调整启动优先

相关推荐
Splashtop高性能远程控制软件1 小时前
聊天工具与专业远程支持软件:企业 IT 远程支持工具选型的五个评估维度
运维·远程工作·splashtop
网络小白不怕黑2 小时前
10.邮件服务器搭建并脚本实现监控httpd状态
linux·运维·服务器
TTBIGDATA2 小时前
【Ambari Plus】15.Livy 安装
大数据·运维·hadoop·ambari·hdp·cdh·bigtop
java_logo3 小时前
5 分钟共享打印机:用 Docker 一键部署 CUPS
运维·docker·容器·cups·网络打印机·共享打印机·docker部署cups
Macbethad3 小时前
基于TwinCAT的半导体刻蚀设备SCADA管理程序技术方案
运维·网络·数据库
刘马想放假4 小时前
生成树协议 STP、RSTP、MSTP 分析:二层环网如何既冗余又不环路
运维·网络协议
zhz52144 小时前
Nginx + OpenSSL 自签名证书配置:优劣总结
运维·nginx
jsons14 小时前
rocky8内网离线批量补丁(你之前搭建的架构,多台服务器首选,无订阅)
linux·运维·服务器
Bomangedd4 小时前
NSK RA25BN 滚子直线导轨技术详解
运维·服务器·经验分享·规格说明书
2301_780303905 小时前
DevSecOps建设之自动化集成与部署 Jenkins教程和使用案例
运维·自动化·jenkins