計算機系統的啟動概述

qq_26652569發表於2015-03-19

i386 cpu硬線邏輯被設計為在加電瞬間強行置CS暫存器的值為0xffff,置SP暫存器的值為0x0000,組成的地址為0xffff0,此時CS:IP指向BIOS(Basic Input /Output System基本輸入輸出系統)的入口地址。

那麼,計算機通電後執行的第一條指令就是BIOS程式的第一條指令,即首先取得控制權的是BIOS;
BIOS程式會檢查硬體正常工作與否,然後按設定好的查詢順序尋找可啟動裝置(硬碟等)並將可啟動裝置的第一個扇區載入到記憶體為0x7c00的位置;接著檢查該扇區的末兩個位元組是否為0x55和0xaa(也被稱為魔數),即檢查其是否為MBR;

*MBR(master root record),叫做“主開機記錄”,位於啟動裝置的第一個扇區(512個位元組),且滿足末兩個位元組為0x55和0xaa。
MBR只有512個位元組,無法放置太多東西,它主要作用是告訴計算機作業系統位於硬碟哪個位置。*

若未檢查到魔數則重新載入下一個可啟動裝置的首扇區到記憶體為0x7c00的位置,並檢查末兩位是否為魔數;直至找到MBR,或無下一個可啟動裝置輸出報錯資訊。
若檢查到魔數即被載入的扇區是MBR(master boot record),則BIOS會跳轉到載入到的記憶體地址開始執行MBR的程式碼,此後系統的啟動任務就交給MBR了。

相關文章