​从实验来了解grub

实验一为grub设置密码

  1. 先看一看grub是怎么样的

1465430254911174.jpg

grub有两个版本

grub: GRand Unified Bootloader

grub 0.x: grub legacy

grub 1.x: grub2

 Note:grub 1.x是完全重写的只不过是保留grub 0.x的工作机制。

2.利用grub自带命令生成密码grub-md5-crypt

1465430969979206.jpg

3.把密码保存在配置文件:/boot/grub/grub.conf

1465431118996558.jpg

配置项:

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

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

splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜单背景图片文件路径;

hiddenmenu:隐藏菜单;

password [–md5] STRING: 菜单编辑认证;

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

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

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

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

password [–md5] STRING: 启动选定的内核或操作系统时进行认证;

1465431422397393.jpg1465431512177929.jpg

输入密码就会原先还没设置密码的grub。 

1465431698142983.jpg

这个要通过grub进行引导进入系统需要的密码,也是之前在配置文件设置的。

1465431845341007.jpg

实验二忘记root的密码 ,就可以用grub来进行改密码

这进入单用户模式进行修改密码

进入单用户模式:

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

1465432150199492.jpg

(2) 在选定的kernel后附加

1, s, S或single都可以;

1465432692208099.jpg

(3) 在kernel所在行,键入“b”命令;1465432745638074.jpg它就会以root身份直接登入,改密码就只需要passwd

1465432824748458.jpg

实验三.安装grub和修复grub

已经知道进入单用户和配置文件,那也得知道这么安装着个grub。

先对grub进行破坏

1465433546958196.jpg

grub破坏后,硬盘就没有识别到,直接识别成光盘。

1465433842868239.jpg

(1) grub-install

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

1465433637420190.jpg

(2) 采用光盘救援模式

grub

grub> root (hd#,#)

grub> setup (hd#)

1465434020356015.jpg

1465434639368063.jpg

1465434663571784.jpg1465434731287415.jpg

是要对网络接口进行配置,可以选择no,选择yes会进入以下界面

1465434749546604.jpg

这是选择back,因为本次实验是对grub修复

1465434779270987.jpg

1465434957432148.jpg

选择continue

1465434992803507.jpg

这里提示切换/,使用chroot /mnt/syscimage,因为grub启动是先会进入一个虚拟的根,然后在转到真实的/

1465435050782817.jpg

1465435075720917.jpg

1465435229282125.jpg

下面就是修复grub

1465435579684867.jpg1465435661333036.jpg

修复完毕。

示例四、制作grub

准备一块硬盘

1465435803305952.jpg

1465435962965280.jpg

可以看到系统已经加入了/dev/sdb 

这时候就需要进行分区。我这是已经分好区了已经格式化过

1465437575526434.jpg

安装grub并配置文件

1465441076416549.jpg

在kernel的后面还需加上 selinux=0 init=/bin/bash

分区完毕就需要进行挂载。并创建一个文件系统所需要的文件夹。1465439513365693.jpg

为什么只挂载/dev/sdb3 不挂载2和1呢  因为/dev/sdb1是作为grub  /dev/sdb2 是swap分区

查看所依赖的库文件

1465440919115619.jpg

复制库文件

1465440955569126.jpg

这是建立好的grub

1465441346139042.jpg

1465441291985196.jpg

总结

GRUB(Boot Loader):

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) 为菜单提供了保护机制

为编辑菜单进行认证

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

如何识别设备:

(hd#,#)

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

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

(hd0,0)

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 (hd#,#)

grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE 

grub> initrd /initramfs-VERSION-RELEASE.img

grub> boot

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

配置项:

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

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

splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜单背景图片文件路径;

hiddenmenu:隐藏菜单;

password [–md5] STRING: 菜单编辑认证;

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

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

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

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

password [–md5] STRING: 启动选定的内核或操作系统时进行认证;

grub-md5-crypt命令

进入单用户模式:

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

(2) 在选定的kernel后附加

1, s, S或single都可以;

(3) 在kernel所在行,键入“b”命令;

安装grub:

(1) grub-install

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

(2) grub

grub> root (hd#,#)

grub> setup (hd#)

grub从无到有:1.对硬盘进行分区并格式化  2.进行挂载 3.制作grub 4.生成根文件系统 5.拷贝对应的库文件 6.从内存中保存一下sync

 

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

(0)
N19_kingN19_king
上一篇 2016-06-07 22:03
下一篇 2016-06-09 20:23

相关推荐

  • 堡垒机-麒麟开源堡垒机内置SSL VPN使用指南

      一、安装 (一)确定服务器的操作系统位数 Windws xp、2000、2003系统,在我的电脑属性里,可以很明显地看到标识。如果没有注明是64位的,那么默认就是32位的 Windows 7 系统在控制面板,点击系统,在系统类型里,标注有操作系统位数 (二)安装VPN客户端 VPN客户端分为32位系统和64位系统二…

    Linux干货 2016-05-29
  • n28-第二周

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 cp:copy files and directories 复制文件和目录 -i:交互式复制 默认情况下是别名定义了alias cp=’cp -i’ -f:强制复制 #cp -f /etc/issue /tmp/first.txt -r:递归复制目录 将/etc目录递归复制到/tmp…

    Linux干货 2017-12-10
  • 第二周作业新

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 pwd :显示当前所在路径   cd :切换目录   cd – :在上次目录与当前目录之间切换。   cd ~ :切换回自己的家目录   cd . :当前目录      cd .. :切换到…

    2017-02-18
  • Nginx首部相关模块使用介绍-隐藏,修改

    ngx_http_headers_module模块一. 前言ngx_http_headers_module模块提供了两个重要的指令add_header和expires,来添加 “Expires” 和 “Cache-Control” 头字段,对响应头添加任何域字段。add_header可以用来标示请求访问到哪台服务器上,这个也可以通过nginx模块nginx-…

    Linux干货 2017-05-06
  • openssl关于CA证书的创建

    1、用openssl实现证书申请 先在/etc/pki/CA/目录下创建一个index.txt的文件,作为ca证书的数据库 在相同目录下创建一个serial的序列号文件,并写入01 生成ca的签名证书用到的私钥文件 注意:私钥的权限时600,文件名必须是cakey.pem 生成自签证书 这样私有CA建立完成 申请认证: 在申请的机器上生成私钥 生成申请文件 …

    Linux干货 2016-09-23
  • 2017全球互联网架构大会上海站火热来袭,等您赴约!

    GIAC 全球互联网架构大会,是长期关注互联网技术与架构的高可用架构技术社区推出的,面向架构师、技术负责人及高端技术从业人员的年度技术架构大会。

    2017-11-30