系统 GRUB 损坏

类似得我们可以来写零 Bootloader 来实现 GRUB 被破坏的结果:

 
    
  1. [root@FCoE grub]# dd if=/dev/zero of=/dev/sda bs=446 count=1   
  2. 1+0 records in   
  3. 1+0 records out   
  4. 446 bytes (446 B) copied, 0.0017583 s, 254 kB/s  

重启后系统会因找不到 GRUB 而卡在“Booting from Hard Disk …”

挂载系统安装光盘然后选择进入 Rescue 模式,然后恢复 GRUB:

 
    
  1. bash-4.1# chroot /mnt/sysp_w_picpath   
  2. sh-4.1# grub   
  3. grub > root hd(0,0)   
  4. grub > setup (hd0)   
  5. grub > quit  

图 5. 恢复 GRUB

重启主机后,系统可正常引导。

系统内核文件丢失

系统丢失内核 kernel 文件,再次启动后会提示找不到文件。

图 6. 内核丢失

挂载系统安装盘进入援救模式,检查 /boot 目录下发现没有 kernel 文件。

 
    
  1. bash-4.1# chroot /mnt/sysp_w_picpath   
  2. bash-4.1# ls /boot   
  3. ls   
  4. config-2.6.32-71.el6.x86_64     lost+found   
  5. efi                                  symvers-2.6.32-71.el6.x86_64.gz   
  6. grub                                 System.map-2.6.32-71.el6.x86_64   
  7. initramfs-2.6.32-71.el6.x86_64.img  

从挂载的系统安装盘强制重新安装内核:

 
    
  1. sh-4.1# mount – o loop /dev/sr0 /media   
  2. sh-4.1# cd /media/Server/Packages   
  3. sh-4.1# rpm -ivh --force kernel-2.6.32-71.el6.x86_64.rpm   
  4. warning: kernel-2.6.32-71.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, \   
  5. key ID fd431d51: NOKEY   
  6. Preparing...                ########################################### [100%]   
  7.   1:kernel                  ########################################### [100%]  

在 /boot 目录下已经生成新的 kernel 文件 vmlinuz-2.6.32-71.el6.x86_64

 
    
  1. sh-4.1## ls /boot   
  2. config-2.6.32-71.el6.x86_64            lost+found   
  3. efi                                         symvers-2.6.32-71.el6.x86_64.gz   
  4. grub                                        System.map-2.6.32-71.el6.x86_64   
  5. initramfs-2.6.32-71.el6.x86_64.img    vmlinuz-2.6.32-71.el6.x86_64  

重启主机后,系统可正常引导。

系统镜像文件丢失

系统丢失镜像文件,主机启动后黑屏。

图 7. 镜像丢失

挂载系统安装盘进入援救模式 , 检查 /boot 目录下发现没有镜像文件。

 
    
  1. bash-4.1# chroot /mnt/sysp_w_picpath   
  2. sh-4.1# ls /boot   
  3. config-2.6.32-71.el6.x86_64      symvers-2.6.32-71.el6.x86_64.gz   
  4. efi                                 System.map-2.6.32-71.el6.x86_64   
  5. grub                                vmlinuz-2.6.32-71.el6.x86_64   
  6. lost+found  

重新生成镜像文件 initramfs-2.6.32-71.el6.x86_64.img。

 
    
  1. sh-4.1# cd /boot   
  2. sh-4.1# mkinit   
  3. sh-4.1# ls   
  4. config-2.6.32-71.el6.x86_64           lost+found   
  5. efi                                        symvers-2.6.32-71.el6.x86_64.gz   
  6. grub                                       System.map-2.6.32-71.el6.x86_64   
  7. initramfs-2.6.32-71.el6.x86_64.img   vmlinuz-2.6.32-71.el6.x86_64  

重启主机后 , 系统可正常引导。