插件窝 干货文章 Linux grub是什么意思

Linux grub是什么意思

GRUB 启动 内核 配置 996    来源:    2025-04-29

GRUB(GRand Unified Bootloader)是 Linux 和其他类 Unix 操作系统中广泛使用的引导加载程序(bootloader)。它的核心功能是在计算机启动时加载操作系统内核,并将控制权交给内核,从而启动完整的操作系统。


GRUB 的核心作用

  1. 多系统引导
    支持同时管理多个操作系统(如 Linux、Windows、macOS),在启动时提供菜单供用户选择。
  2. 内核参数传递
    允许用户修改内核启动参数(例如进入单用户模式修复系统)。
  3. 文件系统支持
    能直接读取常见文件系统(如 ext4、NTFS、FAT),无需依赖底层磁盘格式。
  4. 灵活性
    支持命令行交互模式,便于故障修复。

GRUB 的版本

  • GRUB Legacy(0.9x):旧版,功能有限,逐渐被淘汰。
  • GRUB 2(1.9x+):现代主流版本,支持更多特性(如动态配置、主题、脚本等)。

GRUB 的配置文件路径

  • GRUB 2 的配置文件通常位于:
    • 主配置:/etc/default/grub
    • 脚本生成:/boot/grub/grub.cfg(勿直接编辑,需通过 update-grub 生成)。
  • GRUB Legacy/boot/grub/menu.lst/boot/grub/grub.conf

常见操作示例

  1. 更新 GRUB 配置(修改后必须执行):
    bash sudo update-grub # 基于 /etc/default/grub 生成新的 grub.cfg
  2. 设置默认启动项
    编辑 /etc/default/grub,修改 GRUB_DEFAULT 参数(如 GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-91-generic")。
  3. 修复 GRUB(系统无法启动时):
    使用 Live CD/USB 启动后,执行:
    bash sudo grub-install /dev/sdX # sdX 为你的磁盘(如 sda) sudo update-grub

故障排查

  • 启动时卡在 grub> 提示符
    可能是 GRUB 配置损坏,可手动加载内核:
    grub ls # 查看磁盘分区 set root=(hd0,msdos1) # 指定根分区 linux /vmlinuz root=/dev/sda1 # 加载内核 initrd /initrd.img # 加载初始化内存盘 boot # 启动
  • Windows 覆盖 GRUB
    使用 Live USB 重新安装 GRUB 或通过 boot-repair 工具修复。

与其他引导程序的对比

  • Windows Boot Manager:仅支持 Windows。
  • LILO:Linux 旧版引导程序,功能较弱。
  • systemd-boot:适用于 UEFI 的轻量级替代方案。

GRUB 是 Linux 生态中至关重要的组件,理解其原理和操作能有效解决系统启动问题。遇到复杂情况时,建议备份数据并参考官方文档:GNU GRUB Manual