grub命令行启动深度linux,GRUB启动引导程序配置及命令行接口详解

一.版本

grub:Grand Unified Bootloader

grub 0.x:grub legacy

grub 1.x:grub2

二、grub legacy

三个过程

stage1:安装在mbr

stage1_5:存放在mbr之后的扇区

stage2:存放在磁盘分区(/boot/grub)

配置文件

/boot/grub/grub.conf、/etc/grub.conf

88094cfcab2641bfe138b0fd5cc0e71c.png

功用

stage2及内核等通常放置于一个基本磁盘分区

1.提供菜单、并提供交互式接口 •e:编辑模式、用于编辑菜单

c:命令模式、交互式接口

ce81e4b6ef24a4ec5d98880b7e4c3524.png

2.加载用户选择的内核或操作系统 •允许传递参数给内核

可隐藏此菜单

3.为菜单提供保护机制

为编辑菜单进行认证

识别设备

GRUB不区分IDE硬盘和SCSI硬盘,统一使用hdx来标识。其中x指定BISO硬盘编号,从零开始计数,而且通常计算机的IDE硬盘编号在SCSI硬盘前。Grub使用hd(X,Y)编号来识别计算机中某一硬盘的某一分区。

其中括号一定要用英文半角,且hd后逗号均无空格;

*其中hd(X,Y)的X是指计算机中的X块硬盘,编号从0开始,在BIOS中设置引导的第一块硬盘为0,其他的硬盘按照IDE的顺序排列,依次为1,2,3,...

hd(X,Y)中的Y指的是硬盘中划分出来的第几个分区。编号也是从0开始,其他的分区是1,2,3,,需要注意的是:0,1,2,3,是指硬盘中的主分区,如果是扩展分区,编号将从4开始,一直到最后一个扩展分区。

9d8393e7007031656c3924217d5843da.png

grub命令行接口

help:获取帮助列表

help KEYWORD:详细帮助信息

find (hd#,#)/PATH/TO/SOMEFILE:查找

kernel /PATH/TO/KERNEL_FILE:设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用的cmdline参数

initrd /PATH/TO/INITRAMFS_FILE:设定为选定的内核提供额外文件的ramdisk

boot:引导启动选定的内核

d79a228b347f8e4175fbb4893a4aa520.png

ae74e3b91ae62df7c36bc82a229bbfa1.png

手动在grub命令行接口启动系统

grub>root(hd#,#)grub所在的的根

grub>kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE 设定本次启动用到的内核文件

grub>initrd /initrafs-VERSION-RELEASE.img

grub>boot 启动

三、查看配置文件/boot/grub/grub.conf

default=0    设定默认启动菜单项

timeout=5    菜单项等待选项时间为5s

splashimage=(hd0,0)/grub/splash.xpm.gz    指明菜单背景图片路径为

hiddenmenu  隐藏菜单

title CentOS (2.6.32-358.6.1.el6.x86_64)  定义菜单项

root (hd0,0)  grub查找stage2及kernel文件所在设备分区,grub的根

kernel /vmlinuz-2.6.32-358.6.1.el6.x86_64 ro root=/dev/vg_have/lv_root rd_NO_LUKS LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 crashkernel=auto rhgb quiet      启动的内核

initrd /initramfs-2.6.32-358.6.1.el6.x86_64.img      内核匹配的ramfs文件

0b1331709591d260c1c78e86d0c51c18.png