|NO.Z.00003|——————————|ManageMent|——|Linux&系统管理.V03|

一、Grub 的配置文件:在 grub 中分区的表示方法
  分区 Linux中设备文件名 Grub中设备文件名
第一块SCSI硬盘 第一个主分区 /dev/sda1 hd(0,0)
第二个主分区 /dev/sda2 hd(0,1)
扩展分区 /dev/sda3 hd(0,2)
第一个逻辑分区 /dev/sda5 hd(0,4)
第二块SCSI硬盘 第一个主分区 /dev/sdb1 hd(1,0)
第二个主分区 .dev.sdb2 hd(1,2)
扩展分区 /dev/sdb3 hd(1,2)
第一个逻辑 /dev/sdb5 hd(1,4)

二、grub 的配置文件

### --- grub 的配置文件
### --- 根下的文件;前面定义了主目录,这些文件就位于哪个主目录之下

[root@server21 ~]# vi /boot/grub/grub.conf
#boot=/dev/sda
default=0                                                       // 默认启动第一个操作系统
timeout=5                                                       // 5秒会让你选择进入那个系统,若是写成-1会一直等待;需要回车才可以执行;远程是不可以执行操作的。0时间太短。
hiddenmenu                                              
~~~     以上为 grub 整体设置
title CentOS (2.6.32-279.el6.i686)
root (hd0,0)
kernel           /vmlinuz-2.6.32-279.el6.i686
root=UUID=b9a7a1a8-767f-4a87-8a2b-a535edb362c9 rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us
rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
~~~     以上 4 行为一行,只是内容过多的自动换行
initrd /initramfs-2.6.32-279.el6.i686.img
default=0
~~~     默认启动第一个系统。也就是如果在等待时间结束后,用户没有选择进入哪一个系统,
~~~     那么系统会默认进入第一个系统。如果有多系统并存,那么每个系统都会有自己的 title 字段,
~~~     如果想要默认进入第二个系统,这里就可以设为 default=1。
timeout=5
~~~     等待时间,默认是 5 秒。也就是进入系统时,如果 5 秒内用户没有按下任意键,
~~~     那么系统会进入 default 字段定义的系统。当然可以手工修改这个等待时间,
~~~     如果 timeout=0 则不会等待直接进入系统,timeout=-1 则是一直等待用户输入,
~~~     而不会自动进入系统。
splashimage=(hd0,0)/grub/splash.xpm.gz                          // 背景图像
~~~     这里是指定 grub 启动时的背景图像文件的保存位置的。
~~~     记得 CentOS 6.x 启动时后台的蓝色图像吧,就是这个文件的作用哦。不过这个文件具体在哪里啊?
~~~     已经说过了 hd(0,0)代表第一个硬盘的第一个分区,
~~~     而超哥的系统安装时/boot 分区就是第一个分区,
~~~     所以这个背景图像的实际位置就是/boot/grub/splash.xpm.gz。
hiddenmenu                                                      // 背景图像隐藏起来了。
~~~     隐藏菜单。启动时默认只能看到读秒,而不能看到菜单,如果想要看到菜单需要按任意键。
~~~     如果注释了这句话,那么启动时就能直接看到菜单了。
~~~     以上就是 grub 的整体设置,下面我们介绍 CentOS 系统的启动设置:
title CentOS (2.6.32-279.el6.i686)                              // 这里系统什么,在启动的时候,就会显示什么
~~~     title 就是标题的意思,也就是说在 title 后面写入的是什么,那么系统启动时在 grub 的启
~~~     动菜单中看到的就是什么。
root (hd0,0)                                                    // 主目录的意思
~~~     是指启动程序的保存分区。这里要注意啊,这个 root 并不是管理员哦。
~~~     在我的系统中,/boot分区是独立划分的,
~~~     而且设备文件名为/dev/sda1,所以在 grub 中,就被描述为 hd(0,0)。
kernel           /vmlinuz-2.6.32-279.el6.i686
root=UUID=b9a7a1a8-767f-4a87-8a2b-a535edb362c9
rd_NO_LUKS   KEYBOARDTYPE=pc
KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgbquiet 
### --- grub 的配置文件

