grub损坏一般有两种情况:第一、安装双系统时,后安装的系统把先安装的系统的MBR删除了。第二、误操作将grub文件删除了。

  不管怎样都需要进入到救援模式,详细请看CentOS通过光盘启动救援数据

(1).安装双系统后,MBR引导记录损坏

  我们使用命令先模拟环境"dd if=/dev/zero of=/dev/sda bs=446 count=1"

1)CentOS6系统

  进入到救援模式后,先使用chroot /mnt/sysimage进入到实根下,接着使用grub-install /dev/sda修复MBR引导记录,最后exit退出实根,并使用reboot重启。

  重启时注意将光盘引导启动项低于硬盘启动项。然后等待修复重启即可

2)CentOS7系统

  与CentOS6系统基本一致,只是修复命令使用的是grub2-install /dev/sda。

(2).误删除grub文件。

1)CentOS6系统

  使用命令"rm -rf /boot/grub/"模拟误删除grub文件。重启后显示如下界面

  再次重启,使用光盘引导进入救援模式。使用chroot /mnt/sysimage进入到实根下,接着使用grub-install /dev/sda修复。

  不过CentOS6能生成配置文件grub.conf,所以需要手动编辑。我们需要先使用ls /boot/获取系统映射名、内核名称与虚拟系统名称(如下图)。这里我们可以看到系统映射名为System.map-2.6.32-642.el6.x86_64,内核名称vmlinuz-2.6.32-642.el6.x86_64,虚拟系统名称initramfs-2.6.32-642.el6.x86_64.img。

  再使用df -h看一下根目录在哪里,我这里是/dev/mapper/vg_centos6-lv_root。

  再使用cat /boot/grub/device.map看一下第一块硬盘对应什么,我这里sda对应hd0

  下面就可以开始写配置文件了,vim /boot/grub/grub.conf开始编辑文件。配置内容如下

  保存退出。exit退出实根,reboot重启。修改硬盘启动项高于光盘启动项,然后等待修复完成即可。

  注意:配置文件里内核和虚拟系统为什么是/开头,而不是/boot/开头,是因为root (hd0,0)这个参数,设置了grub根为第一块硬盘的第一个分区,我们这里就是/boot/。

2)CentOS7系统

  使用命令"rm -rf /boot/grub2/"模拟误删除grub文件。重启后显示如下所示界面

  再次重启,使用光盘引导进入救援模式。使用chroot /mnt/sysimage进入到实根下,接着使用grub2-install /dev/sda修复。

  接着生成配置文件,这里比CentOS6要简单很多,直接使用命令grub2-mkconfig -o /boot/grub2/grub.cfg即可。

  exit退出实根,reboot重启。修改硬盘启动项高于光盘启动项,等待修复完成即可。

CentOS重装grub修复损坏的系统的更多相关文章

  1. win7+ubuntu双系统 重装win7后grub修复

    问题:之前安装的是win7+ubuntu双系统,重装win7后启动选项没有了,直接进入的是win7系统,无法进入ubuntu系统了. 解决办法:我们需要修复grub,将ubuntu系统重新挂载一下,具 ...

  2. centos 6.8 启动损坏修复实验

    前两天遇到了一个问题,centos必须借助CD的启动才能进入系统,当时想着做个测试,这会儿正好有时间,在VMWare里面试试. 思想是这样的,删除boot里面的文件,然后重启看效果. 具体过程如下: ...

  3. 再次安装双linux系统及kali的grub修复!

    打算下学期不带笔记本,平时编程上网本就够了,也就看看一般的算法,于是那上网本装centos7和kali,上网本是APU,但是这两个版本的linux都支持的不错. 先安装centos,由于熟悉了linu ...

  4. CENTOS手动安装修复python ,YUM CENTOS手动安装修复YUM

    CENTOS手动安装修复YUM  2019年3月8日  杨宇 Comments 0 Comment 目录 [hide] 一.问题场景 二.手动修复 2.1 下载 rpm 包 2.2 安装 rpm 包 ...

  5. RHEL6.5 grub修复测试

    RHEL6.5 grub修复测试 1.删除系统中的grub.conf配置文件,然后重启系统#rm -f /boot/grub/grub.conf#reboot 2.重启后,系统进入到grub界面:gr ...

  6. 破解CentOS7的root及加密grub修复实战

    破解CentOS7的root及加密grub修复实战 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.破解CentOS7的root口令方案1 1>.启动时任意键暂停启动 2& ...

  7. 82 fsck-检查与修复 Linux 档案系统

    Linux fsck命令用于 检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统. 语法 fsck [-sACVRP] [-t fstype] [--] [fsck-opt ...

  8. 修复sublime text系统右键菜单

    修复sublime text系统右键菜单 安装完Sublime Text2后,拿掉电脑里面的备用硬盘,导致每次使用Open with Sublime Text2的时候,都会出错,打开注册表,找到 HK ...

  9. ArcGIS自定义工具箱-修复损坏的工作空间

    ArcGIS自定义工具箱-修复损坏的工作空间 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:替换数据源的工作空间 用途:针对损坏的数据源,批量进行修复 案例数 ...

随机推荐

  1. [转载]memset()的效率

    http://blog.csdn.net/hackbuteer1/article/details/7343189 void *memset(void *s, int ch, size_t n); 作用 ...

  2. [整理]C中的静态存储区

    静态存储区:即内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.它主要存放静态数据.全局数据和常量.栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些 ...

  3. 20155225 2016-2017-2 《Java程序设计》第七周学习总结

    20155225 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 java提供的时间处理API 认识时间与日期,时间日期处理不是我想象中那么简单的问题,涉及地 ...

  4. td自动换行

    自动换行方法: 1.在<td>中设置样式style为word-wrap:break-word;word-break:break-all; (一般情况只需要设置word-break:brea ...

  5. 【leetcode 简单】 第六十题 反转链表

    反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代 ...

  6. python初步学习-python 模块之 sys(持续补充)

    sys sys 模块包括了一组非常实用的服务,内含很多函数方法和变量 sys 模块重要函数变量 sys.stdin 标准输出流 sys.stdout 标准输出流 sys.stderr 标准错误流 sy ...

  7. php的几个面试题

    1. mysql_num_fields() 返回结果集中字段的数目 如: $result = mysql_query("SELECT id,name,age FROM mydb.tb1 wh ...

  8. mysql 数据范围总结

    MEDIUMINT 带符号的范围是-8388608到8388607,无符号的范围是0到16777215,使用3个字节. 一般情况下推荐使用 unsigned (无符号,即只接受正整数)

  9. Ubuntu使用apt-get upgrade升级时出错

    今天在按照常规的sudo apt-get update更新软件列表后,再使用sudo apt-get upgrade升级软件时,出现了以下的错误: 正在设置 linux-image-extra-4.4 ...

  10. 怎么看innodb的B+TREE层数?

    怎么看innodb的B+TREE层数?,下面以sysbench_testdata.sbtest2为例查看索引层数: - 查看相关系统 root@localhost [sysbench_testdata ...