导读 | GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。 |
我的电脑只有一个硬盘sda,所以系统肯定被装在了sda,在grub里会被识别为hd0。
用dd命令覆盖了sda硬盘的前400个字节,破坏了bootloader,这里只破坏前446个字节就行。
这里千万不要重启电脑,这里演示的是不重启修复grub。
使用sync把刚刚的操作同步到磁盘,输入grub进入grub的界面。
root (hd0,0)是指的内核所在的分区,hd0是第一硬盘,后面的0是第一分区
setup(hd0)安装grub到hd0硬盘
此时模拟损坏的grub已经修复完成,可以重启。
我们先查看一下grub.conf文件,并且将grub.conf改名为grub.conf.bak,这样模拟grub.conf文件已经损坏。
哈哈,重启之后果然进不了系统了,给我们一个grup>提示符。
输入root (hd0, 在这里按tab键,出现下面的分区,我们只需要type为83的分区,所以我们输入root (hd0,0)
输入kernel / 按tab后发现有很多文件夹,我们知道内核放在boot文件夹下,所以输入kernel /boot/vm 此处按tab自动补全就行,root=/dev/sda1的意思是指定根分区设备文件的位置,然后回车确认。
输入initrd / 按tab后发现有很多文件夹,我们知道临时镜像放在boot文件夹下,所以输如initrd /boot/initra 此处按tab自动补全就行,然后回车确认
此时输入boot按照我们设定的内核文件和临时镜像文件启动系统,如:grub>boot
哈哈,系统启动后成功进入系统,把grub.conf还原就行啦。
本文原创地址:https://www.linuxprobe.com/boot-grub.html作者:王思宁,审核员:逄增宝
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/99258.html