GRUB管理

对于运维人员来说,想要熟练掌握linux,那么久要对linux的启动流程有一个详细的了解,而今天我们就一起来学习一下linux启动中最重要的一个阶段——GRUB引导阶段。

Linux启动流程

GRUB管理

grup: GRand Unified Bootloader 

由上图可知,grub属于系统启动过程中一个必须的阶段。而这个阶段又分为了三个小的阶段,分别是stage1,stage1.5,stage2。

stage1: mbr 磁盘的前446字节

>这个内容被破坏会自动进入光盘启动界面,因为机器认为没有了硬盘启动功能

stage1_5: mbr之后的扇区512字节后的内容,让stage1中的bootloader 能识别stage2所在的分区上的文件系统 

>这个内容被破坏系统读条会黑屏,不会自动出现光盘引导。因为1阶段已经启动,机器认为可以在硬盘启动,但是读入硬盘后无法通过1.5阶段进入2阶段

stage2:在磁盘的boot分区中(/boot/grub/grup.conf),

>只是grub.conf文件损坏,出现grub>提示符。grub目录如果被误删,会出现error15,并且黑屏,无法启动

grub的命令行接口

在系统启动的内核选择界面,可以选择进入命令行接口。

GRUB管理
>解释:
>e:进入编辑模式 编辑菜单 可通过这个模式进入单用户

>a:修改内核参数 例如关闭selinux

GRUB管理

>c:进入grub命令行模式 交互式接口

grub的stage2配置文件

grub第二阶段的是三个阶段中唯一可以直接以可读文件形式展现给我们的阶段。它最重要的配置文件就是/boot/grub/grub.conf <– /etc/grub.conf(后面这个是软连接)。如下图:
GRUB管理

对配置文件的解释:

注释:

这个文件是由安装向导anaconda生成的。对该文件进行修改后,不需要重复运行,因为或者文件是开机自动读取的。注意:若你有一个boot目录的独立分区,这意味着所有的内核和伪根路径都是相对于这个boot目录的路径来设置的。

这里的/代表的不是我们操作系统的根,因为root(hd0,0)表示的是指的我们的第一磁盘的第一分区,也就是boot所在分区,他们以boot为根(就算不写root(hd0,0)也可以,因为默认就是这个)。因此可以写成以下格式:
root (hd0,0) 
kernel /vmlinuz-version ro root=/dev/sda2
initrd /initrd-[generic-]version.img

但如果/boot不是一个独立分区,而是在根这个分区中,则需要加上/boot的路径,如:
kernel /boot/vmlinuz-version ro root=/dev/sda2
initrd /boot/initrd-[generic-]version.img

内容:

default=#: 设定默认启动的菜单项;落单项(title)编号从0开始。因为可以配置多个内核,所以有多个系统可供选择。 

timeout=#:指定菜单项等待选项选择的时长 ,如果不写,需要手动敲回车才能进入系统。

