grub: GRandUnified Bootloader(统一的引导模式分为3个阶段)
grub 0.97: grub legacy grub 2.x: grub2 grub legacy: stage1: mbr stage1_5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统 stage2:磁盘分区(/boot/grub/) 配置文件:/boot/grub/grub.conf<--/etc/grub.conf stage2及内核等通常放置于一个基本磁盘分区
功用: (1) 提供启动菜单、并提供交互式接口 a:内核参数 e: 编辑模式,用于编辑菜单 c: 命令模式,交互式接口 (2) 加载用户选择的内核或操作系统 允许传递参数给内核 可隐藏启动菜单 (3) 为菜单提供了保护机制 为编辑启动菜单进行认证 为启用内核或操作系统进行认证
如何识别硬盘设备 (hd#,#) hd#: 磁盘编号,用数字表示;从0开始编号 #: 分区编号,用数字表示; 从0开始编号 (hd0,0) 第一块硬盘,第一个分区 grub的命令行接口 help: 获取帮助列表 help KEYWORD: 详细帮助信息 find (hd#,#)/PATH/TO/SOMEFILE: root (hd#,#) kernel /PATH/TO/KERNEL_FILE: 设定本次启动时用到的内核文件;额外还可添加许多内核支持使用的cmdline参数 例如:max_loop=100 selinux=0init=/path/to/init initrd/PATH/TO/INITRAMFS_FILE: 设定为选定的内核提供额外文件的ramdisk boot: 引导启动选定的内核 手动在grub命令行接口启动系统 grub> root (hd#,#) grub> kernel /vmlinuz-VERSION-RELEASE roroot=/dev/DEVICE grub> initrd/initramfs-VERSION-RELEASE.img grub> boot grub legacy配置文件 配置文件:/boot/grub/grub.conf default=#: 设定默认启动的菜单项;落单项(title)编号从0开始 timeout=#:指定菜单项等待选项选择的时长 splashimage=(hd#,#)/PATH/XPM_FILE:菜单背景图片文件路径 hiddenmenu:隐藏菜单 password [--md5] STRING: 启动菜单编辑认证 title TITLE:定义菜单项“标题”, 可出现多次 root (hd#,#):查找stage2及kernel文件所在设备分区;为grub的根 kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核 initrd/PATH/TO/INITRAMFS_FILE: 内核匹配的ramfs文件 password [--md5|--encrypted ] STRING: 启动选定的内核或操作系统时进行认证 cat /proc/cmdline 内核参数 内核参数文档:/usr/share/doc/kernel-doc-2.6.32/Documentation/kernel-parameters.txt 生成grub口令 grub-md5-crypt grub-crypt 破解root口令: 启动系统时,设置其运行级别1 进入单用户模式: (1) 编辑grub菜单(选定要编辑的title,而后使用e命令) (2) 在选定的kernel后附加1, s, S或single都可以 (3) 在kernel所在行,键入“b”命令 安装grub: (1) grub-install 安装grub stage1和stage1_5到/dev/DISK磁盘上,并复制GRUB相关文件到DIR/boot目录下 grub-install --root-directory=DIR /dev/DISK (2) grub【安装时依赖grub下的配置文件】 grub> root (hd#,#) grub> setup (hd#)
原创文章,作者:GYF,如若转载,请注明出处:http://www.178linux.com/75883