首页 > 代码库 > GRUB与Linux系统修复(第二版)

GRUB与Linux系统修复(第二版)

GRUB配置解析

配置文件保存在 /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密码

#还可作其他的设置,如异常断电之后,文件系统修复等。

 

设置GRUB密码

第一步:设置密文,并拷贝密文

法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>提示符

 

解决方法:

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命令补全

 


Linux终极修复模式

案例:/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,但是可以对现有的系统上的数据进行修改.

GRUB与Linux系统修复(第二版)