配置文件保存在 /boot/grub/grub.conf[/boot分区最好应该单独划分出来]
软链接保存在 /etc/grub.conf
1、grub.conf文件分析
default #缺省启动系统
timeout #缺省等待时间,单位秒s
splashimage #定义GRUB启动背景图片
#(hd0,0) #指定/boot所在的分区 -> 第一块硬盘,第一个分区
hiddenmenu #隐藏菜单
title CentOS (2.6.32-358.el6.i686) #菜单项名称,其内容可修改
root (hd0,0) #定义了GRUB的根设备即内核所在分区,即/boot目录,代表所有启动设备所在的分区
kernel /vmlinuz-2.6.32-358.el6.i686 ro root=UU... #定义内核所在位置,注意:此处的/并不代表是根分区,而是表示/boot目录
initrd /initramfs-2.6.32-358.el6.i686.img #载入镜像文件,详细信息请参照<CentOS 6.X启动流程>这篇博客
案例:忘记root密码,系统异常断电
1.系统启动时,按Esc键进入GRUB菜单
GRUB功能键:
e: 编辑当前的启动菜单项 //edit
c: 进入GRUB的命令行方式 //command
b: 启动当前的菜单项 //boot
d: 删除当前行 //delete
Esc: 返回GRUB启动菜单界面,取消对当前单项所做的的任何修改
2.点选kernel一行,按e编辑启动级别,在行末加上相应的启动运行级别,如:1或s,回车,b键进入单用户模式
passwd root #即可更改root密码
#还可作其他的设置,如异常断电之后,文件系统修复等。
第一步:设置密文,并拷贝密文
法1.使用GRUB自带的grub-md5-crypt命令
法2.在GRUB交互命令行界面中使用md5crypt命令
第二步:修改配置文件/boot/grub/grub.conf
加入:password --md5 $1$EszU60$Mc2BwxeWUH/8q3iqbRknz0 #--md5 表示是用md5加密的。[最好将password写在全局模式,如下图]
重启之后
OK,大功告成!
案例:当开机后进入grub界面但没有菜单,只剩下一个grub>提示符
解决方法:
grub>cat /grub/grub.conf #发现错误
手工引导Linux系统:
grub>root (hd0,0)
grub>kernel /vmlinuz-2.6.18-14 ro root=LABEL=/ 3 #如果此时敲错,请留意提示信息
grub>initrd /initrd-2.6.18-14.img
grub>boot #此时可以使用Tab命令补全
案例:/etc/inittab文件损坏或丢失,或其他非常严重的损害,导致系统根本无法启动
修复过程
1.把安装盘放到光驱,重启系统,F2进入BIOS,在BIOS中把系统设置为光驱引导。
[安装界面出来后,按[F5]键进入linuxrescue模式说明]
2.boot提示符下输入:
linux rescue
3.回车,进入修复模式。
按照提示进入系统之后:
4.键入chroot /mnt/sysimage #改变根分区
5、然后根据前面的提示信息,进行修复即可
6、修复完成,exit,重新引导,完成!
注意:
无论Linux有多么严重的损坏,都可以进入光盘Linux的修复环境进行修复,像重要文件被删除,root跟GRUB密码全忘了,几乎所有的错误;此时,虽然运行的是光盘上的Linux,但是可以对现有的系统上的数据进行修改.