|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
分类:
cdv006-system
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」