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,然后调整启动优先

相关推荐
todoitbo7 小时前
用虚拟局域网打通 Win/Mac/Linux 三端:跨设备协作的实用方案
linux·运维·macos
Sylvia-girl8 小时前
Linux下的基本指令1
linux·运维·服务器
CDN3609 小时前
360CDN SDK 游戏盾:轻量化接入 + 强防护实测
运维·游戏·网络安全
Stewie121389 小时前
Docker 面试题
运维·docker·容器
星纬智联技术10 小时前
GEO E2E 自动化验证测试文章
运维·自动化·geo
jarreyer10 小时前
CentOS 7 无法使用 yum 安装软件
linux·运维·centos
脆皮的饭桶10 小时前
结合使用,实现IPVS的高可用性、利用VRRP Script 实现全能高可用
运维·服务器·网络
RisunJan11 小时前
Linux命令-md5sum(计算和校验文件报文摘要的工具程序)
linux·运维
抹茶咖啡11 小时前
IT运维的365天--042 骚操作之--用IPSec给远程桌面上把锁
运维·网络·it运维
王琦031812 小时前
第三章 linux文件类型和根目录结构
linux·运维·服务器