Linux系统安装与多系统引导:GRUB 引导器的基础原理与修复

落婷同学_4041

落婷同学_4041

2026-09-04

239人浏览

原创

grub是linux启动中连接bios/uefi与内核的桥梁,负责加载grub.cfg、解析启动项、加载内核和initramfs并移交控制权;其故障表现为mbr损坏导致黑屏或进bios、grub.cfg丢失进入grub>命令行、efi分区问题致启动项消失等。

linux系统安装与多系统引导:grub 引导器的基础原理与修复

GRUB 是 Linux 系统启动过程中最关键的环节之一,它不单是“菜单”,更是连接固件(BIOS/UEFI)与操作系统内核的桥梁。理解其原理能快速定位引导失败原因;掌握修复逻辑,比盲目重装系统更高效、更安全。

GRUB 在启动流程中起什么作用

Linux 启动不是直接跳到内核,而是一步接一步移交控制权:

  • BIOS/UEFI 完成硬件自检后,读取磁盘首扇区(MBR 或 EFI 系统分区),运行其中的 GRUB 引导代码
  • GRUB 加载自身核心模块和配置文件(/boot/grub/grub.cfg),解析出所有可启动项(如不同内核版本、Windows 等)
  • 用户选择后,GRUB 根据配置加载对应内核(vmlinuz)和初始内存盘(initramfs),再把控制权交给内核
  • 若 grub.cfg 缺失、路径写错、内核文件被删或 EFI 分区未挂载,GRUB 就会卡在命令行界面或直接报错

常见 GRUB 故障类型与对应表现

不同损坏位置,现象差异明显,判断准才能修得快:

Linux Journey
Linux Journey

当用户想学习Linux基础、命令行、文件系统等时,在LabEx查找并推荐免费的Linux Journey课程。

下载
  • MBR/EFI 引导区损坏:开机黑屏、光标闪烁、提示 “error: unknown filesystem” 或直接进 BIOS —— 这是 GRUB 第一阶段代码丢失
  • grub.cfg 文件丢失或错误:进入 GRUB 命令行(grub>),或显示 “no such device”、“file not found” —— GRUB 能启动,但找不到配置或内核路径
  • EFI 分区未挂载或损坏(UEFI 模式):安装完系统无法启动,或 Windows 更新后 Linux 启动项消失 —— 因为 GRUB 的 EFI 可执行文件(grubx64.efi)不在 /boot/efi/EFI/ubuntu/ 等路径下
  • 双系统冲突:装完 Windows 后 Ubuntu 不见了 —— Windows 安装过程覆盖了 EFI 分区中的 GRUB 启动项,只留下 Bootmgfw.efi

修复 GRUB 的标准操作路径

无需重装系统,用 Live USB 即可完成全流程修复,关键在于分清模式(BIOS 还是 UEFI)并严格挂载:

  • 用 Ubuntu/CentOS Live USB 启动,打开终端,运行 lsblk -fsudo fdisk -l 确认根分区(如 /dev/nvme0n1p2)、/boot(如有独立)、以及 EFI 分区(通常为 /dev/nvme0n1p1,FAT32 格式,LABEL=EFI)
  • 依次挂载:
    sudo mount /dev/nvme0n1p2 /mnt
    sudo mount /dev/nvme0n1p1 /mnt/boot/efi(UEFI 必须)
    sudo mount --bind /dev /mnt/dev && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys
  • 进入原系统:sudo chroot /mnt
  • 重装 GRUB:
    • BIOS 模式:grub-install /dev/nvme0n1
    • UEFI 模式:grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
  • 更新配置:update-grub(Debian/Ubuntu)或 grub2-mkconfig -o /boot/grub2/grub.cfg(RHEL/CentOS/Fedora)

简单但有效的预防与维护建议

多数 GRUB 故障其实可以提前规避:

  • 安装双系统时,先装 Windows 再装 Linux —— 避免 Windows 覆盖引导;若已装反,用 Live 环境修复比重装 Windows 更稳妥
  • 升级内核或修改启动参数后,手动运行一次 update-grub,确认新条目已生成
  • 定期备份 /boot/efi/EFI/ 全目录(尤其是多系统环境),恢复时只需拷回即可
  • 禁用 Windows 快速启动(电源选项 → 选择电源按钮的功能 → 更改当前不可用设置 → 取消勾选“启用快速启动”),防止 NTFS 分区被锁导致 Linux 无法写入 /boot

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3570

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3113

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2173

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5150

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

4842

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

2913

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2405

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2639

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

CLion 远程开发实战
CLion 远程开发实战

共0课时 | 0人学习