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

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

进入单用户模式
(1)编辑grub菜单(选定要编辑的title,而后使用e命令)
![1473930628878324.png NXS2@%_E]LK2HJ1LPCA6%AF.png](http://www.178linux.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
(2)在选定的kernel后附加:1,s,S或single都可以
![1473930683246543.png ]W]ZN@FY{RPG0T`{}W3Z26J.png](http://www.178linux.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
(3)在kernel所在行键入"b"命令即可进入单用户模式
![1473930749232681.png 3DE]JRH~MI)E%%`N)1AR[$R.png](http://www.178linux.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
加密机制
GRUB也有自己的保护机制,只有通过认证才能修改grub.conf信息。可以通过以下方式来对grub.conf进行保护: 1.在第一个title之上添加password --md5 ************ 主要用于保护编辑功能 2.在某个title内添加password --md5 *********** 主要用户保护内核 生成密码的命令:grub-md5-crypt
编辑功能认证
1.提示按p键输入密码才可编辑菜单

2.输入密码即可编辑菜单
![1473931207186617.png KCC%S8N7U}X44]DGP{R]9~F.png](http://www.178linux.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
内核启动认证
1.当我们选择要启动内核时,提示输入密码
![1473931306192125.png V95IQ}4]]V2O1KO0~IU0BFH.png](http://www.178linux.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
2.输入密码,即可正常启动系统

修复GRUB
如果grub出现了问题导致我们系统无法系统,可进入救援模式进行修复 修复工具: 方法一:grub-install /dev/DISK grub-install --root-directory=ROOT /dev/DISK 方法二:grub grub> root (hd0,0) grub> setup (hd0) 如果grub出现了问题,此时我们系统没有重启,则可直接使用修复工具修复
![1473931593758759.png $B9Z4~]D3KO$HFHVNCD09UY.png](http://www.178linux.com/wp-content/themes/justnews/themer/assets/images/lazy.png)

![1473931745109996.png {C}7Z1Q3)]7SXDMZB}}I5S2.png](http://www.178linux.com/wp-content/themes/justnews/themer/assets/images/lazy.png)


![1473931878724237.png 1{EM~[]2]I3R$)N1YJ]JR0S.png](http://www.178linux.com/wp-content/themes/justnews/themer/assets/images/lazy.png)

![1473931971964094.png LR~AB}G5Z4SLXY]E%ZVLSUP.png](http://www.178linux.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
![1473932006543380.png 8(YZV9S{]GV)IV_RQM0{B[C.png](http://www.178linux.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
![1473932354426759.png 0AX9]TL$3WM$DXYL6U[BUQ3.png](http://www.178linux.com/wp-content/themes/justnews/themer/assets/images/lazy.png)

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

