硬盤主引導(dǎo)記錄程序的功能是讀出自舉分區(qū)的BOOT程序,并把控制轉(zhuǎn)移到分區(qū)BOOT程序。整個(gè)程序流程如下:
1 將本來讀入到0:7C00H處的硬盤主引導(dǎo)記錄程序移至0:61BH處;
⑵ 順序讀入四個(gè)分區(qū)表的自舉標(biāo)志,以找出自舉分區(qū),若找不到,轉(zhuǎn)而執(zhí)行INT18H的BOOT異常執(zhí)行中斷程序;
⑶ 找到自舉分區(qū)后,檢測(cè)該分區(qū)的系統(tǒng)標(biāo)志,若為32位FAT表或16位FAT表但支持13號(hào)中斷的擴(kuò)展功能,就轉(zhuǎn)到執(zhí)行13號(hào)中斷的41號(hào)功能調(diào)用進(jìn)行安裝檢驗(yàn),檢驗(yàn)成功,就執(zhí)行42號(hào)擴(kuò)展讀功能調(diào)用把BOOT區(qū)程序讀入到內(nèi)存0:7C00H處,成功,跳到第⑸步,若讀失敗或系統(tǒng)標(biāo)志為其它,就調(diào)用13號(hào)中斷的讀扇區(qū)功能調(diào)用把BOOT讀到0:7C00H;
⑷ 用13號(hào)中斷的讀扇區(qū)功能時(shí),用兩種方式分別進(jìn)行5次試讀。第一種方式是直接從自舉分區(qū)的頭扇區(qū)讀入BOOT程序,若讀成功,但結(jié)束標(biāo)志不是55AA,則改用第二種方式,又如果用第一種方式試讀五次均不成功,就改用第二種方式。若兩種方式試讀均失敗,就轉(zhuǎn)到出錯(cuò)處理程序;
⑸ 讀入BOOT區(qū)程序成功,轉(zhuǎn)至0:7C00H處執(zhí)行BOOT程序。
標(biāo)簽:
BOOT
程序
硬盤
分區(qū)
上傳時(shí)間:
2013-12-25
上傳用戶:haoxiyizhong