讀取MBR之一

2021-09-20 14:58:24 字數 619 閱讀 9058

post完成後,如果為硬碟引導系統,在硬碟的第乙個扇區(0磁軌0柱面1扇區)有一段**,稱做mbr(主引導記錄),mbr被載入到記憶體中後,bios將控制權交給mbr。

mbr是一段可執行**(也稱為boot loader),大小為446bytes,這一段**的作用是告訴系統如何引導作業系統(這裡是linux)。

boot loader 

不同的作業系統檔案格式不一樣,因些每種作業系統都有自己的boot loader。

每個檔案系統(filesystem 或者partition)都會保留一塊啟動扇區(boot sector) 提供給作業系統來安裝boot loader。

通常作業系統會預設安裝乙份loader到根目錄所在檔案系統的boot sector。

說明:mbr只有乙個,但是每乙個檔案系統中都保留有一塊boot sector.

最主要功能 是要認識操作系格式並所以載入核心到主儲存器中去執行。

1.提供選單 使用者可以選擇不同的開機專案  重要應用是多得引導

2.載入核心檔案 直接接入可開機的程式區段來引導作業系統

3.轉交其它loader 將開機管理功能轉交與其它loader (如從mbr的loader將開機控制權轉交與其它boot sector內的loader)?

一 Linux系統啟動(MBR)

1 系統啟動流程 bios basic input output system 基本輸入輸出系統完成 硬體檢查 可啟動裝置查詢 可啟動裝置 master boot record 主引導記錄 位元組偏移 16進製制 位元組數描述 00 1bd 446引導 1be 1cd 16分割槽表項1 1ce 1d...

孔乙己之一 this

本文出處 include using namespace std class myclass myclass void print int main 這位兄弟有疑問的是 為什麼3和4兩種方法,下標不正確,而其結果卻完全正常?顯示的結果是 hello hello hello hello 我把程式改了改...

孔乙己之一 this

本文出處 include using namespace std class myclass myclass void print int main 這位兄弟有疑問的是 為什麼3和4兩種方法,下標不正確,而其結果卻完全正常?顯示的結果是 hello hello hello hello 我把程式改了改...