GRUB应用

GRUB(boot loader):

    grub:GRand Unified Bootloader

                grub 0.x:grub legacy(centos 5、6)

                grub 1.x:grub 2(centos 7)

     grub legacy:

        stage1:mbr,主引导分区

        stage1_5:mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统

        stage2:磁盘分区(/boot/grub/)

        配置文件:/boot/grub/grub.conf,其连接文件为/etc/grub.conf

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

                功能:

                    (1)提供一个菜单,并且提供交互式命令接口;

                            e:编辑模式,用于编辑菜单;

                            c:命令模式,交互式接口;  

                    (2) 加载用户选择的内核或者操作系统

                            允许传递参数给内核;

                            可隐藏此菜单;

                    (3)为菜单提供了保护机制

                            为编辑菜单进行认证;

                            为启用内核或者操作系统进行认证;

            如何识别设备:

                (hd#,#):第一个数字表示第几块磁盘(从0开始编号),第二个数字表示第几个分区(从0开始编号)

        grub的命令行接口:

            help:获取帮助列表;

            help KEYWORD:关于该keyword的详细帮助信息;

                注意:grub的根设备并不是文件系统所在的设备,而是stage2文件所在的设备。

            find (hd#,#)/filename:查找某一磁盘上的某一文件

                wKiom1YKVyrjNI1XAAAwcLfRjCQ517.jpg               spacer.gif

            root (hd#,#):设定谁为根设备文件;为grub的根。

            kernel /PATH/TO/KERNEL_FILE: 设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用的cmdline参数;

                    例如:init=/path/to/init, selinux=0,quiet

            initrd /PATH/TO/INITRAMFS_FILE: 设定为选定的内核提供额外文件的ramdisk;其版本号必须与内核版本号完完全全一致才可以;

                boot: 引导启动选定的内核;

        手动在grub命令行接口启动系统:

grub> root (hd#,#)
grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE 
grub> initrd /initramfs-VERSION-RELEASE.img  
grub> boot

        配置文件:/boot/grub/grub.conf

            配置项:

                default=#: 设定默认启动的菜单项;落单项(title)编号从0开始;

                timeout=#:指定菜单项等待选项选择的时长;

                splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜单背景图片文件路径;

                hiddenmenu:隐藏菜单;

                password [--md5] STRING: 菜单编辑认证;

                title TITLE:定义菜单项“标题”, 可出现多次;

                    root (hd#,#):grub查找stage2及kernel文件所在设备分区;为grub的“根”; 

                    kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核

                    initrd /PATH/TO/INITRAMFS_FILE: 内核匹配的ramfs文件;

                    password [--md5] STRING: 启动选定的内核或操作系统时进行认证;

        密码串的生成:

            grub-md5-crypt命令

        进入单用户模式:

            (1)编辑grub菜单(选定要编辑的title,而后使用e命令);

            (2)在选定的kernel后附加1、s、S或者single都可以;要点回车键       

            (3)在kernel所在行,键入”b“命令;

        安装grub:

            第一种方法:使用grub-install进行安装;

                首先在/mnt/目录下创建一个boot目录。   

[root@localhost ~]# mkdir /mnt/boot

                然后将设备挂载至/mnt/boot/目录,使用grub-install进行grub的创建。

[root@localhost ~]# grub-install --root-directory=/mnt /dev/sdb

                --root-directory指明了grub所在的根目录。由于系统会自动去找boot目录,所以只要写到boot目录的父目录即可。后面跟的为磁盘设备,而非磁盘分区
        注意:此种方法并不需要在事先存在grub目录,此命令会自动帮助你创建grub的各个阶段的文件,但是不会创建grub.conf该配置文件。

            第二种方法:采用grub命令行的方式进行grub的修复。

                第一步:进入grub命令行。         

[root@localhost ~]# grub

                第二步:在命令行中修复grub。

grub> root (hd0,0)  #指明grub所在的根设备
root (hd0,0)
 Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0,0)  #指明要安装的磁盘

                注意:此种方法需要事先存在grub目录,而且grub目录下的文件都必须存在,否则,无法安装成功。    

            第三种方法:使用救援模式进行grub的修复。

                前提:有系统光盘,并且已连接。 

                第一步: 如果grub损坏,则会在重启系统出现如下界面,选择第三项,Rescue installed system。     

                    wKiom1YKVz6AnpbtAAB_A5fUBpI849.jpg         

                第二步:选择相对应的语言和键盘类型,使用默认的就可以。

                第三步:是否要开启网络功能,如果要联网进行修复,则打开;反之,不用打开。

                    wKiom1YKV0qz7dlsAABcyUMUYdE461.jpg          

                第四步:可能与第三步之间省略了一部分,点OK即可。在这一步,选择continue。

                    wKioL1YKV2HwKy__AAIKOJ-pufg916.jpg       

                第五步:与第四步之间也有省略,选OK即可。在此步骤,选择第一项,点OK。

                    wKioL1YKV4jwfCi9AABdpb45ik4100.jpg   

                第六步:在出现的bash命令行中如下所示,进行每一步的操作。

chroot /mnt/sysimage/    #切换根目录
grub-install --root-directory=/ /dev/sda    #使用grub-install命令进行grub的修复
exit      #退出到当前目录
reboot    #重启即可


              



                        

              

                        

                        

                                

                                        

                

                        



你可能感兴趣的:(grub)