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

相关推荐
江湖有缘2 分钟前
基于华为openEuler系统部署Gitblit服务器
运维·服务器·华为
EnglishJun12 分钟前
Linux系统编程(二)---学习Linux系统函数
linux·运维·学习
小Pawn爷16 分钟前
2.Docker的存储
运维·docker·容器
CaracalTiger17 分钟前
OpenClaw-VSCode:在 VS Code 中通过 WebSocket 远程管理 OpenClaw 网关的完整方案
运维·ide·人工智能·vscode·websocket·开源·编辑器
qq_54702617917 分钟前
LangChain 1.0 核心概念
运维·服务器·langchain
生而为虫36 分钟前
[Windows] 【浏览器自动化精灵V1.0】用Excel表格控制浏览器的自动化
运维·自动化
Fcy64840 分钟前
Linux下 进程(二)(进程状态、僵尸进程和孤儿进程)
linux·运维·服务器·僵尸进程·孤儿进程·进程状态
第七序章1 小时前
【Linux学习笔记】初识Linux —— 理解gcc编译器
linux·运维·服务器·开发语言·人工智能·笔记·学习
迎仔1 小时前
A-总览:GPU驱动运维系列总览
linux·运维
AI_56781 小时前
阿里云OSS成本优化:生命周期规则+分层存储省70%
运维·数据库·人工智能·ai