导读 GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。
1.grub损坏不重启系统修复方法
1.1 先查看磁盘的信息

grub1

我的电脑只有一个硬盘sda,所以系统肯定被装在了sda,在grub里会被识别为hd0。

1.2 模拟演示grub损坏

 

grub2

用dd命令覆盖了sda硬盘的前400个字节,破坏了bootloader,这里只破坏前446个字节就行。

这里千万不要重启电脑,这里演示的是不重启修复grub。

1.3进入grub

grub3

使用sync把刚刚的操作同步到磁盘,输入grub进入grub的界面。

1.4 查找到内核分区安装grub

 

grub4

root (hd0,0)是指的内核所在的分区,hd0是第一硬盘,后面的0是第一分区

setup(hd0)安装grub到hd0硬盘

此时模拟损坏的grub已经修复完成,可以重启。

 

2. 当grub配置文件被损坏时的修复方法
2.1 模拟损坏grub.conf配置文件

 

grub5

grub6

我们先查看一下grub.conf文件,并且将grub.conf改名为grub.conf.bak,这样模拟grub.conf文件已经损坏。

2.2 重启之后的界面

grub7

哈哈,重启之后果然进不了系统了,给我们一个grup>提示符。

2.3开始查找内核的所在的分区

grub8

输入root (hd0, 在这里按tab键,出现下面的分区,我们只需要type为83的分区,所以我们输入root (hd0,0)

2.4 指定启动内核所在位置

grub9

输入kernel / 按tab后发现有很多文件夹,我们知道内核放在boot文件夹下,所以输入kernel /boot/vm 此处按tab自动补全就行,root=/dev/sda1的意思是指定根分区设备文件的位置,然后回车确认。

2.5指定临时镜像文件所在位置

grub10

输入initrd / 按tab后发现有很多文件夹,我们知道临时镜像放在boot文件夹下,所以输如initrd /boot/initra 此处按tab自动补全就行,然后回车确认

此时输入boot按照我们设定的内核文件和临时镜像文件启动系统,如:grub>boot

哈哈,系统启动后成功进入系统,把grub.conf还原就行啦。

 

本文原创地址:http://www.linuxprobe.com/boot-grub.html作者:王思宁,审核员:逄增宝