总结Grub命令行

-- TOC --

grub有一个bash-like命令行,本文尝试总结。

exit,退出,谁启动的grub,退回给谁,比如UEFI。

halt,停机。

reboot,重启。

help [command]

set,显示或设置环境变量。

grub> set root='hd0,msdos1'

root环境变量指向boot所用硬盘分区。

unset,撤销某个环境变量。

echo

grub> echo $?   # 上一条命令执行成功与否的结果

ls,显示

grub> ls
(hd0) (hd0,msdos1) (cd0)
grub> ls (hd0,msdos1)/
...

这就是grub描述硬盘的规则,使用()括起来,,前面是硬盘编号,后面是分区。

GRUB2对设备与分区的命名规则举例如下,硬盘从"0"开始计数,分区从"1"开始计数。

(fd0)          第一软盘
(hd0)          第一硬盘
(hd1,1)        第二硬盘的第一分区(通用于MBR与GPT分区)
(hd0,msdos2)   第一硬盘的第二MBR分区,也就是传统的DOS分区表
(hd1,msdos5)   第二硬盘的第五MBR分区,也就是第一个逻辑分区
(hd0,gpt1)     第一硬盘的第一GPT分区
(cd)           启动光盘[仅在从光盘启动GRUB时可用]
(cd0)          第一光盘

cat,显示文件内容

lsmod,显示已加载的模块

insmod,加载模块

insmod part_msdos # 加载分区模块识别分区
insmod ext2       # 加载ext文件系统模块识别ext文件系统

rmmod,删除某个模块

multiboot2,指定kernel路径,用multiboot2协议加载。

multiboot2 /boot/kernel.bin # multiboot2协议加载kernel.bin

boot,根据已有的设置,启动kernel。

normal_exit,从normal模式退出,此时一般会进入rescue救援模式。

normal,进入normal模式。

本文链接:https://cs.pynote.net/sf/grub/202307011/

-- EOF --

-- MORE --