导读:本期聚焦于小伙伴创作的《Linux GRUB是什么?带你了解系统启动引导程序的作用与原理》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Linux GRUB是什么?带你了解系统启动引导程序的作用与原理》有用,将其分享出去将是对创作者最好的鼓励。

Linux GRUB是一个启动引导程序,全称是GRand Unified Bootloader。当它被写入磁盘的主引导记录或EFI分区后,计算机加电自检完毕就会把控制权交给它,由它负责把Linux内核读入内存并启动系统。

Linux GRUB是什么?带你了解系统启动引导程序的作用与原理

GRUB在启动流程中的位置

现代PC的开机过程大致是:BIOS或UEFI先完成硬件检测,然后找到启动设备上的GRUB,GRUB再加载内核与初始化内存盘,最后把执行权交给内核。我们可以用下面的顺序来理解:

  • 硬件加电与固件初始化
  • 固件读取启动项并加载GRUB
  • GRUB显示菜单并加载选定系统的内核
  • 内核接管后启动用户空间服务

GRUB的主要配置文件

在基于GRUB 2的发行版里,用户一般不直接手写启动项,而是修改/etc/default/grub后再生成配置。下面是一段常见的配置示例:

# 设置默认启动项,0表示第一个菜单项
GRUB_DEFAULT=0
# 菜单等待时间,单位秒
GRUB_TIMEOUT=5
# 是否显示隐藏的启动菜单
GRUB_HIDDEN_TIMEOUT_QUIET=true
# 指定内核启动参数
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

修改完上面文件后,需要执行命令重新生成配置,Debian系与Red Hat系路径略有不同:

# Debian或Ubuntu
sudo update-grub
# CentOS或Rocky
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

GRUB常见故障与修复

双系统重装Windows后经常会导致GRUB被覆盖,此时可以用Live CD启动并重装GRUB。假设系统根分区是/dev/sda3,挂载后执行:

sudo mount /dev/sda3 /mnt
sudo grub-install --root-directory=/mnt /dev/sda

用命令行手动引导内核

如果配置文件损坏,也可以在GRUB命令行里手动指定内核与initrd:

set root=(hd0,3)
linux /boot/vmlinuz-5.15.0 root=/dev/sda3 ro
initrd /boot/initrd.img-5.15.0
boot

GRUB与多系统菜单

GRUB会扫描磁盘中的其他系统,例如Windows的EFI入口,并自动加入启动菜单。你可以通过修改GRUB_DEFAULTGRUB_TIMEOUT来控制默认项和等待时间,避免每次开机都要手动选择。

项目说明
GRUB_DEFAULT默认启动的菜单项索引
GRUB_TIMEOUT菜单停留秒数,设0可直接启动
GRUB_DISABLE_OS_PROBER是否关闭其他系统探测

了解这些基础内容后,你就能明白Linux GRUB是什么,以及在系统起不来时该从哪里下手处理。

LinuxGRUBboot_loader修改时间:2026-07-30 16:48:22

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。