linux 救援模式恢复grub

在工作中会遇见因为grub,这时就可以用救援模式来恢复。救援模式也可以用来恢复root密码。

使用dd if=/dev/zero of=/dev/sda count=1 bs=300 将引导扇区破坏并重启

技术分享

开机按F2进入BIOS设置CD-DVD启动,根据机器的不同进入BIOS也不同。并进入救援模式

技术分享

选择语言,这里不能选中文,会出乱码,别的没选过

技术分享

选择键盘

技术分享

是否设置网络,如需要可选一般选NO

技术分享

选择continue 也可以以只读挂载选read-only

技术分享

这里告诉我们/文件的位置

技术分享

选第一项进入

技术分享

进入救援模式输入 chroot /mnt/sysimage 切换到当前根目录并执行grub命令。输入root (hd0,0)如果提示错误就要root (hd0,1)如果有多块磁盘 root (hd1,0)这样一个一个试了。这一步是找磁盘上的根在那里,输入 setup (hd0) 把grub装入该盘中

技术分享

退出grub 退出bash 输入 reboot 并重启

技术分享

系统已恢复

技术分享

第二个实验:删除/boot/grub/grub.conf

技术分享

重启时如下

技术分享

输入root (hd0,0) 如不行同上个实验一样一个一个找,并输入内核版本号,以及所在的位置 rhgb 显示进度条,quiet 不显示详细信息。重启

技术分享

进入系统后由于刚才把grub.conf给删除了所以这里要重建grub

技术分享

default=0 title 从0开始 实验里输错了为什到不报错?这个得查查

timeout=5 这个不用说了

root (hd0,0) 内核所在位置

kernel 的版本号可以通过.! ls /boot/v (可补全)来查找。 内核的输入参数可以通来.! blkid /dev/sda3来查找(sda3 是我原来的根分区所在,这个根据根分区的不同而不同)

技术分享

技术分享

通过.! ls /boot/i(可补全)查找

技术分享

保存并重启

技术分享

出错了,检查刚才输入的内核版本号和内核映象文件查找问题

技术分享

通过查找,发现内核设备多了 /boot /dev/sda3 以及UUID后面的文件有双引号。内核映象文件中发现q多了 /boot 以及版本号和内核文件不一样。改正之后重启

技术分享

重启之后系统正常

技术分享

通过这两个实验发现,引导扇区损坏和配置文件损坏修得不一样,是不是真的这样有侍以后进一步发现


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。