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

相关推荐

  • Linux基础知识(一)-linux哲学思想,基础命令,FHS

    1.描述计算机的组成及其功能 2.按系列罗列Linux 的发行版,并描述不通发行版之间的联系和区别. 3.描述Linux的哲学思想,并按照自己的理解对其进行解释 4.说明Linux系统命令的使用格式,详细介绍ifconfig,echo,tty,startx,export.pwd,history,shutdown,poweroff,reboot,hwclock…

    Linux干货 2016-09-22
  • 系统基础之文件管理grep练习题

    1、显示/proc/meminfo文件中以大小s开头的行; (要求:使用三种方式) [root@wen-7 ~]# grep -i "^s" /proc/meminfo  SwapCached:       &…

    Linux干货 2016-08-07
  • ssh 笔记

    ssh

    Linux干货 2018-01-08
  • Linux系统shell脚本

                                          &n…

    系统运维 2016-09-01
  • 数据结构-线性表

    1. 线性表:n个数据元素的有序集合。 线性表是一种常用的数据结构。在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。由于这些特殊线性表都具有各自的特性,因此,掌握这些特殊线性表的特性,对于数据运算的可靠性和提高操作效率都是至关重要的。  线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点…

    Linux干货 2015-04-07
  • 那些年我们一起追过的缓存写法(三)

    原文出处: 蘑菇先生    上次我们说了多级缓存,本章详细介绍下内存缓存该如何设计。 一:分析设计 假设有个项目有一定并发量,要用到多级缓存,如下: 在实际设计一个内存缓存前,我们需要考虑的问题: 1:内存与Redis的数据置换,尽可能在内存中提高数据命中率,减少下一级的压力。 2:内存容量的限制,需要控制缓存数量。 3:热点数…

    Linux干货 2015-03-04