试验目的:

         当开机引导程序GRUB损坏(在本试验中用GRUB代指boot loader)时我们无法成功引导系统,这时候我们需要使用Linux rescue(Linux救援模式)对系统的引导程序进行修复。

试验环境:

         操作系统:RedHat Enterprise Linux 5 (RHEL5)

         相关软件:GRUB 系统引导管理器,Linux安装光盘(第一张)或者Linux.iso引导文件。

试验要求:

         模拟系统引导程序GRUB损坏无法正常进入系统,通过Linux rescue模式进行修复,使系统可以正常引导和登录。

试验准备:

         使用指令造成GRUB引导程序的损坏

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

         注:本指令危险,除在实验环境外请勿使用

         这条指令是通过对MBR主引导扇区的覆盖写入模拟造成GRUB的损坏

试验步骤:

         1. 通过Linux安装光盘进行开机引导(也可以是其他Linux引导介质)

             进入光盘引导的安装界面是在“boot :”提示符下输入 linux rescue 指令进入救援模式

             等待系统载入相关文件后会弹出相应的选择界面,我们依次做如下选择。

           “Choose a Language”界面,选择语言为“English”(当然也可以选择简体中文)

           “Keyboard Type”界面,选择默认的“us”

           “Setup Networking”界面,选择“No”不设置网络

           “Rescue”界面,选择“Continue”继续

             在新弹出的“Rescue”界面,我们看到救援模式将找到的所有文件系统都挂载到“/mnt/sysp_w_picpath”这个目录下。按下回车继续

             现在出现了类似单用户模式时出现的提示符“sh-3.1#”,此时光盘引导完成

         2. 在提示符下输入指令 chroot /mnt/sysp_w_picpath 把根目录挂载到找到的文件系统上

             接着输入指令 grub-install /dev/sda 从“/dev/sda”中找到GRUB程序并进行修复

             接着输入 exit 退出chroot模式

             至此系统修复完成可以正常引导系统启动了。

 

试验总结:

        实验中的“/dev/sda”是根据本机安装的硬盘类型和接口位置所决定的。

        实验中出现的“sda”参数应该如何应用可以参考下表:

(以前在工作中一般都使用IDE硬盘连接到主IDE的第一个接口,所以很多教程中以“hda”作为例子讲解;本实验是在虚拟机下完成的所以使用“sda”为例来讲解)

              设备接口            IDE硬盘             SATA/SCSI/虚拟机中的硬盘

         主IDE-主接口           hda                        sda

         主IDE-次接口           hdb                        sdb

         次IDE-主接口           hdc                        sdc

         次IDE-次接口           hdd                        sdd