grub应用 (Blog 10)

grub1.x 、grub2.x详解

grub (GRand Unifined Bootloader)
统一引导加载器

bootloader的类型
Windows: ntloader
Linux: LILO, GRUB
LILO设计之初,硬盘很小;没有考虑到1024柱面之后,磁盘不能识别;
GRUB:用一个精巧的设计,将GRUB程序放在bootloader中,实现诸多功能的配置在一个单独的分区之上;
grub 0.x: grub leagcy (CentOS 5,6)
grub 1.x: grub2 (CentOS 7)

MBR位于0磁道的0扇区
446Bytes:bootloader:提供一个可供用户选择的菜单,将指定的操作系统或不同版本的内核加载至内存中,内核自解压展开,移交控制权给内核;
64Bytes: 存放分区表
2Bytes: 有效标识符:55AA表示有效;

grub是取代早期bootloader,仅在446字节(446个字符)中要实现的功能很薄弱;

GRUB工作流程
stage1: bootloader
stage1_5: MBR后的扇区,提供普通分区的驱动;并将此分区作为grub的根,grub访问其下的所有文件从/起始;
stage2:找到grub所在的普通分区,根据其配置提供众多功能;

Mage2Mage3

GRUB功能
提供菜单:编辑操作及输出一个命令行接口
隐藏菜单
保护机制:加载内核、编辑菜单

GRUB命令行接口
grub> root 指明grub的根分区在哪个磁盘的哪个分区;提供内核、inird及grub配置文件;
grub> kernel /vmlinuz-VERSION-release grub的根提供的内核;即本次要加载的内核;后可接参数;
grub> initrd /initrd-VERSION-release grub的提供的initrd;即提供给内核的驱动,用于加载根文件系统;
grub> boot 引导;

kernel cmdline可以接的参数:
ro root=/paht/to/device 只读挂载路径对应的根设备;注意:此处为initrd驱动的根文件系统;
init=/sbin/init 内核关联根文件系统后,第一个启动的程序
selinux=0 表示本次启动不启动selinux
quiet 不输出信息

GRUB配置文件
/boot/grub/grub.conf <– /etc/grub.conf
或 /boot/grub2/grub.conf <– /etc/grub2.conf

GRUB配置文件格式
default=0 默认引导第1个菜单
timeout=5 等待用户选择的时长;
splashimage=(hd#,#)/PATH/TO/PIC_FILE.xpm.gz 菜单背景图片;
hiddenmenu 隐藏菜单
password –md5 STRING: 菜单编辑认证;
title STRING 标题,有空格无须对其加引号;
root (hd#,#) grub1_5驱动的文件系统所在分区;#号从0开始编号;
kernel /PATH/TO/VMLINUZ_FILE: grub识别的根下的内核文件;
initrd /PATH/TO/INITRAMDISK_FILE:grub识别的根下的initramfs文件;设定提供根文件系统驱动的路径;
password –md5 STRING: 启用内核或操作系统认证;

GRUB相关故障排除

没有stage1
BIOS不会将其设定为启动设备;
(1) 安装bootloader

stage1损坏:
开机黑屏
(1) 光盘救援模式:
(2) 借助于有bootloader的设备,引导系统

没有stage2或stage2文件损坏:
用grub命令行,指定grub的根分区、分区下的内核及inird文件,即可启动;并在启动系统后修复即可;

重装GRUB
~]# grub-install –root-directory=/PAHT/TO/BOOT /dev/DEVICE
–root-directory= boot目录所在目录;即为要安装grub的目录;
/dev/DEVICE 给哪个设备安装Bootloader,不是分区;

修复GRUB
~]# grub
grub> root (hd#,#) grub目录安装所在的磁盘及分区;
grub> setup (hd#) grub目录安装所在的磁盘;

 

光盘启动引导补充

Mage4

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89056

(0)
逆神阳逆神阳
上一篇 2017-11-27 23:19
下一篇 2017-11-28 10:04

相关推荐

  • 图文演示Netmeeting的三大功能

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/153578     可能很多朋友对Netmeeting有一定认识,但我想真正用过的朋友应该不多,因为类似的软件太多太多了,所以Netmeet…

    Linux干货 2015-03-25
  • 第8天:脚本基础,btrf,raid,

    http://note.youdao.com/yws/public/redirect/share?id=61b38adef24ced4dc646a5ef8e68df18&type=false

    Linux干货 2016-08-16
  • week3

    一,列出当前系统上所有已经登录的用户的用户名,注意,同一个用户登录多次只显示一次即可 who | cut -d' ' -f1 | sort -u 二,取出最后登录到当前系统的用户相关信息 who | cut -d'&nb…

    Linux干货 2016-11-15
  • 优云老王(三)谈埋点:人生处处有埋点

    说到埋点,的确是用户最感兴趣的话题之一,优云Web产品在内测阶段便收到了用户的各种反馈,反复问我无码埋点是怎么做的。在此我专门与大家聊聊埋点以及各种实现方案的利弊。 1、埋点的来历 先说下埋点的来历,其实在互联网没流行起来之前,埋点并不是用来分析用户行为的,技术人员为了解决某些问题,就在代码里面加入了些行为逻辑代码,如果用户使用产品的过程中出了问题,就生成一…

    2016-09-19
  • 04用户和组的相关配置文件总结

    1、用户 个人理解的是,给使用者一个在系统中使用的身份,即用户。 用户分两种:管理员和普通用户。 而每一个用户都有一些属性,每一个属性都是用冒号分割开来。配置文件存储在【/etc/passwd】中。 例如,sarash:x:507:508::/home/sarash:/bin/nologin 他们分别是,用户名,密码,ID号,主组ID号,注释,家目录,默认登…

    Linux干货 2016-10-24
  • 第一章 linux的安装及简单的命令合集

    linux安装;简答命令:注释;常见用法

    Linux干货 2018-03-17

评论列表(1条)

  • miracler
    miracler 2017-11-30 20:14

    原来这里还有道友!