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
下一篇 2016-09-15

相关推荐

  • 自制linux系统

    自制linux系统  需要为虚拟机新增一个硬盘,作为自制linux系统的载体。也可以用U盘、移动硬盘或其他设备作为载体实验步骤: (1)为虚拟机新增一个大小为20G的硬盘(2)给新增的磁盘分区,划分/boot、swap、/三个分区比如,将第一个分区当作boot,大小为500M;第二个分区当作swap分区,大小为2G;第三个分区用作/,大小为10G。…

    Linux干货 2016-09-13
  • RAID配置管理

    RAID:Redundant Arrays Indexpensive Disks     多个磁盘组合成一个阵列,来提供更好的性能、冗余     提高IO功能:         磁盘并行读写 &nbs…

    Linux干货 2016-09-01
  • 8.2日作业

    8.2作业 1、在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。   先将文件目录的属组变更为g1 ,chmod  g+s /data/testdir/    …

    Linux干货 2016-08-08
  • linux命令格式及基础命令

    linux命令格式及基础命令介绍 命令格式 command [options] [arguments] * command:命令 * options: –单词 或 -单字 * argument:参数(档案名称或其他) 基础命令介绍 ifconfig 用于显示或设置网络设备 语法 ifconfig [网络设备][down up -allmulti -arp …

    Linux干货 2017-12-03
  • 第一周

       注意:请同学们不要参考我这个,怕误导,谢谢 A.计算机组成及其功能     1.计算机的组成分:硬件和软件         硬件:CPU,存储设备(内存,硬盘),输入输出设备(键盘,显示器,鼠标)  &n…

    Linux干货 2016-12-31
  • 105-MHA

    一.MHA简介 1.1.简介         MHA(Master HA ) 是一款开源的 MySQL高可用程序,它为MYSQL 主从复制架构提供了automating master failover 主节点自动迁移功能.MHA在监控到master节点故障时候,会自动提升拥有的数据最近进于主节点的其他从节点为主节点,

    2016-11-27