雙系統的安裝和啟動原理(轉)

worldblog發表於2007-08-11
雙系統的安裝和啟動原理(轉)[@more@]

  98/ME和2000/XP雙系統的安裝和啟動原理

  先來說說MBR(主引導扇區)和系統引導扇區:

  主引導扇區位於硬碟的首部,負責搜尋硬碟可以啟動的分割槽,對於DOS來說,它是由Fdisk生成的;而系統引導扇區位於每個分割槽的首部,用來引導本分割槽相應的作業系統,它是由sys命令負責的。

  其次來說說系統的啟動:

  一般來說,Win98的啟動是由5個檔案負責的:io.sys,msdos.sys,command.com,autoexec.bat和config.sys。

  而Win2000和WinXP的啟動是由Ntldr和Ntdetect兩個檔案負責。

  Win98和Win2000/WinXP雙系統啟動的時候就比較複雜,是由OS Loaer來引導啟動,使用者可以選擇啟動哪個系統,若使用者選擇了啟動Win2000/WinXP,那麼就裝載Ntldr和Ntdetect兩個檔案啟動到Win2000/WinXP下;如果使用者選擇啟動Win98,那麼就裝載Bootsect.dos這個檔案,Bootsect.dos檔案其實就是Win98引導扇區的映象。

  這裡順便說一句:Win2000和WinXP裡都有 Ntldr和Ntdetect兩個檔案,但是卻是不同的,如果你的雙系統裡缺少這兩個檔案,你可以從Win2000或WinXP安裝盤裡的I386目錄下複製。如果是Win2000的話,可以採用Win2000或WinXP的都行;如果是WinXP的話,必須採用WinXP光碟裡的,用Win2000盤裡的這兩個檔案是不能引導WinXP的,這一點在安裝包含Win2000和WinXP在內的多系統裡表現得尤為明顯,比如你重灌了Win2000以後,照樣無法啟動WinXP,原因就是你用Win2000的Ntldr和Ntdetec這兩個檔案覆蓋了WinXP的Ntldr和Ntdetec這兩個檔案。因此一定要注意!

  再次來說說Windows的多作業系統引導管理工具:OS Loader。每一種多作業系統引導管理工具都有所不同,比如BootMagic和System Commander是常駐於MBR的;而OS Loader

  則是常駐於系統引導扇區的;而Linux的多系統引導工具LILO或GRUB既可位於MBR,也可位於系統引導扇區。

  以上是一些理論知識,既然都說清楚了,下面進入理論分析階段,看看格式化C盤重新安裝Win98後,為什麼不能雙啟動了:

  其實原因很簡單,當你把C盤重新安裝Win98後,你的C盤中比以前少了四個檔案,分別是:Ntldr, Ntdetec,Bootsect.dos和boot.ini(多系統啟動的配置檔案)。但是在重灌之前僅僅備份這四個檔案,重灌之後再複製回來,同樣是不能實現雙啟動的!原因在於你的C盤的系統引導扇區已經被Win98給覆蓋了:它將以前的由OS Loader控制的系統引導扇區變成了Win98的系統引導扇區,因此儘管你複製回了那四個檔案,因為引導扇區依然沒有恢復成雙啟動時的樣子,所以你依然不能實現雙啟動。

  知道了原因,解決起來才有了思路和目標。那就是想辦法恢復系統引導扇區。方法有好幾種,

  方法一:

  可以在重灌Win98之前備份系統引導扇區,需要用到DEBUG命令!

  備份命令為:

  a:>debug

  -L 100 2 0 1

  -na:OSLoader.REC

  -rcx

  CX:0000

  :200

  -rbx

  BX:0000

  :0

  -w

  -q

  這時軟盤上生成的OSLoader.REC檔案就是OS Loader引導扇區的備份,如果不小心刪除了Bootsect.dos檔案,可用類似的方法生成該檔案,只需把第三行的儲存檔案的名稱改為Bootsect.dos即可。

  只要把以上生成的OSLoader.REC檔案重新寫如硬碟引導扇區就可以恢復OS Loader的引導功能。命令為:

  A:>debug

  -Na: Bootsect.dos

  -L

  -w100 2 0 1

  -q

  OS Lode選單修復以後,如果C盤缺少Bootsect.dos檔案,可以將上述生成的Bootsect.dos檔案複製到C盤下(注意:不同機器上生成的Bootsect.dos檔案不能通用)。

  方法二:

  用Win2000或WinXP的故障控制檯來恢復引導扇區:

  進入故障控制檯,輸入:

  Fixboot c:

  Exit

  重起計算機即可。

  當然,這兩種方法都是在提前備份並恢復了以上四個檔案的前提下才能成功實現找回雙啟動功能的,如果事先沒有備份這幾個檔案,就比較麻煩了,簡單一點的方法是用Win2000或WinXP安裝盤修復的辦法,也就是假安裝的辦法;麻煩一點的辦法是從Win2000和WinXP的安裝盤裡先複製出Ntldr和Ntdetect兩個檔案,在用DEBUG命令生成Bootsect.dos檔案,然後用Win2000或WinXP的安裝盤進入故障控制檯,生成Boot.ini檔案(當然,如果對該檔案的語法十分熟悉的話,就像我師傅那樣當然也可以在Win98下用記事本自己根據機器的配置編寫一個Boot.ini檔案),然後再在故障控制檯裡修復引導扇區,重起,大功告成!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-945172/,如需轉載,請註明出處,否則將追究法律責任。

相關文章