GRUB配置及应用
一、什么是GRUB?
GRUB是GRand Unified Bootloader的缩写,它是一个多重操作系统启动管理器,安装在MBR中。
二、GRUB运行流程
Stage1:启动位于MBR中boot loader的主程序。
Stage1_5:让boot loader能够是识别位于MBR之后扇区Stage2所在分区上的文件系统。
Stage2:加载所有配置档与相关的环境参数文件 (包括文件系统定义与主要配置档 menu.lst), 一般来说,配置档都在 /boot/grub。
三、GRUB功能
1) 提供菜单,并提供交互式接口
e:编辑模式,用于编辑菜单
c:命令模式,交互式接口
2) 加载用户选择的内核或操作系统
允许传递参数给内核
可隐藏此菜单
3) 为菜单提供保护机制
为编辑菜单进行认证
为启用内核或操作系统进行认证
四、GRUB如何识别设备
(hd#,#):
hd#:磁盘编号,用数字表示,从0开始编号
#:分区编号,用数字表示,从0开始编号
五、GRUB命令行接口
help: 获取帮助列表
help KEYWORD: 详细帮助信息
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: 引导启动选定的内核;
1)手动在grub命令行接口启动系统:
grub> root (hd#,#)
grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
grub> initrd /initramfs-VERSION-RELEASE.img
grub> boot
2)配置文件:/boot/grub/grub.conf
grub-md5-crypt命令:设置加密码
3)进入单用户模式:
(1) 编辑grub菜单(选定要编辑的title,而后使用e命令);
(2) 在选定的kernel后附加1, s, S或single都可以;
(3) 在kernel所在行,键入“b”命令;
4)安装grub:
(1)grub-install
grub-install --root-directory=ROOT /dev/DISK
(2)grub
grub> root (hd#,#)
grub> setup (hd#)
六、练习:
1.新加硬盘,提供直接单独运行bash系统;
1)硬盘分三个区/sdb1、/sdb2、/sdb3、并格式化分区(/sdb3创建swap分区),挂载/sdb1至/mnt/boot、/sdb2至/mnt/sysroot下。
创建/mnt/boot、/mnt/sysroot及其子目录(/bin、/lib64…等)
2)在/boot所在分区安装grub,并复制内核及对应RamDisk到/boot目录下,编写grub配置文件。
3)复制/bin/bash到/sysroot/bin下,随后复制相关库文件到对应目录。
4)关闭系统,新建一个虚拟机加载该磁盘
2.破坏本机grub stage1,而后在救援模式下修复之;
1)破坏本机grub
2)挂载镜像盘开机
3)切换到原系统根目录
4)重新安装grub
3.为grub设置保护功能;
1)使用grub-md5-crypt命令生成密码信息。
2)在/boot/grbu/grub.conf中添加一行“password --md5 密码串”,保存退出。
3)开机进入grub后按p输入设置好的密码进入grub