[root@server21 ~]# vi /boot/grub/grub.conf
#boot=/dev/sda
default=0                                                       // 默认启动第一个操作系统
timeout=5                                                       // 5秒会让你选择进入那个系统,若是写成-1会一直等待;需要回车才可以执行;远程是不可以执行操作的。0时间太短。
hiddenmenu                                              
~~~     以上为 grub 整体设置
title CentOS (2.6.32-279.el6.i686)
root (hd0,0)
kernel           /vmlinuz-2.6.32-279.el6.i686
root=UUID=b9a7a1a8-767f-4a87-8a2b-a535edb362c9 rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us
rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
~~~     以上 4 行为一行,只是内容过多的自动换行
initrd /initramfs-2.6.32-279.el6.i686.img
default=0
~~~     默认启动第一个系统。也就是如果在等待时间结束后,用户没有选择进入哪一个系统,
~~~     那么系统会默认进入第一个系统。如果有多系统并存,
~~~     那么每个系统都会有自己的 title 字段,如果想要默认进入第二个系统,
~~~     这里就可以设为 default=1。
timeout=5
~~~     等待时间,默认是 5 秒。也就是进入系统时,如果 5 秒内用户没有按下任意键,
~~~     那么系统会进入 default 字段定义的系统。当然可以手工修改这个等待时间,
~~~     如果 timeout=0 则不会等待直接进入系统,timeout=-1 则是一直等待用户输入,
~~~     而不会自动进入系统。
splashimage=(hd0,0)/grub/splash.xpm.gz                          // 背景图像
~~~     这里是指定 grub 启动时的背景图像文件的保存位置的。
~~~     记得 CentOS 6.x 启动时后台的蓝色图像吧,就是这个文件的作用哦。
~~~     不过这个文件具体在哪里啊?已经说过了 hd(0,0)代表第一个硬盘的第一个分区,
~~~     而超哥的系统安装时/boot 分区就是第一个分区,
~~~     所以这个背景图像的实际位置就是/boot/grub/splash.xpm.gz。
hiddenmenu                                                      // 背景图像隐藏起来了。
~~~     隐藏菜单。启动时默认只能看到读秒,而不能看到菜单,如果想要看到菜单需要按任意键。
~~~     如果注释了这句话,那么启动时就能直接看到菜单了。
~~~     以上就是 grub 的整体设置,下面我们介绍 CentOS 系统的启动设置:
~~~     title CentOS (2.6.32-279.el6.i686)                      // 这里系统什么,在启动的时候,就会显示什么
~~~     title 就是标题的意思,也就是说在 title 后面写入的是什么,
~~~     那么系统启动时在 grub 的启动菜单中看到的就是什么。
root (hd0,0)                                                    // 主目录的意思
~~~     是指启动程序的保存分区。这里要注意啊,这个 root 并不是管理员哦。
~~~     在我的系统中,/boot分区是独立划分的,而且设备文件名为/dev/sda1,所以在 grub 中,
~~~     就被描述为 hd(0,0)。
kernel           /vmlinuz-2.6.32-279.el6.i686
root=UUID=b9a7a1a8-767f-4a87-8a2b-a535edb362c9
rd_NO_LUKS   KEYBOARDTYPE=pc
KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgbquiet #根下的文件;前面定义了主目录,这些文件就位于哪个主目录之下
~~~     /vmlinuz-2.6.32-279.el6.i686:指定了内核文件的位置,这里的/是指/boot 分区。
~~~     ro:启动时以只读方式挂载根文件系统,这是为了不让启动过程影响磁盘内的文件系统。
~~~     root=UUID=b9a7a1a8-767f-4a87-8a2b-a535edb362c9:指定根文件系统的所在位置。
~~~     这里和以前的 Linux 版本不太一样了,不再是通过分区的设备文件名或卷标号
~~~     来指定,而是通过分区的 UUID 来进行指定。那么如何查询分区的 UUID 号呢?
~~~     方法有很多种,最简单的办法就是查询/etc/fstab 文件,命令如下:
[root@server21 ~]# cat /etc/fstab | grep "/ "
UUID=abf5e308-010f-4335-bb61-1c1e773452fa /                       ext4    defaults        1 1
~~~     可以看到“/”分区的 UUID 和 kernel 行中的 UUID 是匹配的。注意一下,grep 后的“/ ”,在/后是有空格的。
### --- rd_NO_LUKS:禁用 LUKS,LUKS 用于给磁盘加密。            // 启动过程中的禁用,为了加速启动过程。
~~~     rd_NO_MD:禁用软 RAID。
~~~     rd_NO_DM:禁用硬 RAID。
~~~     rd_NO_LVM:禁用 LVM。以上禁用都只是在启动过程中禁用,是为了加速系统启动的。
~~~     KEYBOARDTYPE=pc KEYTABLE=us:键盘类型。
~~~     crashkernel=auto:自动为 crashkernel 预留内存。
~~~     LANG=zh_CN.UTF-8:语言环境
~~~     rhgb:(redhat graphics boot)用图片来代替启动过程中的文字信息。
~~~     启动完成之后可以使用 dmesg 命令来查看这些文字信息。
~~~     quiet:隐藏启动信息,只显示重要信息。
~~~     initrd /initramfs-2.6.32-279.el6.i686.img:
~~~     指定了 initramfs 内存文件系统镜像文件的所在位置。

