GRUB Legacy

GRBU,GRand Unified Bootloader , 是一个通用启动引导程序支持windows/Linux/UNIX.

 

工作过程:

stage 1      ,存放在硬盘的MBR,MBR的大小限制(446Byte),提供的功能有限,所以GRUB对其进行了扩展,此阶段用于加载stage2的程序.

stage 2      ,存放在硬盘中的/boot/grub/ 目录.

stage 1.5  ,stage1要加载 stage2 ,就需要识别硬盘,要有硬盘驱动,所以stage1.5的作用就是提供所需要的驱动程序,并紧接MBR之后.

 

 

设备识别问题:

GRUB程序需要知道kernel ramdisk文件的位置,才能正常引导,grub安装在/boot,/boot目录可以单独分区,也可以不单独分区作为的一个目录,不同的分区方式,Grub访问kernelrramdisk的方式入口不同.

/boot目录单独,那么对于GRUB程序而言, /boot目录就是GRUB的根,访问kernelramdisk文件的路径为:  /linuz.img   /ramdisk

/boot目录不单独分区,作为的一个目录,那么GRUB程序访问 kernel ramdisk的文件路径为:  /boot/linuz.img  /boot/ramdisk

 

 

 

 

 

 

Grub命令接口

grub 程序提供命令接口,可供用户根据需要选择启动的kernel.

root (hd#,#)  //指定GRUB的根设备,boot目录存放的设备,(hd0,0)表示为第一个硬盘设备,第一个分区 (GRUB Legacy 编号从0开始, GRUB21开始)

kernel    //指定Kernel文件的位置与Kernel参数,常见的Kernel参数,init=/~ ,selinux=0

initrd    //指定ramdisk文件的位置

boot    //根据设定参数值,尝试启动系统

find  (hd#,#) file_name  //表示在指定设备上查找文件

 

 

GRUB的配置文件解析:

[root@EL6 linux]# grep -Ev "^#" /boot/grub/grub.conf  

default=0                                        #默认的启动项

timeout=5                                       #隐藏菜单,5秒没操作启动默认项

splashimage=(hd0,0)/grub/splash.xpm.gz     #Grub的背景菜单

hiddenmenu                 #隐藏操作菜单  

password  [--md5]  string                           #编辑GRUB菜单密码  

 

title CentOS (3.2.101-Hurn_TestingKernel)      #标题

        root (hd0,0)

        kernel /vmlinuz-3.2.101-Hurn_TestingKernel ro root=UUID=e6794649-888e-40cf-885c-59771a3e4008 

        initrd /initramfs-3.2.101-Hurn_TestingKernel.img

   password  [--md5]  string              #加载内核的密码

 

title CentOS (2.6.32-431.el6.x86_64)

        root (hd0,0)

        kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=e6794649-888e-40cf-885c-59771a3e4008 

        initrd /initramfs-2.6.32-431.el6.x86_64.img

(注:password密码,明文直接指定即可,密文使用md5加密,grub-md5-crypt 命令即可)

 

GRUB安装

如果GRUB程序被破坏,则需要重新安装GRUB

1) grub-install --root-directory=[grub安装的位置]   /dev/device [GRUB安装的设备位置]

2) 在系统中进入grub交互式界面:   输入grub命令,回车

root (hd#,#)

setup (hd#,#)

如果安装双操作系统,先装Linux后装WINDOWS,GRUB就会被windows破坏,此时用光盘应到启动安装GRUB即可.

如果GRUB被破坏,系统又重启了,这时就需要加载光盘进入紧急救援模式了.

方式为光盘启动->选择 rescue” ->输入”linux rescue”命令