当前位置:首页 > 行业动态 > 正文

Grublinux命令有哪些你不知道的实用技巧?

GRUB是Linux系统常用的启动引导程序,负责加载操作系统内核,用户可通过GRUB命令行手动调整启动参数、修复系统或选择不同内核版本,常用于系统故障修复、多系统切换及内核调试等场景。

GRUB Linux命令详解:引导程序的核心操作指南

在Linux系统中,GRUB(GRand Unified Bootloader)是负责系统启动的核心组件,无论是启动操作系统、修复引导问题,还是配置多系统环境,掌握GRUB命令都至关重要,本文将系统讲解GRUB的常用命令、配置文件修改方法及常见故障解决方案,帮助用户高效管理启动流程。


GRUB基础知识

GRUB是Linux主流的启动加载程序,其核心功能包括:

  • 检测硬盘中的操作系统
  • 提供启动菜单供用户选择
  • 加载内核与初始化内存盘(initramfs)
  • 支持命令行模式手动干预启动流程

重要文件位置

Grublinux命令有哪些你不知道的实用技巧?  第1张

  • 主配置文件:/boot/grub/grub.cfg(自动生成,勿直接编辑
  • 用户配置模板:/etc/default/grub
  • 自定义脚本:/etc/grub.d/目录

常用GRUB命令与工具

更新GRUB配置

sudo update-grub
# 或
sudo grub-mkconfig -o /boot/grub/grub.cfg

此命令会读取/etc/default/grub/etc/grub.d/中的配置,重新生成grub.cfg新增内核或修改启动参数后必须执行

修复GRUB安装

若系统无法启动,可通过Live CD/USB进入救援模式后执行:

sudo grub-install /dev/sdX  # sdX为系统所在磁盘(如sda)
sudo update-grub

进入GRUB命令行

开机时按下Shift(BIOS)或Esc(UEFI)进入GRUB菜单,按c键进入命令行模式,常用指令:

  • ls:列出所有磁盘分区
  • set root=(hdX,Y):指定根分区(X为磁盘号,Y为分区号)
  • linux /boot/vmlinuz-... root=/dev/sdXY:手动加载内核
  • initrd /boot/initrd.img-...:加载初始化内存盘
  • boot:启动系统

自定义GRUB配置

修改默认启动项

编辑/etc/default/grub

GRUB_DEFAULT=0           # 0表示第一个菜单项,可改为"saved"使用上次选择
GRUB_TIMEOUT=5           # 菜单显示时间(秒)
GRUB_CMDLINE_LINUX="..." # 内核参数(如添加`quiet splash`隐藏启动日志)

保存后执行sudo update-grub生效。

美化GRUB界面

  • 更换主题:安装grub2-themes包,或手动下载主题文件至/boot/grub/themes/
  • 添加背景图:将图片放入/boot/grub/,在/etc/default/grub中设置:
    GRUB_BACKGROUND="/path/to/image.png"

多系统启动

GRUB自动检测Windows、macOS等系统,若未识别,可手动在/etc/grub.d/40_custom中添加条目:

menuentry "Windows 10" {
  insmod ntfs
  set root=(hd0,1)
  chainloader +1
}

故障排查与修复

启动时提示grub rescue>

  • 步骤1:查询分区信息
    ls
  • 步骤2:定位Linux所在分区(通常为(hdX,gptY)格式)
    set prefix=(hdX,gptY)/boot/grub
    set root=(hdX,gptY)
  • 步骤3:加载模块并启动
    insmod normal
    normal

忘记GRUB密码

编辑/etc/grub.d/00_header,找到set superusers="user"行,执行:

sudo grub-mkpasswd-pbkdf2  # 生成密码哈希
sudo update-grub

注意事项

  1. 谨慎操作:误删GRUB文件可能导致系统无法启动。
  2. 备份配置:修改前备份/etc/default/grub/boot/grub/grub.cfg
  3. 兼容性:UEFI与Legacy BIOS的GRUB安装命令不同,需确认系统启动模式。

引用说明

  • GNU GRUB手册:https://www.gnu.org/software/grub/manual/grub/
  • Ubuntu GRUB2文档:https://help.ubuntu.com/community/Grub2
  • Arch Linux Wiki:https://wiki.archlinux.org/title/GRUB
0