用不同版本的安装盘修复系统故障

  作者:田逸(sery@163.com)  《开放系统世界》2006年10期

  一个dell 1850 服务器,两个73g的SCSI硬盘,上面安装64位 RedHat Fedora 4 操作系统。安装系统是以定制的方式进行磁盘分区的,主要的分区集中在一个硬盘上,另外一个盘划了一个分区。另外,上面的软件也是定制安装,运行了较少的软件。由于某种需要,得把这个服务器上的从盘(容量是300G)与另外一个服务器的硬盘(容量是73G)做交换,于是我停机断电把硬盘交换过来。

  加电,启动服务器,当到检查文件系统完整性这个过程的时候,机器就挂起了,我知道是因为硬盘交换以后,/etc/fstab出现问题造成的,一般情况下,只要编辑修改这个文件就可以了;于是手动重新启动服务器,通过编辑grub引导程序(出现引导选择菜单时,按字母“e”进入编辑状态,把原来的ro 替换成single然后回车,再按字母“b”引导)进入单用户模式,以便可以编辑文件/etc/fstab。还好,很顺利的进入了单用户模式,但要命的是:居然不能执行vi命令;再执行ls,也不能执行,提示命令没有找到,试了别的一些系统命令,同样的事情依然发生。后来重启了几次系统进单用户都是这种情况。

  因为这个服务器是生产系统,我不能花太多的时间来研究问题的所在,要紧的事情就是尽可能快的把系统及它所提供的服务恢复起来。以我的经验,就是拿64位 RedHat Fedora 4安装盘以救援模式引导系统,然后编辑文件/etc/fstab就可以了。可偏偏不凑巧,手边就缺64位 RedHat Fedora 4安装盘,怎么办?病急乱投医,我拿一张 RedHat AS 4的安装盘塞进光驱,以救援模式(在boot: 后输入 linux rescue)引导系统,片刻以后,系统引导成功,执行命令chroot /mnt/sysimage把主硬盘的文件系统接上来,幸运的事情是这次成功了;然后我就执行 # vi /etc/fstab 把第二个硬盘在fstab里相关的行注释掉,保存文件,然后从硬盘重新启动计算机,故障排除。

  重要提示:在用安装盘以救援引导系统时,请使用redhat 9以后的版本(不包括9),因为用redhat 9 救援很可能对硬盘发生写入操作,导致更麻烦得后果。