我们平时使用linux 的时候,总难免会发生一些小失误,轻则系统还可以重新启动,重则系统无法正常启动。

    1.当grub.conf 文件损坏或是丢失了,系统启动直接进grub 模式

RHEL 故障排错_RHEL   Centos 故

      然后 root (hd0,0)   #这个也可不输入

           kernel /vmlinuz-2.6.32-71.el6.i686 ro root=/dev/mapper/vg_wangshuai-lv_root ro  rhgb quiet

           initrm /initramfs-2.6.32-71.el6.i686.img

           boot           #就可以启动了

      进入系统需手动编辑grub.conf 文件    #最好将其备份,还有fstab文件 /boot/目录

    2.当grub 整个目录丢失,系统启动提示Error 15

      RHEL 故障排错_RHEL   Centos 故_02RHEL 故障排错_RHEL   Centos 故_02RHEL 故障排错_RHEL   Centos 故_02RHEL 故障排错_RHEL   Centos 故_05

     此时我们需要 使用光盘引导,启动至rescue模式

     chroot /mnt/sysp_w_picpath

     RHEL 故障排错_RHEL   Centos 故_06

     可以看到系统建立了grub目录,然后重启系统进入grub 模式。接着按照上面1的情况进去手动编辑grub.conf 文件,此时必须有root (hd0,0)这个,要不然系统不能起来。出现下面的情况

    RHEL 故障排错_RHEL   Centos 故_07

    或

    RHEL 故障排错_RHEL   Centos 故_08

    进入系统手动编辑好grub.conf 后,和正常的grub目录相比少了两个文件(正常16个文件,少了menu.list 和 splash.xpm.gz 两个文件),但不影响系统正常启动。

     重启后是下面的画面

RHEL 故障排错_RHEL   Centos 故_09     正常情况是

  RHEL 故障排错_RHEL   Centos 故_10

     3.如果/boot 目录损坏或是丢失,系统启动提示Error 15

     RHEL 故障排错_RHEL   Centos 故_05

     此时我们需要 使用光盘引导,启动至rescue模式

     chroot /mnt/sysp_w_picpath

RHEL 故障排错_RHEL   Centos 故_12

     然后按照grub 目录丢失处理就行了。

RHEL 故障排错_RHEL   Centos 故_13

RHEL 故障排错_RHEL   Centos 故_14

     重启之后/boot 目录比正常少了两个目录(少了efi目录和lost+found目录),但不影响系统正常启动。再手动编辑grub.conf 文件了。

   4.当我们把/dev/sda 的前446字节删除了,系统也是启动不了

     dd if=/dev/zero  of=/dev/sda   bs=446   count=1

     系统启动时会尝试从网络启动,此时我们需要需要进入援救模式。

     chroot  /mnt/sysp_w_picpath

     grub-install  /dev/sda      #重装grub

     重启就好了。类似于grub 目录损坏丢失。

   5.dd  if=/dev/zero   of=/boot/vmlinuz-2.6... bs=512  count=1 (如同将/boot 下的文件删除)

     系统重启会提示

    RHEL 故障排错_RHEL   Centos 故_15

      解决办法:
      cd /mnt/sysp_w_picpath/boot
      rpm -qf vmlinuz-2.6 可以查出vmlinuz-2.6 属于那个模块。
      然后下载所属模块

       rpm  -ivh  ftp://192.168.0.254/pub/rhel6/dvd/Packages/kernel-..
       rpm --force -ivh  ftp://192.168.0.254/pub/rhel6/dvd/Packages/kernel-..  (强制覆盖)

    6.dd if=/dev/zero   of=/boot/initramfs...   bs=512 count=1   (如同将/boot 下的文件删除)

      系统重启会提示

RHEL 故障排错_RHEL   Centos 故_16

       然后重启进入救援模式,执行:

      chroot  /mnt/sysp_w_picpath
       mkinitrd /boot/initrams-2.632-71.el6.x86-64.img `uname -r` --force #注意uname -r两边有反引号
       uname -r 是用来显示版本号的 。