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

相关推荐

  • inotify介绍及rsync + inotify 实时同步备份

    1、前言 rsync (remote sync)是一款非常好的数据同步工具,能够通过对比同步双方的数据变动,实现增量同步,还可以通过LAN/WAN实现远程多台主机间文件的同步,还能结合crond任务计划来执行自动备份,又可以结合ssh实现远程数据备份的安全,种种特性使他看起来相当优秀。但如果需备份数据十分庞大时,它的不足之处就显现出来了,比如每次执…

    Linux干货 2016-06-15
  • bash脚本编程之算术运算和文件查找

    算数运算在每个编程语言里面是最基本的功能,在bash里面也是.相对于其他编程语言来说在bash里面不能直接以变量加上变量的形式来表现;比如我们先声明两个变量num1和num2然后再做运算。 num1=2 num2=3 echo "$num1+$num2" 2+3 这里我们显示的结果直接为2+3只是做了变量的替换,而不是做两个变量…

    Linux干货 2016-12-23
  • 马哥教育网络班21期+第二周课程练习

    Linux上的文件管理类命令都有哪些?其常用的方法及其相关示例。     cp:将源文件或者目录复制到目标文件或者目录中。     mv:将文件或目录重新命名,或者将源文件从源目录移到目标目录中。     rm:删除指定的一个文件或者多个文件或者目录。       &n…

    Linux干货 2016-07-16
  • 马哥教育网络班21期+第7周课程练习

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@centos ~]# mke2fs -t ext4 -b 2048 -m 2&…

    Linux干货 2016-08-01
  • history

    history命令详解

    Linux干货 2018-02-28
  • 马哥教育网络班19期第二周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cd:切换目录命令实例  cd [dirctory] 切换目录  cd .. 返回上一级目录  cd –  来回切换  cd ~  切换到家目…

    Linux干货 2016-06-19