引用,關於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文件),然後再在故障控制檯裏修復引導扇區,重起,大功告成!


Trackback: http://tb.donews.net/TrackBack.aspx?PostId=556240

發佈了24 篇原創文章 · 獲贊 6 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章