在使用Linux的过程中,不可避免会出现引导提示符grub>并且无法启动。这可能是由于系统中的/ boot / grub文件丢失引起的。发生此问题时,只要不格式化系统分区,通常就可以对其进行修复。以虚拟机为例,删除/ boot分区并在linux救援模式下再次对其进行修复:
实验中使用的系统是Centos 6. 5 x86_64
1、删除引导分区:它将导致grub和linu内核丢失,然后重新启动:

此时,系统完全无法重新启动,如下所示:
2、使用CD映像引导系统,然后选择救援模式以启动:

提示将系统挂载到/ mnt / sysp_w_picpath:

2、将根切换到上一个系统:
3、创建CD安装目录并安装CD:


4、安装kerner软件包将生成/ boo目录以及内核和initramfs

5、要修复grub,必须首先检查磁盘分区以确认该磁盘上已安装grub:

为第一个磁盘安装grub引导:

6、确认已生成geub目录:

这时,系统仍然无法正常启动,因为已确认grub.conf文件,您可以尝试重新启动以查看界面:

5、在grub界面中,指定内核和initramfs的启动路径。可以操作的命令是:
grub>内核内核文件//设置内核文件的路径
grub>初始图像文件名//设置图像路径
grub> boot //启动指定的操作系统

grub> help //获得帮助
grub> reboot //重新启动系统
grub> md5-crypt //生成密码的MD5密文
grub> setup(hdx [,y])//将GURB安装到MBR /指定分区的引导扇区中
grub>隐藏分区//隐藏分区
grub> cat文件名//显示文件内容
grub>查找文件名//查找文件
grub> rootnoveify(hdx,y)//设置与根设备相对应的分区,但不要检查安装点
grub> chainloader文件名//加载指定文件
在此处指定linux内核和initramfs文件路径,然后启动linux系统:

注意:
grub> root(hd0,1)#表示该分区位于第一个硬盘的第二个分区上
grub>内核/ boot / vmlinuz- 2. 6. 32-43 1. el 6. x86_64 ro root = / dev / sda2#指定内核路径和根分区
grub> initrd / boot / initramfs- 2. 6. 32-43 1. el 6. x86_6 4. img#指定initramfs路径以启动系统并加载驱动程序
grub> boot#启动上面指定的系统,如果重新启动,则意味着重新启动整个系统,并且该设置立即变为无效
这时,可以引导系统,但是还没有grub.conf文件。您可以在系统启动后写入grub.conf文件。

6、编译grub.conf文件:
可以看出系统目前没有grub.conf文件。如果系统重新启动,除非在grub界面中指定了内核和驱动程序文件的路径,否则它将无法正常启动:

创建grub.conf文件:

注意:内核行之后的root = / dev / sda2指的是根分区所在的磁盘。如果引导分区和根分区不在一起,则grub.conf文件应指定引导分区和根分区。另外,不建议安装磁盘分区的方法是写入根分区的路径,因为系统重启后磁盘可能会发生变化,因此建议使用UUID来指示每个分区具有自己的UUID,这是整个系统中的唯一标识。您可以使用命令blkid / dev / sda2来获取它。
7、最后,重新启动系统并直接使用硬盘启动测试;


系统已正常启动!
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/sanxing/article-356050-1.html
是可以做到底