GRUB

        grub是一个引导程序,功能强大。目前的机械式硬盘都有一个特殊的扇区,称之为MBR(master boot record),大小为512byte。在这512byte中,有64byte是给gpt(guid patition table),boot loader也只能占446byte。由于受限于boot loaderr 的大小,所以grub采用了非常精巧的设计,将引导分为stage1和stage2两个阶段进行。stage1位于MBR(446byte)中,主要功能是加载stage2;stage2位于/boot/grub/目录中,这样就可以利用stage2去引导加载系统,摆脱了MBR(446byte)的限制。
        Stage 1:运行 boot loader 主程序:
                    这个主程序必须要被安装在启动区(MBR 或者是 boot sector) ,通常仅安装 boot loader 的最小主程序, 并没有安装 loader 的相关配置文件;
        Stage 2:主程序加载配置文件:
                    透过 boot loader 加载所有配置档与相关的环境参数文件 (包括文件系统定义与主要配置文件 menu.lst), 一般来说,配置文件都在 /boot 底下。
 
硬盘与分区在 grub 中的代号
                        eg: (hd0,0)
            1. 硬盘代号以小括号 ( ) 包起来;
            2. 硬盘以 hd 表示,后面会接一组数字;
            3. 以[搜寻顺序]做为硬盘的编号,而不是依照硬盘排线的排序;
            4. 第一个搜寻到的硬盘为 0 号,第二个为 1 号,以此类推;
            5. 每颗硬盘的第一个 partition 代号为 0 ,依次类推。
grub的配置文件:/boot/grub/grub.conf                        
          grub的配置文件(grub.conf)是在安装系统的时候生成的,并不是安装完grub后生成的。其具体内容如下:
图像
 
还可以直接指定 partition 与档名,不需要额外指定核心文件所在装置代号
                kernel  (hd0,0)/vmlinuz-2.6.18-92.el5 ro root=/dev/vol0/root   rhgb  quiet
                initrd  (hd0,0)/initrd-2.6.18-92.el5.img
安装grub的两种方法:
1.在grub的命令模式下安装
           这种方式只会安装stage1中的文件,而不会建立配置文件,即:只安装MBR中446字节的内容。当然对于stage2的内容,可以通过复制/usr/share/grub/目录中的文件得到,即:将/usr/share/grub/目录中的文件复制到/boot/grub/下即可。具体安装步骤如下:
图像 
2. grub-install                
           拷贝grub镜象文件到DIR/boot目录中(可以通过参数--root-directory指定目录),并用grub shell安装grub到MBR中
          
# grub-install   [--root-directory=DIR]    install_DEVICE
            --root-directory=DIR :那个 DIR 为实际的目录,使用 grub-install 默认会将grub 所有的文件都复制到 /boot/grub/* 下,如果想 要复制到其他目录与装置去,就得要用这个参数。
            install_DEVICE :安装的设备代号
#  grub-install  --root-directory=/  /dev/sda
为另一块硬盘(/dev/sdb)安装grub:
                    1.将硬盘分区、格式化
                    2.将内核所在的分区挂载到某目录下:  /mnt/boot
                    3.grub-install  --root-directory=/mnt  /dev/sdb

你可能感兴趣的:(grub)