GRUB(Boot Loader)
GRUB(Boot Loader):
grub:Grand Unified Bootloader
grub 0.x:grub legacy
grub 1.x:grub2
grub legacy:
stage1:mbr
stage1_5:mbr之后的扇区,让stage1中的bootloader能够识别stage2所在分区上的文件系统
stage2:磁盘分区(/boot/grub)
配置文件:/boot/grub/grub.conf <-- /etc/grub.conf
stage2及内核等通常放置于一个基本的磁盘分区:
(1)提供菜单、并提供交互式接口
e:编辑模式,用于编辑菜单
c:命令行模式,交互式接口
(2)加载用户选择的内核或者操作系统
允许传递参数给内核
可隐藏此菜单
(3)为菜单提供了保护机制
为编辑菜单进行认证
为启用内核或操作系统进行认证
如何识别设备:
(hd#,#)
hd#:磁盘编号,#=数字,从0开始编号
#:分区编号,#=数字,从0开始编号
(hd0,0)
grub的命令行接口
help:获取帮助信息
help KEYWORK:信息帮助信息
find (hd#,#)/PATH/TO/SOMEFILE
root (hd#,#)
kernel /PATH/TO/KERNEL_FILE :设定本次启动用到的内核文件,额外可以添加内核支持使用的cmdline参数
示例:init=/path/to/init,selinux=0
initrd /PATH/TO/INITRAMFS_FILE:设定选定内核提供额外文件的ramdisk,必须与内核版本完全相同。
boot引导内核启动
手动在grub命令行接口启动系统:
grub>root (hd#,#)
grub>kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
grub>initrd /initramfs-VERSION-RELEASE.img
grub>boot
grub启动菜单配置文件:/boot/grub/grub.conf
配置项:
default=# 设置默认启动项,第几个
timeout=# 指定菜单超时时间
splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE 菜单背景图片路径
hiddenmenu 隐藏菜单
password [--md5] STRING 菜单编辑认证
title TITLE 菜单项标题内容
root(hd#,#)
kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE [args]
initrd /initramfs-VERSION-RELEASE.img
password [--md5] STRING 启动选定时进行认证
安装grub:
(1)grub-install
grub-install --root-directory=ROOT /dev/DISK
(2)grub
grub>root (hd#,#)
grub>setup (hd#)