一,修复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文件

修复initramfs文件及忘记root密码的解决之道_第1张图片


2,重启系统,当看到进度条时迅速按下Esc键,进入Boot Menu界面,选择光盘启动系统

修复initramfs文件及忘记root密码的解决之道_第2张图片


3,选择救援模式

修复initramfs文件及忘记root密码的解决之道_第3张图片


4,提示选择进入系统后所使用的语言和键盘,直接按[Enter]键

修复initramfs文件及忘记root密码的解决之道_第4张图片

修复initramfs文件及忘记root密码的解决之道_第5张图片


5,提示是否配置网卡,从网络进入系统,按Tab键,当光标跳到 [NO] 处,按[Enter]键

修复initramfs文件及忘记root密码的解决之道_第6张图片


6,提示硬盘上的系统已经被找到并挂载在 /mnt/sysp_w_picpath, 选择 [Continue](继续)用读写模式加载

修复initramfs文件及忘记root密码的解决之道_第7张图片


7,按[Enter]

修复initramfs文件及忘记root密码的解决之道_第8张图片

修复initramfs文件及忘记root密码的解决之道_第9张图片

wKiom1fSIVCQiB77AAAEEjwkdBU559.png


8,打开shell接口,进入救援模式

修复initramfs文件及忘记root密码的解决之道_第10张图片

修复initramfs文件及忘记root密码的解决之道_第11张图片


9,重启系统,又出现熟悉的界面,到此恭喜你,修复成功

wKioL1fSIZOCk5WCAAAEJvebJJA579.png

wKiom1fSIZPxtia4AAAFvyhByj4236.png


二,忘记root密码的解决之道

只要能够进入并且挂载 /,然后重新设置下root的密码,就可以救回来。这是因为在启动流程中,若强制内核进入runleverl 1,默认是不需要密码即可取得一个root的shell来救援

操作流程:

1,重新启动系统

2,启动进入grub菜单后,在你要进入的菜单上面按‘e’键进入详细设置;将光标移动kernel上方并按‘a’键进入编辑界面;然后出现如下界面来处理:

wKioL1fRaSKzUx5lAAAGc_n8xiE406.png


  按键的描述:

wKiom1fRaE3TUaJAAAAKdGIuWIg753.png


  重点是那个特殊字体(在rhgb后面加上1, s, S, single都可以)按下[enter]就能够启动进入单用户   维护模式了。

修复initramfs文件及忘记root密码的解决之道_第12张图片


3,进入单用户维护模式后,系统会以root的权限直接给你一个shell,此时你就能够执行“passwd”这个命令来重设root的密码。然后直接执行“init 5”就可以切换成为X窗口或“init 3”进入纯字符界面或者直接“reboot”.

修复initramfs文件及忘记root密码的解决之道_第13张图片


4,又恢复到熟悉的界面:

wKioL1fSOjzxTXgYAAAFvyhByj4590.png