zoukankan      html  css  js  c++  java
  • CentOS重装grub修复损坏的系统

      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重启。修改硬盘启动项高于光盘启动项,等待修复完成即可。

  • 相关阅读:
    python 自定义去掉空行
    JavaScript 获取时间函数
    python 自定义ssh
    python 去掉空行
    python roboot解析 output.xml
    语音识别-windows
    python 自定义request模块调试
    python 自定义装饰器
    python 自定义Server酱模块编写
    python 自定义exception模块
  • 原文地址:https://www.cnblogs.com/diantong/p/10744647.html
Copyright © 2011-2022 走看看