LILO是一个非常小的程序,可以在系统启动时让用户选择启动哪种操作系统。缺省情况下,LILO安装在主硬盘的MBR(主引导扇区)上,但是,当重装Windows时,Windows会改写主硬盘的MBR,冲掉原来保存在MBR上的LILO程序。本文将介绍一些方法让你在重新安装Windows之后仍然可以进入Linux。
重新安装Windows之前的准备工作
在重新安装Windows之前,非常重要的一点是必须有一张可以正常使用的Linux启动盘。通常,启动盘是在安装Windows之后再进入Linux的惟一途径。大多数Linux的发行版在安装过程中都会提示用户制作一张启动盘。在制作启动盘之后,我们应当测试一下,确保这张软盘能够正确地引导Linux系统(注意,软盘可不是一种非常可靠的存储介质)。
测试过程为:把启动盘插入软盘驱动器,然后以Root用户登录,输入命令shutdown -r now并回车。如果Linux系统能够正常从软盘启动,那么,说明你已经做好了安装Windows的准备,可以跳过下面的内容,直接看“重新安装LILO”。
制作启动盘的方法
如果你的启动盘出现故障,或者你根本就没有制作启动盘,那么在你安装Windows之前一定要补上这一步。此外,每当你改变Linux系统的内核时,也需要重新制作一张启动盘。
制作启动盘最简单的方法是使用mkbootdisk命令。不过,在使用这个命令之前,你需要了解当前使用的Linux内核版本。查看Lilo.conf文件可以得到内核版本信息,这个文件包含了LILO的配置信息和内核文件的存储位置。
在查看Lilo.conf文件之前,你应当确保没有以Root用户登录(这可以防止你不小心对系统文件造成破坏),然后输入命令pico /etc/lilo.conf,在pico文本编辑器中打开文件。
在Lilo.conf文件中,每一个小节描述了计算机上安装的一个操作系统,以image=开始,至少包含三行文字。此外,还有一些小节是描述从软盘启动或者以故障恢复模式启动。找到包含label=linux的小节,查看相关的image=行中描述的内核版本信息,然后输入Ctrl-x退出pico。
在我们使用的Red Hat 6.0测试系统中,Lilo.conf用vmlinuz-2.2.5-15来表示Linux内核映象文件的名称和位置,这意味着我们使用的内核版本是2.2.5-15。然后,我们就可以使用mkbootdisk命令了。不过,在一些系统中Lilo.conf文件并没有提供内核版本信息,而是简单地包含一行image=/boot/vmlinuz。如果在vmlinuz之后没有提供任何版本信息,这表示Lilo.conf文件可能使用了符号链接(有点类似于Windows中的快捷方式)。为了找到真正的内核映象文件,输入命令ls -l /boot并回车。这条命令将显示Boot目录下的文件的详细信息。查看包含vmlinuz的行,可以看到箭头指向的真正的内核映象文件,而后者通常会包含适当的版本信息。在我们使用的测试系统中,尽管在Lilo.conf文件中已经包含了内核文件的名称和位置,在Boot目录下还是存在一个指向它的名称为vmlinuz的符号链接。
如果使用上面列举的方法还是不能找到内核版本信息,你可以执行命令ls /lib/modules并回车。这个目录包含一个或多个子目录,每一个子目录都使用一个不同的内核版本作为它的目录名。具有最高版本号的目录名就是系统当前使用的内核版本。
在使用命令mkbootdisk -device /dev/fd0 kernelversion的时候,用前面得到的内核版本替换掉kernelversion,然后回车(例如,在我们使用的系统中,我们输入mkbootdisk device /dev/fd0 2.2.5-155)。当出现提示后,把一张软盘插入磁盘驱动器并回车。然后,Linux将开始向软盘拷贝所需的系统文件。
如果整个过程没有出现任何问题,表示你已经成功地制作了启动盘。接下来需要测试这张启动盘。
在启动盘测试成功之后(使用“重新安装Windows之前的准备工作”小节中描述的方法),你可以开始重新安装Windows了。
重新安装LILO
当重新安装了Windows之后,在启动系统时会发现原来的LILO提示符消失了,而且系统直接启动进入了Windows。这是因为Windows已经改写了主硬盘的MBR,删除了LILO程序,从而越过了Linux。这时,启动盘成为你在安装Windows之后再进入Linux的惟一途径。在准备重新启动计算机进入Linux之前,把制作好的启动盘插入软驱。
在重新启动系统之后,在LILO提示符下输入Linux并回车。从软盘启动通常比从硬盘直接启动慢得多,这时,要稍微有一点耐心。在内核被装入之后,你的系统就可以像往常一样启动了。
重新安装LILO是一件再简单不过的事情。首先以Root用户登录,然后输入/sbin/lilo命令再回车即可。如果没有遇到任何错误信息,就可以取出启动盘,使用硬盘重新启动计算机。这时,会发现LILO提示符又出现了,就像重新安装Windows之前那样。
在重新安装Windows之前,非常重要的一点是必须有一张可以正常使用的Linux启动盘。通常,启动盘是在安装Windows之后再进入Linux的惟一途径。
如果你的启动盘出现故障,或者你根本就没有制作启动盘,抑或你改变了Linux系统的内核,那么在你安装Windows之前一定要重新制作一张启动盘。