一,修复initramfs文件(以CentOS 6为例)
友情提示:实验前先做快照,避免误操作导致机器无法正常启动
启动文件介绍:
核心文件:/boot/vmlinuz-VERSION-release
ramdisk:辅助的伪根系统
CentOS 5: /boot/initrd-VERSION-release.img
CentOS6,7: /boot/initramfs-VERSION-release.img
模块文件:/lib/modules/VERSION-release
实验步骤:
1,删除/boot下的initramfs-VERSION.img文件
2,重启系统,当看到进度条时迅速按下Esc键,进入Boot Menu界面,选择光盘启动系统
3,选择救援模式
4,提示选择进入系统后所使用的语言和键盘,直接按[Enter]键
5,提示是否配置网卡,从网络进入系统,按Tab键,当光标跳到 [NO] 处,按[Enter]键
6,提示硬盘上的系统已经被找到并挂载在 /mnt/sysp_w_picpath, 选择 [Continue](继续)用读写模式加载
7,按[Enter]
8,打开shell接口,进入救援模式
9,重启系统,又出现熟悉的界面,到此恭喜你,修复成功
二,忘记root密码的解决之道
只要能够进入并且挂载 /,然后重新设置下root的密码,就可以救回来。这是因为在启动流程中,若强制内核进入runleverl 1,默认是不需要密码即可取得一个root的shell来救援
操作流程:
1,重新启动系统
2,启动进入grub菜单后,在你要进入的菜单上面按‘e’键进入详细设置;将光标移动kernel上方并按‘a’键进入编辑界面;然后出现如下界面来处理:
按键的描述:
重点是那个特殊字体(在rhgb后面加上1, s, S, single都可以)按下[enter]就能够启动进入单用户 维护模式了。
3,进入单用户维护模式后,系统会以root的权限直接给你一个shell,此时你就能够执行“passwd”这个命令来重设root的密码。然后直接执行“init 5”就可以切换成为X窗口或“init 3”进入纯字符界面或者直接“reboot”.
4,又恢复到熟悉的界面: