简述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

功用######

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

  1. 提供菜单、并提供交互式接口
    • e:编辑模式、用于编辑菜单
    • c:命令模式、交互式接口
  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开始,一直到最后一个扩展分区。

grub命令行接口######
  • help:获取帮助列表
  • help KEYWORD:详细帮助信息
  • find (hd#,#)/PATH/TO/SOMEFILE:查找
  • kernel /PATH/TO/KERNEL_FILE:设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用的cmdline参数
  • initrd /PATH/TO/INITRAMFS_FILE:设定为选定的内核提供额外文件的ramdisk
    boot:引导启动选定的内核

手动在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文件
posted on 2018-02-08 16:59  美丽de世界  阅读(1078)  评论(0编辑  收藏  举报