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. [整理]C语言中字符常量与ASCII码

    所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示.而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为 ...

  2. hive笔记之row_number、rank、dense_rank

    hive中有三个与分组排序相关的分析函数(我起初也认为是窗口函数,后来看到手册里是把他们划到了Analytics functions下),row_number.rank.dense_rank,我一直傻 ...

  3. [转]STL 容器一些底层机制

    1.vector 容器 vector 的数据安排以及操作方式,与 array 非常相似.两者的唯一区别在于空间的运用的灵活性.array 是静态空间,一旦配置了就不能改变,vector 是动态数组.在 ...

  4. javaScript书写规范

    命名规范. 常量名    全部大写并单词间用下划线分隔    如:CSS_BTN_CLOSE.TXT_LOADING对象的属性或方法名    小驼峰式(little camel-case)    如: ...

  5. rollup&&cube

    group by 擴展 rollup&&cube --按job分組計算不同job的匯總工資   SELECT job, SUM (sal)     FROM emp GROUP BY ...

  6. 洛谷 P4592: bzoj 5338: [TJOI2018]异或

    题目传送门:洛谷P4592. 题意简述: 题面说的很清楚了. 题解: 发现没有修改很快乐.再看异或最大值操作,很容易想到可持久化 01trie. 这里要把 01trie 搬到树上,有点难受. 树剖太捞 ...

  7. Percona XtraBackup 实现全备&增量备份与恢复【转】

    percona-xtrabackup主要是有两个工具,其中一个是xtrabackup,一个是innobackupex,后者是前者封装后的一个脚本.在针对MySQL的物理备份工具中,大概是最流行也是最强 ...

  8. linux系统iostat命令详解

    iostat  -k 3 5  (以KB为单位,每3秒统计一次,共统计5次) • avg-cpu: 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值    %user    用户空 ...

  9. 31 Godoc: documenting Go code 编写良好的文档关于godoc

    Godoc: documenting Go code  编写良好的文档关于godoc 31 March 2011 The Go project takes documentation seriousl ...

  10. java基础78 Servlet的生命周期

    1.Servlet的生命周期 简单的解析就是: 创建servlet实例(调用构造器)---->调用init()方法---->调用service()方法----->调用destroy( ...