先來說說MBR(主引導(dǎo)扇區(qū))和系統(tǒng)引導(dǎo)扇區(qū):
主引導(dǎo)扇區(qū)位于硬盤的首部,負責搜索硬盤可以啟動的分區(qū),對于DOS來說,它是由Fdisk生成的;而系統(tǒng)引導(dǎo)扇區(qū)位于每個分區(qū)的首部,用來引導(dǎo)本分區(qū)相應(yīng)的操作系統(tǒng),它是由sys命令負責的。
其次來說說系統(tǒng)的啟動:
一般來說,Win98的啟動是由5個文件負責的:io.sys,msdos.sys,command.com,autoexec.bat和config.sys。
而Win2000和WinXP的啟動是由Ntldr和Ntdetect兩個文件負責。
Win98和Win2000/WinXP雙系統(tǒng)啟動的時候就比較復(fù)雜,是由OS Loaer來引導(dǎo)啟動,用戶可以選擇啟動哪個系統(tǒng),若用戶選擇了啟動Win2000/WinXP,那么就裝載Ntldr和Ntdetect兩個文件啟動到Win2000/WinXP下;如果用戶選擇啟動Win98,那么就裝載Bootsect.dos這個文件,Bootsect.dos文件其實就是Win98引導(dǎo)扇區(qū)的鏡像。
這里順便說一句:Win2000和WinXP里都有 Ntldr和Ntdetect兩個文件,但是卻是不同的,如果你的雙系統(tǒng)里缺少這兩個文件,你可以從Win2000或WinXP安裝盤里的I386目錄下拷貝。如果是Win2000的話,可以采用Win2000或WinXP的都行;如果是WinXP的話,必須采用WinXP光盤里的,用Win2000盤里的這兩個文件是不能引導(dǎo)WinXP的,這一點在安裝包含Win2000和WinXP在內(nèi)的多系統(tǒng)里表現(xiàn)得尤為明顯,比如你重裝了Win2000以后,照樣無法啟動WinXP,原因就是你用Win2000的Ntldr和Ntdetec這兩個文件覆蓋了WinXP的Ntldr和Ntdetec這兩個文件。因此一定要注意!
再次來說說Windows的多操作系統(tǒng)引導(dǎo)管理工具:OS Loader。每一種多操作系統(tǒng)引導(dǎo)管理工具都有所不同,比如BootMagic和System Commander是常駐于MBR的;而OS Loader
則是常駐于系統(tǒng)引導(dǎo)扇區(qū)的;而Linux的多系統(tǒng)引導(dǎo)工具LILO或GRUB既可位于MBR,也可位于系統(tǒng)引導(dǎo)扇區(qū)。
以上是一些理論知識,既然都說清楚了,下面進入理論分析階段,看看格式化C盤重新安裝Win98后,為什么不能雙啟動了:
其實原因很簡單,當你把C盤重新安裝Win98后,你的C盤中比以前少了四個文件,分別是:Ntldr, Ntdetec,Bootsect.dos和boot.ini(多系統(tǒng)啟動的配置文件)。但是在重裝之前僅僅備份這四個文件,重裝之后再拷貝回來,同樣是不能實現(xiàn)雙啟動的!原因在于你的C盤的系統(tǒng)引導(dǎo)扇區(qū)已經(jīng)被Win98給覆蓋了:它將以前的由OS Loader控制的系統(tǒng)引導(dǎo)扇區(qū)變成了Win98的系統(tǒng)引導(dǎo)扇區(qū),因此盡管你拷貝回了那四個文件,因為引導(dǎo)扇區(qū)依然沒有恢復(fù)成雙啟動時的樣子,所以你依然不能實現(xiàn)雙啟動。
知道了原因,解決起來才有了思路和目標。那就是想辦法恢復(fù)系統(tǒng)引導(dǎo)扇區(qū)。方法有好幾種,
方法一:
可以在重裝Win98之前備份系統(tǒng)引導(dǎo)扇區(qū),需要用到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引導(dǎo)扇區(qū)的備份,如果不小心刪除了Bootsect.dos文件,可用類似的方法生成該文件,只需把第三行的保存文件的名稱改為Bootsect.dos即可。
只要把以上生成的OSLoader.REC文件重新寫如硬盤引導(dǎo)扇區(qū)就可以恢復(fù)OS Loader的引導(dǎo)功能。命令為:
A:>debug
-Na: Bootsect.dos
-L
-w100 2 0 1
-q
OS Lode菜單修復(fù)以后,如果C盤缺少Bootsect.dos文件,可以將上述生成的Bootsect.dos文件拷貝到C盤下(注意:不同機器上生成的Bootsect.dos文件不能通用)。
方法二:
用Win2000或WinXP的故障控制臺來恢復(fù)引導(dǎo)扇區(qū):
進入故障控制臺,輸入:
Fixboot c:
Exit
重起計算機即可。
當然,這兩種方法都是在提前備份并恢復(fù)了以上四個文件的前提下才能成功實現(xiàn)找回雙啟動功能的,如果事先沒有備份這幾個文件,就比較麻煩了,簡單一點的方法是用Win2000或WinXP安裝盤修復(fù)的辦法,也就是假安裝的辦法;麻煩一點的辦法是從Win2000和WinXP的安裝盤里先拷貝出Ntldr和Ntdetect兩個文件,在用DEBUG命令生成Bootsect.dos文件,然后用Win2000或WinXP的安裝盤進入故障控制臺,生成Boot.ini文件(當然,如果對該文件的語法十分熟悉的話,就像我?guī)煾的菢赢斎灰部梢栽赪in98下用記事本自己根據(jù)機器的配置編寫一個Boot.ini文件),然后再在故障控制臺里修復(fù)引導(dǎo)扇區(qū),重起,大功告成!