一、GRUB配置
配置文件保存在/boot/grub/grub.conf
软链接保存在 /etc/grub.conf
1、grub.conf文件分析
default 定义缺省启动系统
【在真实服务器应用里面不可能会装多系统】
timeout 定义缺省等待时间
splashimage 定义GRUB启动背景图片
hiddenmenu 隐藏菜单,如果将其删掉,则不会用自动倒数的设置
(hd0,0) -- /boot所在的分区 -- /
hda sda // 表示硬盘
hd0 sd0 // 在GRUB中硬盘的表示方法
,0 // 表示硬盘中的第一个分区
,1
,2
title CentOS( 。。。) //定义菜单项的名称,。。。内容可以更改
root (hd0,0) //root定义了GRUB的根设备即内核所在分区
kernel定义内核文件所在位置 //注意:此处的/并不代表是根分区,而是表
initrd命令加载镜像文件 //示/boot目录
2、实例分析
示例一、进入单用户模式
(1) 重启之后按Esc键进入GRUB操作界面
功能键:
e: 编辑当前的启动菜单项 //edit
c: 进入GRUB的命令行方式 //command
b: 启动当前的菜单项 //boot
d: 删除当前行 //delete
Esc: 返回GRUB启动菜单界面,取消对当前单 项所做的的任何修改
(2) 点选kernel一行,按e编辑启动级别
(3)在行末加上相应的启动运行级别,如:1
(4)回车,b键进入单用户模式
(5)passwd root 连续确认,即可更改root密码
(6)还可以作其他的一些设置,如异常断电之后,文件系统修复等。
示例二、给GRUB设置密码
(1)生成密文:【需要安装grub】
1. 使用GRUB自带的grub-md5-crypt命令
# grub-md5-crypt
Password:
$1$EszU60$Mc2BwxeWUH/8q3iqbRknz0
2. 在GRUB交互命令行界面中使用md5crypt命令
# grub
grub> md5crypt
Password:
$1$EszU60$Mc2BwxeWUH/8q3iqbRknz0
【同样的明文口令每次加密获得的MD5密文口令也 是不同的!】
(2)修改配置文件
加入: password --md5 $1$EszU60$Mc2BwxeWUH/8q3iqbRknz0
--md5 表示是用md5加密的。
【需要加在全局变量里面!如hiddenmenu下面。】
3、GRUB修复
当开机后进入grub界面但没有菜单,只剩下一个grub>提示符,解决方法:
grub>cat /grub/grub.conf (为查看参数)
grub>root (hd0,6)
grub>kernel (hd0,6)/vmlinuz-2.6.18-14 ro root=LABEL=/
grub>initrd (hd0,6)/initrd-2.6.18-14.img
grub>boot
【可以使用Tab键进行命令补全】
4、Linux系统修复模式
情景在线:/etc/inittab文件损坏或者删除,但是首先一点:/etc/inittab文件是备 份过了的。
修复过程
1.把安装盘放到光驱,然后重新启动机器,在BIOS中把系统设置为光驱引导。
【如果是在虚拟机中的话,首先确认光盘加载的是Linux安装镜像】
【F2进入BIOS】
【2.等安装界面出来后,按[F5]键进入linuxrescue模式说明】
2.boot提示符下输入:
linux rescue
3.回车,进入修复模式。
【这时,无论Linux有多么严重的损坏,都可以进入光盘Linux的修复环境进行修复,像重要 文件被删除,root跟GRUB密码全忘了。。。】
【此时,运行的是光盘上的Linux,但是可以对现有的系统上的数据进行修改】
4.键入chroot /mnt/sysimage // 改变根分区
5、然后根据前面的提示信息,进行修复即可
【此时改变的是本地系统上的数据!】
6、修复完成,exit重新引导,完成!