1、查看系统中的/boot/grub/grub.conf

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_test-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-431.el6.i686)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-431.el6.i686 ro root=/dev/mapper/vg_test-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=vg_test/lv_swap SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rd_LVM_LV=vg_test/lv_root rhgb quiet
        initrd /initramfs-2.6.32-431.el6.i686.img
 
 
2、模拟故障
删除boot目录下的grub相关文件:

重启之后报错:

3、修复故障

开机进入救援模式:

操作之前将根切换至之前的系统:

创建光盘挂载目录,并挂载光盘,安装kerner包,会生成/boot目录以及内核及initramfs :

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

从上图可以看到/boot 安装在/dev/sda1分区。 

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

确认grub目录已经生成,后面会用到:
 

此时仍然在救援模式,编辑/boot/grub/grub.conf文件

sh-4.1#vi  /boot/grub/grub.conf
default=0
timeout=5
hiddenmenu
title    linux
root   (hd0,0)
kernel  /vmlinuz-2.6.32.-431.el6.x86_64   ro   root=/dev/mapper/vg_test-lv_root
initrd   /initramfs-2.6.32-431.el6.x86_64.img
 
:x
保存并退出。然后重启,可以正常进入系统。

进入系统之后查看/boot/grub/grub.conf文件:

 

 参数解释:
  • chroot /mnt/sysimage                进入系统真实系统下
  • df -h                                              观察发现 / 挂载到逻辑卷上 /dev/mapper/vg_test-lv_root
  • grub-install  /dev/sda                   在根(/)挂载磁盘生成grub目录。绝大多数情况下,根和/boot在一个磁盘
  • default=0                                     默认进入第一个引导系统
  • timeout=5                                     5秒后自动进入启动界面
  • hiddenmenu                                隐藏菜单
  • title  linux                                    标签
  • root (hd0,0)                                boot目录在(hd0,0)分区上
  • kernel                                         /vmlinuz-2.6.32.-431.el6.x86_64   ro   root=/dev/mapper/vg_test-lv_root 【若硬盘和分区很多,推荐使用UUID】
  • 或 kernel              /vmlinuz-2.6.32-696.e16.x86_64 ro    root=UUID=XXXXX \\指明内核文件,ro为只读挂载,root指定根分区(可以是分区或者逻辑卷,或者指定根分区的UUID),rhgb为启动过程图形化显示的参数,quiet为显示内核启动过程的参数
  • initrd /initramfs-2.6.32-696.e16.x86_64.img       指明ramfs文件
 
 
4、临时编辑/boot/grub/grub.conf文件解决故障
可以在救援模式编辑/boot/grub/grub.conf文件,也可以临时编辑启动文件
/boot/grub/grub.conf
 

 
 boot回车启动。可以正常进入系统。
 
 
注:
  • grub>  root (hd0,0)  #是说根分区在第一块硬盘的第一个分区上。(hd0,1)是说根分区在第一块硬盘的第二个分区上
  • grub>  kernel /boot/vmlinuz-2.6.32-431.el6.x86_64 ro  root=/dev/mapper/vg_test-lv_root        #指明内核路径和根分区
  • grub>  initrd  /boot/initramfs-2.6.32-431.el6.x86_64.img    #指明initramfs 路径启动系统加载驱动
  • grub>  boot  #启动上面指定的系统,如果是reboot就等于重启整个系统了,刚才的设置就失效了
 
 
 
此时已经可以引导系统启动了,但是还没有grub.conf文件,可以在系统启动后编写一个grub.conf文件即可。 否则重启系统后就无法正常开机了,除非在grub界面指定内核和驱动文件的路径
 
 编写grub.conf文件:
 

 

