如果你的MBR挂掉了。。。。。。

#grub挂掉问题描述
某人在装双系统的时候,不知道为什么用windows的PE重写了磁盘的MBR,导致开机之后没有显示grub。
只是在屏幕上显示了一个 j.然后,就很绝望。

#grub挂掉解决方法:
1、将U盘系统(即U盘内有一个可以用的操作系统,一个有操作系统可以使用的硬盘也可以)插入到主机上,修改BIOS,优先从U盘启动。
2、进入U盘系统中,执行fdisk -l,查看mbr挂掉的硬盘的名称,此处假设mbr挂掉的硬盘为sda
3、执行grub-install /dev/sda
4、如果有必要,把U盘中/boot/grub中的文件移动到mbr删除的硬盘中/boot/grub
5、reboot,移除U盘
6、如果成功进入grub选择界面,恭喜你,跳转到步骤13
7、如果进入到grub rescue 中,emmmm,你不是那个比较幸运的
8、输入ls,查看你的硬盘分区,一般情况输出为几个(hdX,msdosX)或者其他类似的东西(这个格式的分区是从1开始计数的)
9、如果你记得你的硬盘分到哪个区了,那么输入root=(hdX,msdosX)即你根目录所在分区,回车
10、输入prefix=(hdX,msdosX)/boot/grub回车
11、输入insmod normal 回车
12、输入normal 回车,然后你就可以看到那个系统选择界面,如果系统可以正确载入,选择步骤19
13、正常情况下,你可以正确选择相关系统,然后进入到你想要进入的系统,但是不排除你把grub.conf文件弄坏的情况,即你需要手动载入内核
14、在grub界面输入grub >root=(hdx,msdosx)//设置系统启动分区,在这里指向内核所在分区
15、grub >prefix=(hdx,msdosx)
16、grub >insmod (hdx,msdosx)/boot/gurb/linux.mod
17、grub >linux /boot/vmlinuz-xxx-xxx root=/dev/sdax//里边的xxxx可以按Tab键
18、grub >initrd /boot/initrd-xxx-xxx.img
19、但是事情还没完,只是完成了大半。进入系统
20、在root权限下,终端输入update-grub
21、终端输入grub-install /dev/sda
22、问题解决

然后我的小伙伴被我打了个半死。。。。。。。
####注意:grub1和grub2的部分命令是不同的,13步之后如果出现问题,那么百度你所用的那个版本的grub命令

3 个赞

大佬牛逼,大佬喝娃哈哈:baby_bottle:

我想说。。。。任何一个debian的livecd的急救模式可以救grub的。。。你可能需要更简洁的方法

1 个赞

服务器资源由ZeptoVM赞助

Partners Wiki Discord