在使用Linux的过程中,难免会出现开机提示grub >而无法启动,可能是系统中/boot/grub文件丢失等原因造成的,当出现此问题的时候只要系统分区没有格式化一般是可以修复的,下面就以虚拟 机为例,删除/boot分区,在linux救援模式下重新修复:

实验使用的系统为Centos 6.5 x86_64

1、删除boot分区:会导致gurb和linu内核丢失,然后重启:

此时系统重启后已经完全无法再次启动,如下:

2、使用光盘镜像引导系统,并选择救援模式启动:

提示将系统挂载至/mnt/sysimage:

2、将根切换至之前的系统:

3、创建光盘挂载目录并挂载光盘:

4、安装kerner包,会生成/boo目录以及内核及initramfs

5、修复grub,首先要查看一下自己的磁盘分区情况,以确认grub安装在那个磁盘上:

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

6、确认geub目录已经生成:

此时系统仍然无法正常启动,因为确认grub.conf文件,可以尝试重启看一下界面:

5、在grub界面指定kernel和initramfs所在路径启动,可以操作的命令有:

grub>kernel 内核文件     //设置内核文件的路径

grub>initrd  镜像文件名  //设置镜像路径

grub>boot               //启动指定操作系统

grub>help               //获取帮助

grub>reboot             //重启系统

grub>md5-crypt         //生成口令的MD5密文

grub>setup (hdx[,y])    //安装GURB到MBR/指定分区的引导扇区中

grub>hide 分区       //隐藏分区

grub>cat 文件名      //显示文件内容

grub>find 文件名     //查找文件

grub>rootnoveify (hdx,y)  //设置根设备所对应的分区,但不检查加载点

grub>chainloader  文件名 //加载指定的文件

在此指定linux内核和initramfs文件路径,并启动linux系统:

注:

grub>  root (hd0,1)  #是说跟分区在第一块硬盘的第二个分区

grub>  kernel /boot/vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/sda2 #指明内核路径和根分区

grub>  initrd  /boot/initramfs-2.6.32-431.el6.x86_64.img #指明initramfs路径启动系统加载驱动

grub>  boot  #启动上面指定的系统,如果是reboot就等于重启整个系统了,刚才的设置就失效了

此时已经可以引导系统启动了,但是还没有grub.conf文件,可以在系统启动后编写一个grub.conf文件即可

6、编写grub.conf文件:

可以看到,此时系统是没有grub.conf文件的,如果重启系统后就无法正常开机了,除非在grub界面指定内核和驱动文件的路径:

创建grub.conf文件:

注:kernel
一行后面root=/dev/sda2是指的根分区所在的磁盘,假如boot分区和根分区没有在一起,则grub.conf文件要写明boot分区和根分
区,另外不推荐安装磁盘分区的方式写根分区的路径,因为有可能系统重启后磁盘好会出现变化,因此推荐使用UUID的方式表明,每个分区都有自己的
UUID,是在整个系统中唯一的身份标示,可以使用命令blkid  /dev/sda2获取。

7、最后重启系统,以硬盘直接启动测试;

系统已经正常启动完成!

总结:修复grub是个漫长的过程,下午用了三个多小时的时间写博客和修复系统,修复期间为了排错,虚拟机重启了至少几十次,因此要有耐心、认真的去做一件事,才能做的最好!

