Linux启动之GRUB详解

GRUB

在BIOS读取先关信息之后,接下来就是去第一个可以启动的设备当中的MBR中读取Boot loader信息,bootloader具有菜单功能、直接加载内核信息,以及相关控制权限转交功能。所以说系统的启动必须有bootloader,然后才能去加载内核
grub:GRand Unified Bootloader
    grub 0.x:grub legacy
    grub 1.x:grub2

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)为菜单提供了保护机制
                为编辑菜单进行认证
                为启动内核或操作系统进行认证

    grub最重要的一部当属识别磁盘信息,grub对硬盘的识别是通过以下方式:
    (hd0,0)
        1.硬盘代号以小括号()括起来
        2.硬盘以hd表示,后面会接一组数字,数字之间以逗号隔开
        3.是以搜寻到的顺序来作为磁盘的编号,而非根据磁盘的排揎编号
        4.第一个搜索到的磁盘编号为0,第二个为1,以此类推
        5.每块磁盘上的第一个分区编号为0,第二个分区为1,以此类推
        因此(hd0,0),就表示第一块磁盘上的第一个分区

配置文件格式

全局配置配置项:
    default=#:设定默认启动的菜单项,0表示定义的第一个title系统,1表示第二个title系统,以此类推
    timeout=#:表示可供选择的等待时间,如果超过5秒,则使用默认的启动条目default定义的
    splashimage=(hd0,0)/grub/splash.xpm.gz
        定义启动时的背景图片
    hiddenmenu:隐藏菜单,默认不显示菜单

~Y`2Q@_SAH%U~Y($7WLW$FF.png

定义各个操作系统配置

title:定义各个操作系统的名称
root (hd#,#):表示内核文件存放的位置,这里指定的是分区位置,而非根目录
kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:内核的名称以及一些启动时的核心参数。由于启动过程中需要挂载根目录,因此就需要指定根目录所在的分区
    rhgb:图形显示
    quiet:静默模式加载内核
    selinux:开启或关闭selinux
    single:单用户模式
    ...
initrd /PATH/TO/INITRAMFS_FILE:ramfs文件路径

YBBIA)[1I0)EA%A[@85X_C0.png

GRUB命令行

help:获取帮助列表
help KEYWORD:详细帮助信息
find(hd#,#)/PATH/TO/SOMEFILE:查找文件
root (hd#,#):指定根分区
kernel /PATH/TO/KERNEL_FILE:设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用的cmdline参数
    例如:init=/path/to/init, selinux=0
initrd /PATH/TO/INITRAMFS_FILE: 设定为选定的内核提供额外文件的ramdisk
boot:引导启动选定的内核

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

grub> root (hd0,0)
grub> kernel /vmlinuz-VERSION-release ro root=/dev/DEVICE
grub> initrd /initramfs-VERSION-release.img
grub> boot

@HT7V5L2PXN[4Z5S~_87YP0.png

进入单用户模式

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

NXS2@%_E]LK2HJ1LPCA6%AF.png

(2)在选定的kernel后附加:1,s,S或single都可以

]W]ZN@FY{RPG0T`{}W3Z26J.png

(3)在kernel所在行键入"b"命令即可进入单用户模式

3DE]JRH~MI)E%%`N)1AR[$R.png

加密机制

GRUB也有自己的保护机制,只有通过认证才能修改grub.conf信息。可以通过以下方式来对grub.conf进行保护:
    1.在第一个title之上添加password --md5 ************ 主要用于保护编辑功能
    2.在某个title内添加password --md5 *********** 主要用户保护内核
生成密码的命令:grub-md5-crypt

编辑功能认证

1.提示按p键输入密码才可编辑菜单

1_T5MTXGE}@LUZTP$9ZG((4.png

2.输入密码即可编辑菜单

KCC%S8N7U}X44]DGP{R]9~F.png

内核启动认证

1.当我们选择要启动内核时,提示输入密码

V95IQ}4]]V2O1KO0~IU0BFH.png

2.输入密码,即可正常启动系统

_JY%[%MMNO5NHWYZDI~7TLR.png

修复GRUB

如果grub出现了问题导致我们系统无法系统,可进入救援模式进行修复
修复工具:
    方法一:grub-install /dev/DISK
            grub-install --root-directory=ROOT /dev/DISK
    方法二:grub
                grub> root (hd0,0)
                grub> setup (hd0)
                
    如果grub出现了问题,此时我们系统没有重启,则可直接使用修复工具修复

$B9Z4~]D3KO$HFHVNCD09UY.png

XZ%)~9OTOK3SC`@}$~U_WDN.png

