上一篇
Grublinux命令有哪些你不知道的实用技巧?
- 行业动态
- 2025-04-25
- 3330
GRUB是Linux系统常用的启动引导程序,负责加载操作系统内核,用户可通过GRUB命令行手动调整启动参数、修复系统或选择不同内核版本,常用于系统故障修复、多系统切换及内核调试等场景。
GRUB Linux命令详解:引导程序的核心操作指南
在Linux系统中,GRUB(GRand Unified Bootloader)是负责系统启动的核心组件,无论是启动操作系统、修复引导问题,还是配置多系统环境,掌握GRUB命令都至关重要,本文将系统讲解GRUB的常用命令、配置文件修改方法及常见故障解决方案,帮助用户高效管理启动流程。
GRUB基础知识
GRUB是Linux主流的启动加载程序,其核心功能包括:
- 检测硬盘中的操作系统
- 提供启动菜单供用户选择
- 加载内核与初始化内存盘(initramfs)
- 支持命令行模式手动干预启动流程
重要文件位置:
- 主配置文件:
/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
注意事项
- 谨慎操作:误删GRUB文件可能导致系统无法启动。
- 备份配置:修改前备份
/etc/default/grub
和/boot/grub/grub.cfg
。 - 兼容性: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