centos6.9启动之grub

本文主要介绍系统启动中grub部分

grub介绍:

grub是引导操作系统的程序,它会根据自己的配置文件,去引导内核,当内核被加载到内存以后,内核会根据grub配置文件中的配置,找到根分区所使用的问件系统对应的驱动,通过根分区文件系统 对应的驱动,挂载根分区,从而达到启动操作系统的目的。

centos5/6中使用grub作为bootloader,也就是说,操作系统想要启动,就要靠它,早期的linux中,使用LILO(linux loader)进行操作系统的引导工作,但是因为LILO的功能比较简单,随着发展,出现了grub,  GRUB:Grand Unified Bootloader

centos5\6中使用的是grub的0.97版本:grub legacy

centos7中使用的是grub2

此处,我们讨论的grub就是grub legacy

 

grub legacy的3个阶段:

Grub stage 1(MBR前 446 个字节)要进入grub 2 阶段(/boot/grub/目录下),要先获取boot分区文件系统驱动模块,于是有了1.5阶段(MBR 后面的 27 个扇区),存放boot分区所需要的文件系统驱动模块

Grub stage 1(MBR前 446 字节)作用:找到grub stage 1.5阶段并将其加载到内存中

↓↓

Grub stage 1.5(MBR 后面的27扇区,存放boot分区所需要的文件系统驱动模块)

↓↓

Grub stage 2(/boot/grub/目录下文件)

 

grub安装:

  • (1) grub-install (推荐用法,修复grub全阶段)

安装grub stage1和 stage1_5到/dev/DISK磁盘上,并复制GRUB相关文件到 DIR/boot目录下

grub-install –root-directory=DIR /dev/DISK

  • (2) grub (限制较多,依赖于/boot/grub/下文件,文件破坏则不能使用)

grub> root (hd#,#) (hd#,#是指/boot/所在磁盘分区)

grub> setup (hd#)     (安装在哪个磁盘)

 

配置文件:

  • /boot/grub/grub.conf <– /etc/grub.conf
  • stage2及内核等通常放置于一个基本磁盘分区

功用:

(1) 提供启动菜单、并提供交互式接口

a:编辑内核参数

e: 编辑模式,用于编辑菜单

c: 命令模式,交互式接口

(2) 加载用户选择的内核或操作系统

允许传递参数给内核

可隐藏启动菜单

(3) 为菜单提供了保护机制

为编辑启动菜单进行认证

为启用内核或操作系统进行认证

 

  • 识别硬盘设备

(hd#,#)

hd#: 磁盘编号,用数字表示;从0开始编号表示第一个

#: 分区编号,用数字表示; 从0开始编号表示第一个

例如:(hd0,0) 第一块硬盘,第一个分区

 

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

grub> kernel (hd0,0)/vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE

grub> initrd (hd0,0)/initramfs-VERSION-RELEASE.img

grub> boot

 

  • 配置文件:/boot/grub/grub.conf

如下图:

博客

①default=#: 设定默认启动的菜单项;菜单项(title)编号从0开始

②timeout=#:指定菜单项等待选项选择的时长

splashimage=(hd#,#)/PATH/XPM_FILE:菜单背景图片文件路径

(默认无)password [–md5] STRING: 启动菜单编辑认证

⑤hiddenmenu:隐藏菜单

⑥title TITLE:定义菜单项“标题”, 可出现多次

⑦root (hd#,#):查找stage2及kernel文件所在设备分区;为grub的根!!!

⑧kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核

⑨initrd /PATH/TO/INITRAMFS_FILE: 内核匹配的ramfs文件

(默认无)password [–md5|–encrypted ] STRING: 启动选定的内核或操作系统时进行认证

 

选项注解:自制启动菜单背景:先下载ImageMagick工具;

取640×480尺寸的图片如win.jpg ;

将图片格式转为xpm的:convert -resize 640×480 -colors 14 win.jpg win.xpm

打包gzip win.xpm

然后将图片移到/boot/grub/目录下;

修改grub.conf文件选项文件路径即可。

选项注解:加密口令字符串STRING是用 grub-md5-crypt 交互式命令(md5加密方式)或 grub-crypt 交互式命令(sha512加密方式)生成

 

破解root口令:

启动系统时,设置其运行级别1(即单用户模式)

进入单用户模式:

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

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

(3) 启动:在kernel所在行,键入“b”命令

 

实验:

一、/dev/sda前面的446字符清零,(grub1阶段)

  1. 开机自动进入光盘引导模式,有备份直接拷贝过来;
  2. 无备份,先切根,再grub-install /dev/sda 即可修复,sync同步磁盘(多来几遍),防止数据没有同步。

二、(grub2阶段)

  1. /boot/grub/下的除了grub.conf文件和图片压缩文件,别的都删掉,系统不受影响照常启动,再用grub交互式修复文件,失败(报找不到文件),
  2. /boot/grub/下的除了grub.conf文件和图片压缩文件,别的文件如果通过grub交互式命令修复过一次,再删掉,系统重启就会报错卡住无法正常重启,修复方法同“实验一”

三、/dev/sda  512字符后面的字符破坏(grub1.5阶段)

开机进度条界面完了之后卡在黑屏界面,修复方法同“实验一”

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

(4)
bican813bican813
上一篇 2018-05-13
下一篇 2018-05-13

相关推荐

  • 主机经过三路由通信

    网络规划 主机 A IP/# 172.16.0.1/16 gatway 172.16.0.2 网段 vm10 172.16.0.0 eth0 IP/# 172.16.0.2/16 路由 R1 eth1 IP/# 10.0.0.1/8 网段 vm11 10.0.0.0 eth0 IP/# 10.0.0.2/8 路由 R2 eth1 IP/# 172.31.0.…

    Linux笔记 2018-05-04
  • 进入各种模式操作 在centos虚拟机上实现内外网的连接

      进入单用户模式; 重启后在下面界面按任意键 进入此界面后按“ a ” 在下面界面 输入  1   进入单用户模式  1之前有空格     进入救援模式 1 重启后将鼠标键入界面里,在第一个界面的进度条没走完之前按一次ESC键即可进入(只能按一次ESC) 2 选择上图中的第三项光盘引导启动,之后选择下图的第三项救援模式启动。 &nbsp…

    2018-05-09
  • linux练习题以及用户和组管理

    Linux练习题 列出当前系统上的所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可 取出最后登录到当前系统的用户的相关信息 取出当前系统上被用户当作默认shell的最多的那个shell 将/etc/passwd/中的第三个字段数值最大的后10个用户信息全部改为大写后保存至/tmp/maxusers中。 取出当前主机的IP地址,提示:对i…

    2018-05-26
  • 第一周博客作业-N31-初识Linux

    本篇文章主要围绕计算机的组成及其功能以及Linux的基础命令、目录等进行相关阐述

    2018-07-11
  • liunx基础命令

    alias:查看命令别名(别名只针对用户有效) alias h=hostname(定义别名) cdnet=‘cd /etc/sysconfig/network-scripts/’(带参数命令的要带单引号) 想长久生效修改.bashrc文件(root为/root/.bashrc,全部用户为/etc/bashrc,其他/home/user/.bashrc) un…

    Linux笔记 2018-04-08
  • Linux作业管理,并行运行,任务计划(at任务和cron任务)

    本文主要介绍:1、Linux作业管理 2、并行运行 3、任务计划(at 一次性任务和 cron 周期性任务)

    2018-05-06