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之前一定要重新制作一張啟動盤。