在使用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. PTPX Power Analysis Flow

    PrimeTime PX工具是PrimeTime工具内的一个feature. PTPX的功耗分析,可以报告出chip,block,cell的各个level的功耗. 使用PTPX可以分析的功耗的方式: ...

  2. hql语句查询实体类采用list方法的返回结果集

    在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况:1.查询全部字段的情况下,如"from 实体类", ...

  3. VMware搭建 sql server2012集群加节点 KB953748

    --node4加入节点前 将共享磁盘挂载到node4,仅测试验证磁盘挂载,否则会导致整个集群磁盘offline切换 --node4 加入集群报错,无法访问计算机“node4” 0.public网卡勾选 ...

  4. 最懂中文的H5前端框架amazeUI

    Amaze UI 是一个轻量级(所有 CSS 和 JS gzip 后 100 kB 左右)的前端框架, 基于开源社区流行前端框架编写 amazeUI的网址:http://amazeui.org/get ...

  5. ionic入门之AngularJS扩展(一)

    ionic ionic是一个强大的混合式/hybridHTML5移动开发框架,特点是使用标准的HTML. CSS和JavaScript,开发跨平台(目前支持:Android.iOS,计划支持:Wind ...

  6. opencv常用数据结构之:IplImage

    typedef struct_IplImage{      int nSize; //IplImage大小      int ID; //版本(=0)      int nChannels; //大多 ...

  7. 【海岛帝国系列赛】No.2 海岛帝国:“落汤鸡”市的黑帮危机

    50200210海岛帝国:“落汤鸡”市的黑帮危机 [试题描述] 近几天,犯罪分子发现“药师傅”帝国的警力约等于0.(请见YSF的海岛帝国)于是开始猖狂了起来.他们选择了依山靠水(农村?)的“落汤鸡”市 ...

  8. js操作记录

    让checkbox全选 $("#checkall").click(function(){ $("input[name='checklist']").prop(& ...

  9. 基于mjpg_streamer视频服务器移植【转】

    本文转载自:http://blog.csdn.net/wavemcu/article/details/7539560 MJPG简介: MJPG是MJPEG的缩写,但是MJPEG还可以表示文件格式扩展名 ...

  10. 【python cookbook】【数据结构与算法】20.将多个映射合并为单个映射

    问题:在逻辑上将多个字典或映射合并为一个单独的映射结构,以此执行某些特定的操作,比如查找值或者检查键是否存在 解决方案:利用collections模块中的ChainMap类 ChainMap可接受多个 ...