grub启动

grub: GRandUnified Bootloader(统一的引导模式分为3个阶段)

    grub 0.97: grub legacy
    grub 2.x: grub2



grub legacy:

    stage1: mbr
    stage1_5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统
    stage2:磁盘分区(/boot/grub/)

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

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

 功用: (1) 提供启动菜单、并提供交互式接口 a:内核参数 e: 编辑模式,用于编辑菜单 c: 命令模式,交互式接口 (2) 加载用户选择的内核或操作系统 允许传递参数给内核 可隐藏启动菜单 (3) 为菜单提供了保护机制 为编辑启动菜单进行认证 为启用内核或操作系统进行认证

如何识别硬盘设备
        (hd#,#)
            hd#: 磁盘编号,用数字表示;从0开始编号
            #: 分区编号,用数字表示; 从0开始编号

            (hd0,0) 第一块硬盘,第一个分区        

grub的命令行接口
    help: 获取帮助列表
    help KEYWORD: 详细帮助信息
    find (hd#,#)/PATH/TO/SOMEFILE:
    root (hd#,#)

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

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

    boot: 引导启动选定的内核



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

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


 grub legacy配置文件

         配置文件:/boot/grub/grub.conf
            default=#: 设定默认启动的菜单项;落单项(title)编号从0开始
            timeout=#:指定菜单项等待选项选择的时长
            splashimage=(hd#,#)/PATH/XPM_FILE:菜单背景图片文件路径
            hiddenmenu:隐藏菜单
            password [--md5] STRING: 启动菜单编辑认证

            title TITLE:定义菜单项“标题”, 可出现多次
                root (hd#,#):查找stage2及kernel文件所在设备分区;为grub的根
                kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核
                initrd/PATH/TO/INITRAMFS_FILE: 内核匹配的ramfs文件
                password [--md5|--encrypted ] STRING: 启动选定的内核或操作系统时进行认证

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


            生成grub口令

                grub-md5-crypt
                grub-crypt



    破解root口令:

            启动系统时,设置其运行级别1

                进入单用户模式:
                    (1) 编辑grub菜单(选定要编辑的title,而后使用e命令)
                    (2) 在选定的kernel后附加1, s, S或single都可以
                    (3) 在kernel所在行,键入“b”命令



            安装grub:

                (1) grub-install
                        安装grub stage1和stage1_5到/dev/DISK磁盘上,并复制GRUB相关文件到DIR/boot目录下
                        grub-install --root-directory=DIR /dev/DISK

                (2) grub【安装时依赖grub下的配置文件】
                        grub> root (hd#,#)
                        grub> setup (hd#)

原创文章,作者:GYF,如若转载,请注明出处:http://www.178linux.com/75883

(0)
GYFGYF
上一篇 2017-05-15 22:28
下一篇 2017-05-15 23:17

相关推荐

  • 第七周小练习

    1.创建一个10G分区,并格式为ext4文件系统 (1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl (2)挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳 fdisk /dev/sdb n p 1 +10G w mke2fs -t&nbs…

    Linux干货 2017-01-05
  • Linux网络配置基础二(网络模块与nmcli命令)

    Linux网络配置基础二 相关命令 lsmod命令 lsmod命令用于显示已经加载到内核中的模块的状态信息。执行lsmod命令后会列出所有已载入系统的模块。Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放入核心。您可以将这些功能编译成一个个单独的模块,待需要时再分别载入。第一列:表示模块的名称第二列:表示模块的大小第三列:表示…

    Linux干货 2016-09-09
  • linux文本编辑器,vim编辑器

    定义:文本(纯文本信息,必须是不加任何修饰的文本信息)编辑器 文本编辑器种类:                 行文本编辑器 :sed       &…

    Linux干货 2016-08-10
  • shell通配符与正则表达式

        通配符是系统level的 而正则表达式需要相关工具的支持: egrep, awk, vi, perl。在文本过滤工具里,都是用正则表达式,比如像awk,sed等,是针对文件的内容的。通配符多用在文件名上,比如查找find,ls,cp,等等。 1.通配符       (1)…

    Linux干货 2016-02-28
  • 第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell; 答:#egrp ‘^(root|fedora|user1)’ /etc/passwd | cut -f1,7 -d: 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); 答:#egrp -o &…

    Linux干货 2017-02-25
  • 14 用户组和权限管理4

    14 用户组和权限管理4 一、杂项知识整理 1、groups 查看用户所属组列表 [user1@localhost ~]$ groups user3 user1 2、文件属性:-rw-r–r–. 1 root root 0 8月   3 07:56 cgroup.clone_children &…

    Linux干货 2016-08-04