解决Linux系统无法开机的问题
在计算机可以开机但无法进入选项画面的状况下,如果可以尝试着通过之前备份的Linux启动光盘进入操作系统,再检查是否因为GRUB无法使用而造成的,势必会方便许多。在Linux下制作启动光盘,较早的做法是先利用光盘中的boot.img、bootnet.img或pcmcia.img等启动光盘 image文件,制作出开机磁盘,再通过磁盘开机,老实说,这个方法对现在的操作系统比较不实用,主要原因有以下3个:
绝大多数的人在安装完Linux后,并不会真正地做一张启动光盘,以确保往后开机程序有问题时使用,这需要较细心的人才做得到。以下要介绍的rescue mode非常方便,只需要一片光盘就能搞定,因此,越来越少看到这种做法(笔者太粗心,所以也没这习惯)。
另一个更大的问题是现在用户安装完成的操作系统,其kernel的大小大部分都大于1.44 MB(一部分要怪用户的计算机上有着太多的设备或芯片组),这代表着如果要做开机磁盘……办不到!因为在制作启动光盘时,除了要将kernel放到磁盘中,还有一个initrd文件也要放进去,所以在磁盘的极小容量的限制下,除非自行重新编译kernel外,别无他法,而这对一般用户而言更是雪上加霜。
磁盘如果不见或是受潮,就必须要再重做一片,但通常用户无法发现这个问题,都是因为计算机已经无法开机,才会想到要去找启动光盘,这时才发现它不见了。
现在Linux的版本,其实都已经在安装光盘中(DVD的话直接就可以用)放入了让用户开机用的kernel及相关模块(也就是常用硬件所需的驱动程序),通过使用光盘开机的方式,可以省掉许多兼容性所造成的问题,比如说,开机时所需的网卡或是SCSI卡。
此外,也不需特别准备一份开机专用的磁盘或CD,只要手上能找到一张安装Linux用的CD或DVD,就可以通过光盘进入Linux的救援模式,这种方式比Windows的保护模式还要安全,因为完全不是由原本的操作系统所开机的,至于要如何进入Linux救援模式,Red Hat的做法就是靠anaconda程序的帮助。
anaconda是Red Hat在Fedora和RHEL(Red Hat Enterprise Linux)两种版本下所提供的安装管理软件,简单来说,就是提供给用户安装接口的软件,anaconda在安装模式的选项中支持救援模式(Rescue Mode),可帮忙用户手动还原或是修复已经无法开机的Red Hat操作系统。SuSE的操作系统也有提供类似的功能,过程和接口不太一样,但基本上做法和结果都是差不多的,在此以Fedora Core 7作范例。
使用救援模式的步骤在Fedora Core 6之前都是在安装画面的“boot:”开机参数后,接着输入“linux rescue”即可;但这在Feodra Core 7改变了,开始以图形接口的方式直接提供Rescue Mode的选项,让用户直接进入(如图2-51所示)。
该选项表示在开始安装时要通知anaconda,开机时要进入的是rescue mode,而非安装模式。请特别注意,这里的参数并非告知kernel,而是告知anaconda,因为在安装阶段所用的参数是由anaconda所接收的,和实际操作系统在开机时所用的kernel参数并不一样,在此是为了不同的安装需求而设计的不同参数,如果要知道安装完后的kernel支持哪些参数,请参考附录B“Kernel Parameters”。