作者:書生 NT 和 Linux 共存的最簡單的方法就是在安裝 Linux 的 lilo 時,選擇將 lilo 安裝在 Linux 主分區的引導區中。然後使用 win98 的啟動盤重新啟動以後,運行 fdisk 將 Linux 主分區設置為 active,這樣就可以實現在系統啟動時首先進入 lilo 選擇,若不選擇 Linux,則進入 nt loader。 但是有時候為了方便而需要使用 nt loader 來引導linux,下面就是實現的方法。 你應該牢牢記住的最重要的一點是,許多軟件產品會利用硬盤上面僅有的那個寶貴的主引導記錄 MBR。NT 是這樣,沒有選擇余地;Linux 也可以這樣,如果你喜歡。機器的 BIOS 會執行儲存在當前激活分區的信息,來初始化你希望的操作系統。 NT 安裝後,MBR 會被修改成去引導一個在激活分區的根目錄下,叫 NTLDR 的程序。原來的MBR會被存到一個叫 BOOTSECT.DOS 的小文件中。NT 安裝完成後要記住絕不能覆蓋這個 MBR, 否則 NT 將無法啟動。以防萬一, NT 的用戶需要 NT 的應急修復磁盤(Emergency Repair Disk,ERD)。 記住了這些後,就要注意設定 LILO 時 ***不能*** 裝到 MBR 中去,而是裝到 Linux 的 root 分區中去。這樣,對 NT 而言,不會帶來問題;而 Linux 沒有 MBR 也可以活下去。 NT 的引導過程 當 NTLDR 啟動, NT 用戶看到 "OS Loader V4.xx" 後,它會切換處理器到 386 狀態,並啟動一個非常小的文件系統。接著,它會去讀 BOOT.INI 文件,看是否有其它操作系統存在,並顯示一個選擇菜單。下面是一個典型的BOOT.INI: 點擊查看大圖 BOOT.INI 由兩部分構成。“boot loader section”部分指定菜單在屏幕上的停留時間,和缺省菜單選項。“opearating systems section"”部分指定可選的操作系統種類。可以看到機器可以啟動 NT (以標准模式或 VGA 安全模式)和 DOS。從這個例子我們可以推斷,DOS 從硬盤 C:(第一個硬盤的第一個分區)啟動,而NT從第二個分區啟動。典型安裝時,會以 DOS 的 FAT 文件系統格式化一個 C:的分區,然後將 NT 裝在另外一個 NTFS (NT 文件系統)的分區。 如果用戶選擇了啟動 NT,另外一個程序 NTDETECT.COM,就會開始進行硬件檢查。如果一切正常,NT 內核就會被裝入,正如我們都知道的那樣。 再來看如果啟動的不是 NT 的情形。此時,NTLDR 需要知道非 NT OS 引導所必需的引導扇區是哪個。此時,相應的引導扇區映象必須要在一個小小的 512 字節的文件中。比如,要引導 DOS,NTLDR 將會尋找一個叫 BOOTSECT.DOS 的引導扇區映象文件。 這個映象文件是 NT 的安裝程序產生的。 那麼, 引導 Linux 又是怎樣呢?這很簡單,需要的只是一個引導扇區映象文件,姑且稱之為 BOOTSECT.LIN (在本文稍後會看到如何得到這個文件)。 必須將 BOOTSECT.LIN 放到 C:, 並要修改 BOOT.INI。此時 "operating systems ection" 部分看起來應該是這樣的: 點擊查看大圖 修改 BOOT.INI,可以用任何普通 ASCII 文本編輯器(比如記事本)。這個文件的正常屬性為系統-隱藏-只讀,所以你必須用 'attrib' DOS 命令或在 NT 中,用文件屬性對話框中來變更屬性。 現在我們將注意力轉到 Linux。我們需要安裝 Linux,定制 LILO,產生 BOOTSECT.LIN 文件。 第一步是裝好 Linux。我們都知道怎麼做:為 Linux 選適當的系統,SWAP,和用戶分區,運行安裝程序,等等。一切順利時,這一步在 45 分鐘之內就可以完成。 接下去就要定制 LILO。我們知道怎麼做,但要注意*不能* 將 LILO 裝到 MBR 中去(除非你想將NT吞了:-))。設定 LILO 時,要選擇將它裝到你 Linux 的 root 分區。如果你還不知道如何設定 LILO, 就花幾分鐘讀讀 HOW-TO 文獻,或者就用一些好的安裝程序,我是用 S.u.S.E. 的, 因此我的安裝程序就是 'yast' (Yet Another Setup Tool)。 LILO 定制好之後,(為行文方便, 此處假設 Linux 的 root 分區是 /dev/hda3)我們必須用 'dd' 來產生引導記錄映象文件。以 root Login 後,按以下做: [[The No.3 Picture.]] 如果沒有能將 FAT C: partition mount 成為 /dosc,譬如說由於這個分區被以 NTFS 方式格式化,不能訪問這個分區。此時可以將 BOOTSECT.LIN 寫到一個以 DOS 方式格式化的磁盤中,或者 NT 能讀的其它什麼分區也可以。如果 BOOTSECT.LIN 不是被放到 C:,要記住此時應相應修改 BOOT.INI 文件。 現在你老板可以從她的 NT Loader 菜單中選擇 Linux 了。NTLDR 將會裝載 BOOTSECT.INI,她就可以看到 LILO 的提示。她就可以去嘗試她新的 Linux 機器了。最後,你可以設定 LILO 在選擇提示時能去引導 Linux 和 C: 上的 DOS。你的老板就可以再次回到 C: 分區上的 NT Loader。前文描述的方法可以反復進行,如果你希望能選擇引導多個 Linux,就必須為每一個 Linux 都產生一個相應的引導扇區映象文件。