Linux环境下怎么修复GRUB引导故障
小编今天带大家了解Linux环境下怎么修复GRUB引导故障,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“Linux环境下怎么修复GRUB引导故障”的知识吧。
Linux环境下如何修复GRUB引导故障?引起GRUB故障的原因:MBR中的GRUB程序遭到破坏 grub.conf文件丢失,引导配置有误。
grub引导的配置文件存放于 /boot/grub2/grub.cfg,当此文件损坏或丢失的话,Linux主机启动后可能只会出现 “grub>” 的提示符,如下图所示:
解决办法
Linux开机自动会进入到grub引导介面(如果没进入到grub引导介面可以按C键进入)
GNU GRUB version x.x.xxxxx Minimal BASH-like line editing is supported... grub >
第一步:找到系统对应的扇区及/boot/grub目录 注意:假设是硬盘接口类型sd,hd0对应是sda hd1对应是sdb (hd0)≠(hd0) (hd1,gpt2)=(hd1,2) ls (hd1,gpt2) 查看(hd1,gpt2)扇区信息(盘符、空间等) ls (hd1,gpt2)/ 查看(hd1,gpt2)扇区下的内容(文件、文本等)
如果打印每个扇区目录信息,会出现两种情况:
1、ls (hd1,gpt2)显示Unknow filesystem提示说明这个扇区不是我们要找系统分区
2、ls (hd1,gpt2)显示/boot /proc等系统目录信息说明这个扇区是我们要找的系统分区
如果找到对应扇区的系统分区,可能会遇到两种情况:
1、 A目录下有/boot/grub
2、A目录下有/boot,B目录下有/grub (此时在第二步加载系统内核要使用 set prefix=(hd1,gpt2)/grub 命令)
grub > ls (hd0), (hd1), (hd1, gpt1), (hd2,gpt2), (hd3, gpt3)
第二步:加载系统内核 grub > set root=hd1,2 #此处不需要括号,加括号也可以,hd0和hd1是有区别 grub > set prefix=(hd1,2)/boot/grub grub > linux /vmlinuz root=/dev/sdb2 #vmlinuz必须使用TAB补全(可能有后缀),注意sda或sdb需要看自己的实际情况 grub > initrd /initrd.img-xxx #TAB补全,多内核情况下版本需统一 grub > boot
提示:如果在boot之后不幸进入BusyBox,说明参数设置有问题,可以仔细查看出错的日志,再重启系统后重复执行第二步操作(重启系统后上面设置的参数会被清空)。
第三步:修改grub引导 如果成功进入系统,记得要马上信息grub引导,不然重启系统后问题还是存在
sudo update-grub2 #grub2命令(高版本使用grub2) $ sudo grub-install /dev/sdb
第四步:重启系统 重启系统后即可正常进入系统 reboot
感谢大家的阅读,以上就是“Linux环境下怎么修复GRUB引导故障”的全部内容了,学会的朋友赶紧操作起来吧。相信编程网小编一定会给大家带来更优质的文章。谢谢大家对编程网网站的支持!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341