CentOS 6.5中linux grub修复的更多相关文章

  1. GRUB与Linux系统修复(第二版)

    GRUB配置解析 配置文件保存在 /boot/grub/grub.conf[/boot分区最好应该单独划分出来] 软链接保存在 /etc/grub.conf 1.grub.conf文件分析 defau ...

  2. 如何在CentOS 5.x 中安装Windows Azure Linux Agent (WALA)

    Qing Liu  Tue, Mar 10 2015 3:06 AM 在今天的这一个章节中,我们主要讨论在CentOs 5.x 中如何安装Windows Azure Linux Agent 2.11 ...

  3. Linux Grub系统加密、破密、修复

    一.在重新启动系统时候按任意键进入 grub界面  Grub加密 一.title前的密码 修改grub.conf 这种加密只是在用户要进入grub界面的时候提示要输入密码,但是可以正常进入系统,有没有 ...

  4. ssh远程连接docker中linux(ubuntu/centos)

    ssh远程连接docker中linux(ubuntu/centos) https://www.jianshu.com/p/9e4d50ddc57e centos docker pull centos: ...

  5. VMware Workstation中linux(centos)与windows7共享文件夹

    引用网站有: http://www.jb51.net/LINUXjishu/161994.html http://www.cnblogs.com/xiehy/archive/2011/12/19/22 ...

  6. Linux GRUB手动安装方法详解

    需要手工安装 GRUB 主要有两种情况: Linux 系统原先不是使用 GRUB 作为引导程序而现在想要使用 GRUB 来作为引导程序: MBR 中的引导程序被覆盖,需要在 MBR 中重新安装 GRU ...

  7. [转帖]如何重置CentOS/RHEL 7中遗忘的根用户帐户密码

    如何重置CentOS/RHEL 7中遗忘的根用户帐户密码 https://www.cnblogs.com/swordxia/p/4389466.html 作者的blog质量很高呢 没看完 但是感觉 很 ...

  8. CentOS 6.4中升级编译安装GCC 4.8.1 + GDB 7.6.1 + Eclipse 以及Kdump配置

    在CentOS 6.4中编译安装GCC 4.8.1 + GDB 7.6.1 + Eclipse 今天在isocpp上看到"GCC 4.8.1 released, C++11 feature ...

  9. Linux——GRUB简单学习笔记

    GRUB的配置文件默认为  :/boot/grub/grub.conf # ls -l /etc/grub.conf GRUB配置选项: default定义缺省启动系统 timeout定义缺省等待时间 ...

随机推荐

  1. paper 49:论文退稿?审稿人帮你总结了22个能避免的常见问题

    很多投稿出去的文章都是可上可下的.往往退稿的时候,审稿人提了一堆意见,说退稿.但是大家想过没有?如果能事先预测到这些意见,或者请懂行的人事先看过文章预测出意见,然后根据这些意见修改好了再投出去,说不定 ...

  2. php防sql注入

    [一.在服务器端配置] 安全,PHP代码编写是一方面,PHP的配置更是非常关键. 我 们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们 ...

  3. 给图像添加logo

    #include <opencv2\opencv.hpp>#include"ProcessPixels.h"using namespace cv;using names ...

  4. sql server 2008 安装过程与创建建sql server登录用户

    1.sql server 下载安装包路径:http://pan.baidu.com/s/1qWuzddq 2.安装过程图解教程 ,参照网址:http://jingyan.baidu.com/album ...

  5. 使用Node.js的socket.io模块开发实时web程序

    首发:个人博客,更新&纠错&回复 今天的思维漫游如下:从.net的windows程序开发,摸到nodejs的桌面程序开发,又熟悉了一下nodejs,对“异步”的理解有了上上周对操作系统 ...

  6. ckeditor添加插入flv视频的插件

    首发:个人博客,更新&纠错&回复 昨天写在网页中播放flv的博文的时候,想在博文中插入视频,但是发现无法实现.因为用的编辑器是ckeditor,决定自己写个插件插入视频.官方的教程在这 ...

  7. JavaScript复习笔记——字符串

    String构造器可以使用new调用,也可以不使用,但是,这两种调用的结果也是完全不一样的.用new调用的时候,String作为构造器函数,创建字符串对象.不使用new的时候,String用作一个常规 ...

  8. sql插入删除表内字段基础操作

    1 取得表格资讯 1.1 DESCRIBE指令 「DESCRIBE」是MySQL资料库提供的指令,它只能在MySQL资料库中使用,这个指令可以取得某个表格的结构资讯,它的语法是这样的: 你在MySQL ...

  9. 为什么很多人用keepalived来实现redis故障转移

    目前,Redis还没有一个类似于MySQL Proxy或Oracle RAC的官方HA方案.Redis作者有一个名为Redis Sentinel的计划 ,据称将会有监控,报警和自动故障转移三大功能,非 ...

  10. IE6不支持CSS的属性选择器

    input[type="text"] { width: 50px; } 测试IE6不生效,而IE7以上浏览器则没问题