splashimage=(hd#,#)/PATH/XPM_FILE:菜单背景图片文件路径 ,这个是可以更改的。选择内核时的背景图片。这个是可以更改的,但是有格式要求。

hiddenmenu:隐藏菜单 ,写了这个就不会出现自动出现系统选择界面,而需要敲任意键才会出现。

password [–md5] STRING: 启动菜单编辑认证 。可以在这个项目增加密码,这样可以让用户只有输入密码才能进入内核编辑界面,而且可以对密码进行加密。

title TITLE:定义菜单项“标题”, 可出现多次 ,这个比较随意。
root (hd#,#):hd#: 磁盘编号,用数字表示;从0开始编号 #: 分区编号,用数字表示; 从0开始编号 (hd0,0)表示根在 第一块硬盘,第一个分区 查找stage2及kernel文件所在设备分区

kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核 。在起后面有很多内容都是内核参数,都是内核中的默认功能,可以进行修改或关闭。后面有一项rhgb是开启启动动画(转圈圈那个-.-),开启的话会不显示启动的各种字符的过程,不利于排错,建议删除关闭。有一项是quit默认隐藏内核启动过程,可以删除让其关闭。可以用cat /proc/cmdline来查看开启了那些内核参数。在/grub.conf文件中也可以看到。
ro root=UUID=a6c8e0e3-2fa0-4e9f-bd90-4 指定根的目录。是内核的一个参数

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

password [–md5|–encrypted ] STRING: 启动选定的内核或操作 系统时进行认证 在这个条目增加密码

grub的安装和修复命令

grub是一个命令,有着自己的语法结构,如下图:
GRUB管理

通过grub.conf文件为linux加密

为进入编辑模式进行加密

通过编辑模式可以进入单用户模式,直接修改root口令,因此可以通过对进入单用户模式加密,从而增强linux的安全性。
GRUB管理
进入到系统选择画面,可以看到已经没有了常用的e选项,只剩下了p选项
GRUB管理
输入p后需要输入密码才能进入编辑模式,而这个密码就是我们在grub.conf文件中写入哪个密码。

为加载linux系统进行加密

对于是否让系统启动,我们也可以有权进行管理。通过下图的方法,我们可以对系统启动进行密码保护,更加加强了linux的保密性。
GRUB管理
这个加载在救援模式之后,系统启动之前
GRUB管理

利用加密算法设置口令

上面两个密码的设置都是明文,如果别人在开机后查看grub.conf文件是可以看到的。因此可以同过加密算法来设置口令。

例如:通过md5加密

进入vim的命令模式输入 grub-md5-crypt
password –md5 加密口令
GRUB管理

例如:通过sha算法加密

进入vim的命令模式输入grub-crypt 输入两边口令自动加密,并将加密结果写入 password –encrypted 加密口令
GRUB管理
>如果上面的口令全部忘记,可以通过救援模式,直接修改文件即可。
因此可以看出,只要物理能接触服务器或者主机,所有的保密将不复存在。

修改背景菜单图片

对于我们的linux内核选择界面的背景图片,我们也可以自己进行设置,将图片jpg,png格式都可以。具体方法如下:

将图片在linux中进行处理,使用工具convert。包为ImageMagick。

格式处理:convert -resize 640×480 -colors 14 picturename.jpg  picturename.xpm
GRUB管理
进行压缩:gzip picturename.xpm

移动到/boot/grub目录: mv picturename.xpm.gz  /boot/grub

修改配置文件,指定路径 splashimage=(hd0,0)/grub/picturename.xpm.gz

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

(1)
OscaoChaserOscaoChaser
上一篇 2017-09-02
下一篇 2017-09-02

相关推荐

  • N26-博客作业-week12

    1、请描述一次完整的http请求处理过程; (1) 建立或处理连接:接收请求或拒绝请求; (2) 接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程; (3) 处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息; (4) 访问资源:获取请求报文中请求的资源; (5) 构建响应报文: (6) 发送响应报文: (7) 记录…

    Linux干货 2017-05-23
  • Linux网站架构系列之Mysql—-部署篇

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1321079   MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL所使用的SQL语言是用于…

    Linux干货 2015-04-01
  • vsftp通过pam_mysql做虚拟用户认证

    vsftpd可以通过三种账户登录系统: 系统账户:系统本地账户登录系统,默认进入的目录是用户家目录,可以在所有有权限的路径切换; 匿名账户:匿名用户登录,然后映射为一个本地用户; 虚拟账户:既不是系统本地用户也不是匿名用户,而是通过pam做第三方认证的方法,支持文件和数据库,ldap的认证,此处通过mysql进行实验; 一、准备实验环境 实验在一台虚拟机上进…

    Linux干货 2017-06-07
  • 第八周作业脚本练习

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;      在线的主机使用绿色显示;      不在线的主使用红色显示;          &…

    Linux干货 2017-02-01
  • Keepalives+lvs实现高可用httpd的双主模型

    基础环境:Centos 7.3 最小化安装四台 关闭防火墙及selinux 简单原理: keepalived是以VRRP协议为实现基础的,VRRP全称VirtualRouter Redundancy Protocol,即虚拟路由冗余协议。 虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个mas…

    2017-05-15
  • 如何修复系统问题–实验

    实验一: MBR的数据被破坏了,系统无法开机启动,如果有光盘,会自动启动光盘,因为在检查的时候,认为是没有硬盘设备的 dd if=/dev/zero of=/dev/sda bs=1 count=446 1. 进入光盘的救援模式中2. 切根  chroot /mnt/sysimage/   再使用 grub-install /d…

    Linux干货 2017-09-03