三、grub 加密

### --- grub 加密

[root@server21 ~]# grub-md5-crypt
Password: 123456
Retype password: 123456
~~~     输入两次密码
$1$tA48J1$tIXJQjAn3zSuQf4F5cJSs/
~~~     生成加密密码字串
~~~     这样就可以生成加密密码字串,这个字串是采用 md5 加密的,
~~~     就是你的密码经 md5 编码之后的。我们会利用这个加密密码字串来加密 grub 配置文件。
 
### --- grub 菜单整体加密
~~~     如果只是加密单个启动菜单,grub 的编辑模式是不能锁定的,
~~~     还是可以按“e”键进入编辑模式。
~~~     而且进入编辑模式后,是可以删除 password 字段的,
~~~     再按“b”(boot 启动)键就可以不用密码直接进入系统。这时就需要给 grub 菜单整体加密了,整体加密后,
~~~     如果想进入 grub 编辑界面必须输入正确的密码。
~~~     加密方法其实只是把 password 字段换个位置而已,具体方法如下:

[root@server21 ~]# vim /boot/grub/grub.conf
default=0
timeout=5
password --md5 $1$tA48J1$tIXJQjAn3zSuQf4F5cJSs/
~~~     password 选项放在整体设置处。
splashimage=(hd0,0)/grub/splash.xpm.gz
~~~     如果只是加密单个启动菜单,grub 的编辑模式是不能锁定的,
~~~     还是可以按“e”键进入编辑模式。
~~~     而且进入编辑模式后,是可以删除 password 字段的,
~~~     再按“b”(boot 启动)键就可以不用密码直接进入系统。这时就需要给 grub 菜单整体加密了,
~~~     整体加密后,如果想进入 grub 编辑界面必须输入正确的密码。
~~~     加密方法其实只是把 password 字段换个位置而已,具体方法如下:

[root@server21 ~]# vim /boot/grub/grub.conf
default=0
timeout=5
password --md5 $1$tA48J1$tIXJQjAn3zSuQf4F5cJSs/
~~~     password 选项放在整体设置处。
splashimage=(hd0,0)/grub/splash.xpm.gz
### --- 重启

[root@server21 ~]# reboot
### --- 默认是e键,现在变成p键
~~~     但是这样加密,启动 CentOS 时,是不需要密码就能正常启动的
~~~     那我如果既需要 grub 的整体加密,又需要系统启动时输入正确的密码那应该怎么做呢?
~~~     很简单,方法如下:

default=0
timeout=5
password --md5 $1$tA48J1$tIXJQjAn3zSuQf4F5cJSs/
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-279.el6.i686)
lock                                                            // 此操作不可以配置;在 title 字段,加入 lock。代表锁死,如果不输入正确的 grub 密码也不能启动

 

 

 

 

 

 

 

 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

posted on   yanqi_vip  阅读(26)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示