{C}7Z1Q3)]7SXDMZB}}I5S2.png

HX{T0G(7{7(BF$6D}Z}0Q7K.png

$O`K06PB2ZU_MQP6@DT57[E.png

1{EM~[]2]I3R$)N1YJ]JR0S.png

WH1MTQN3{FNTK[TY3UGR(ZF.png

LR~AB}G5Z4SLXY]E%ZVLSUP.png

8(YZV9S{]GV)IV_RQM0{B[C.png

0AX9]TL$3WM$DXYL6U[BUQ3.png

S0JK)EM~~DF{9G9}_EX6T~W.png

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

赞 (0)
zhai796898zhai796898
上一篇 2016-09-15 16:08
下一篇 2016-09-15 18:10

相关推荐

  • linux文本查找工具之locate、find

       linux文本查找工具之locate、find    一、文件查找分为两类:               1、非实时查找:locate   &n…

    Linux干货 2017-04-08
  • 第五周博客作业

      感觉进入了年底,明显的时间不够,不管怎么说,还是要努力跟上学习的进度,不能给自己松懈找借口!  1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep "^[[:space:]]\+" /boot/grub/grub.co…

    Linux干货 2017-01-03
  • 计算机及Linux系统基础简介

    一、计算机的组成及其功能 计算机由运算器,控制器,存储器,输入装置和输出装置五大部件组成计算机,每一部件分别按要求执行特定的基本功能。 运算器或称算术逻辑单元(Arithmetical and Logical Unit) 运算器的主要功能是对数据进行各种运算。这些运算除了常规的加、减、乘、除等基本的算术运算之外,还包括能进行“逻辑判断”的逻辑处理能力,即“与…

    Linux干货 2017-07-02
  • Linux网络管理之路由和team网络组

    如何实现把linux当路由器来使用,实现不同网段之间的通信访问,这就是今天所要实现的路由配置   环境准备:4台虚拟机,两台中间两台作为路由器来使用(每天主机两块网卡),其他两台作为终端主机,目的是让不同网段的两台主机之间互相访问(这里在vmware里面做的实验,所以网卡的类型都设置为桥接)   拓扑图:   步骤一:将A、D两…

    系统运维 2016-09-10
  • linux软链接与硬链接的区别

    硬链接:相于当给文件增加了一个新名 在添加链接时会增加链接数,其inode结点数不会增加 支持绝对路径与相对路径 硬链接不能对目录来创建 不能跨分区来创建链接 硬链接链接到文件被删除时,依旧可以通过链接文件来访问被删文件的数据 软链接:可以支持对目录来创建链接 (注,当你用rm -rf 删除目录的时候,目录不会删除,但目录中的内容会被删除,并且会删除源文件)…

    Linux干货 2013-07-15
  • N27—第十周作业

    N27_第十周作业 1、请详细描述Centos系统的启动流程(详细到每个过程系统做了哪些事情) 详情请参考http://www.178linux.com/85713 2、为运行于虚拟机上的Centos 6添加一块新的硬盘,提供两个主分区; (1)为硬盘新建两个主分区;并为其安装grub (2)为硬盘的第一个主分区提供内核和ramdisk文件;为第二个分区提供…

    Linux干货 2017-10-21