Centos6 修复grub损坏故障的更多相关文章

  1. 修复GRUB引导故障!

    故障原因:MBR中的GRUB引导程序遭到破坏,grub.conf文件丢失,引导配置有误 故障现象:系统引导停滞,显示“grub>”提示符 解决思路:若无MBR备份,进入急救模式,重新安装grub ...

  2. CentOS6系列系统启动常见故障排查与解决方法

    情景一.内核文件损坏 /boot/vmlinuz-2.6.32-642.el6.x86_64 内核文件 1.故障现象 2.解决方法:挂载光盘,进入rescue(救援)模式 3.选择--English- ...

  3. Linux修复MBR扇区故障

    给虚拟机增加一块硬盘,用于备份mbr的信息 fdisk -l 查看硬盘系统是否认识 fdisk /dev/sdb 进行分区 fdisk -l 查看分区是否出来 mkfs -t ext4 /dev/sb ...

  4. 怎样修复“Windows/System32/Config/System中文件丢失或损坏”故障

    怎样修复“Windows/System32/Config/System中文件丢失或损坏”故障 英文原文引自 http://xphelpandsupport.mvps.org/how_do_i_repa ...

  5. CentOS GRUB损坏修复方法

    前言 博客很久没有更新了,一个原因就是原来存放部署博客的环境坏了,硬盘使用的是SSD,只要读取到某个文件,整个磁盘就直接识别不到了,还好博客环境之前有做备份,最近一直没有把部署环境做下恢复,今天抽空把 ...

  6. Centos 6系统修复grub

    author:JevonWei 版权声明:原创作品 错误界面如下时,应该是grub的stage数据有缺失,应该从新安装grub GRUB引导的stage1阶段损坏,系统启动会直接进入光盘引导界面,st ...

  7. ubuntu live cd修复grub引导项

    1. 通过Ubuntu Live CD(安装盘,选择try Ubuntu)进入Ubuntu系统 打开终端,依次进行如下操作: 1. sudo fdisk -l 出现如下界面: 2. 然后会看到,有好多 ...

  8. linux+win7双系统重装win7修复grub的办法(转)

    本人是debian+win7的双系统, 下面介绍下重装win7的整个过程以及遇到的一些小问题,在查阅相关博客和朋友的帮助下成功修复, 记录下以便以后有不时之需, 也希望能帮助到遇到同样问题的朋友! 首 ...

  9. [转]使用Ubuntu Live CD修复Grub引导教程

    这个教程的方法我用过了,能够解决了我的问题. 这篇文章主要介绍了使用Ubuntu Live CD修复Grub引导教程,本文以 Ubuntu Live CD 修复 Grub 引导为例,需要的朋友可以参考 ...

随机推荐

  1. Spring——原理解析-利用反射和注解模拟IoC的自动装配

    解析Spring的IoC容器基于注解实现的自动装配(自动注入依赖)的原理 1.本文案例 使用注解和反射机制来模拟Spring中IoC的自动装配功能 定义两个注解:@Component,用来标注组件:@ ...

  2. oracle存储过程错误跟踪

    1.首先创建用于保存错误信息的表 1 2 3 4 5 6 7 8 CREATE TABLE TBL_PROC_ERRMSG (   BIZ_CODE VARCHAR2(50),   ERR_LINE ...

  3. 如何将浏览器上的JS文件屏蔽

    在学习自定验证时,需要在页面上进行调试运行结果,这时的JS会影响运行结果的显示,所以我们会将JS代码屏蔽掉,那么我们该如何做呢? 第一步: 在浏览器地址栏输入about:config  点击“我保证会 ...

  4. redhat下配置SEED DVS6446开发环境3

    1.运行arm_v5t_le-gcc,报错为: 64bit的Linux操作系统,无法运行32bit的应用程序 /lib/ld-linux.so.2: bad ELF interpreter: No s ...

  5. git clone的代码没有前端代码

    需要切换到文件夹目录下,然后 git checkout dev 切换到开发环境(其实是切换到了dev分支) 后来查看分支,发现有两个分支:master 和 dev . ================ ...

  6. 配置pip镜像源(转)

    使用pip安装python扩展时,如若没有配置国内镜像源,在未翻墙的情况下,其下载速度将会特别缓慢.因此,有些时候我们必须使用国内镜像源,来解决pip下载安装速度慢的问题,比较常用的国内镜像包括: 阿 ...

  7. 删除delphi组件TStringlist中的重复项目

    https://blog.csdn.net/ozhy111/article/details/87975663 删除delphi组件TStringlist中的重复项目 2019年02月27日 15:41 ...

  8. MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)

    背景说明 需求:MySQL树形结构, 根据指定的节点,获取其下属的所有子节点(包含路径上的枝干节点和叶子节点) 枝干节点:如果一个节点下还有子节点,则为枝干节点. 叶子节点:如果一个节点下不再有子节点 ...

  9. Shell编程、part3

    本节内容 1. shell流程控制 2. for语句 3. while语句 4. break和continue语句 5. case语句 6. shell编程高级实战 shell流程控制 流程控制是改变 ...

  10. 二叉平衡树AVL的插入与删除(java实现)

    二叉平衡树 全图基础解释参考链接:http://btechsmartclass.com/data_structures/avl-trees.html 二叉平衡树:https://www.cnblogs ...