首页 > 代码库 > linux下grub相关知识详解

linux下grub相关知识详解

一.grub相关知识详解

    (1)grub:GRand Unified Bootloader

                grub 0.x :grub legacy

                grub 1.x : grub2

                grub legacy:

                    stage1:mbr的bootloader阶段

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

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

                配置文件:/etc/grub.conf-->/boot/grub/grub.conf

                stage2阶段经常放置于一个独立的分区

    (2)功用

            <1>提供启动菜单、并提供交互式接口

                    a:内核参数

                    c:命令模式,交互式借口

                    e:编辑模式,用来编辑菜单

            <2>加载用户选择的内核或操作系统

                    允许传递参数给内核

                    可隐藏启动菜单

            <3>为菜单提供保护机制

                    为编辑启动菜单提供保护机制

                    为启用内核或操作系统提供保护机制

    (3)grub的命令行接口

                help:获取帮助列表

                help KEYWORD:获取帮助信息

                find (hd#,#)/PATH/TO/SOMEFILE:

                root (hd#,#)

                kernel /PATH/TO/KERNEL_FILE:设定本次启动时用到的内核文件;额外还可添加许多内核支持的cmdline参数。如:max_loop=100,selinux=0,init=/path/to/init

                initrd/PATH/TO/INITRAMFS_FILE: 设定为选定的内核提供额外文件的ramdisk;

                boot: 引导启动选定的内核

    (4)cat /proc/cmdline查看内核参数

                内核参数文档:/usr/share/doc/kernel-doc-2.6.32/Documentation/kernel-parameters.txt

                需要安装kernel-doc支持

    (5)识别硬盘文件

            (hd#,#)

                  hd#:磁盘编号,从0开始

                  #:分区编号,从0开始

    (6)安装grub

            <1> grub-install

                安装grub stage1和stage1_5到/dev/DISK磁盘上,并复制GRUB相关文件到DIR/boot目录下(此时是stage2的部分阶段,是/boot/grub下的所有文件(除了/boot/grub/grub.conf文件))

                grub-install --root-directory=DIR /dev/DISK

            <2> grub(依赖/boot/grub/下的stage类文件)

                    grub> root (hd#,#)

                    grub> setup (hd#)

    (7)grub配置文件详解

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

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

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

                splashimage=(hd#,#)/PATH/TO/XPM_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: 启动选定的内核或操作系统时进行认证

    (8)grub-md5-crypt加密密码


本文出自 “hello” 博客,请务必保留此出处http://tianzhi.blog.51cto.com/11880607/1853721

linux下grub相关知识详解