萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> NT與Linux雙系統完全解決方案

NT與Linux雙系統完全解決方案

  歡迎大家來到學習啦,本文NT與Linux雙系統完全解決方案,歡迎大家閱讀。

  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 loader]

  timeout=30

  default=multi(0)disk(0)rdisk(0)partition(2)WINNT

  [operating systems]

  multi(0)disk(0)rdisk(0)partition(2)WINNT="NT V4 is here"

  multi(0)disk(0)rdisk(0)partition(2)WINNT="NT V4 VGAMODE" /basevideo /sos

  C:="DOS is here"

  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"部分看起來應該是這樣的:

  [operating systems]

  multi(0)disk(0)rdisk(0)partition(2)WINNT="NT V4 is here"

  multi(0)disk(0)rdisk(0)partition(2)WINNT="NT V4 VGAMODE" /basevideo /sos

  C:="DOS is here"

  C:BOOTSECT.LIN="Now Linux is here"

  修改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後,按以下做:

  # dd if=/dev/hda3 bs=512 count=1 of=/dosc/bootsect.lin

  如果沒有能將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都產生一個相應的引導扇區映象文件。

copyright © 萬盛學電腦網 all rights reserved