共计 988 个字符,预计需要花费 3 分钟才能阅读完成。
导读 | 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 作者:王思宁,审核员:逄增宝