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命令)
(2)在选定的kernel后附加:1,s,S或single都可以
(3)在kernel所在行键入"b"命令即可进入单用户模式
加密机制
GRUB也有自己的保护机制,只有通过认证才能修改grub.conf信息。可以通过以下方式来对grub.conf进行保护: 1.在第一个title之上添加password --md5 ************ 主要用于保护编辑功能 2.在某个title内添加password --md5 *********** 主要用户保护内核 生成密码的命令:grub-md5-crypt
编辑功能认证
1.提示按p键输入密码才可编辑菜单
2.输入密码即可编辑菜单
内核启动认证
1.当我们选择要启动内核时,提示输入密码
2.输入密码,即可正常启动系统
修复GRUB
如果grub出现了问题导致我们系统无法系统,可进入救援模式进行修复 修复工具: 方法一:grub-install /dev/DISK grub-install --root-directory=ROOT /dev/DISK 方法二:grub grub> root (hd0,0) grub> setup (hd0) 如果grub出现了问题,此时我们系统没有重启,则可直接使用修复工具修复
原创文章,作者:zhai796898,如若转载,请注明出处:http://www.178linux.com/46674