1. 程式人生 > >MBR&/BOOT和GRUB三者關係總結

MBR&/BOOT和GRUB三者關係總結

MBR是硬碟上的一個扇區,包含三部分內容(載入程式、分割槽表及分隔標識,MBR總計512位元組;其中載入程式最多佔446個位元組);為什麼需要這個MBR,主要是因為BIOS太小,功能有限。當系統加電,bios自檢後,就會將MBR Load進記憶體。也就意味著載入程式被啟用,分割槽表資訊已經載入到記憶體,同時也意味著對系統的控制權從bios過渡到GRUB.GRUB是GRand Unified Bootloader的縮寫,它是一個多重作業系統啟動管理器。用來引導不同系統。GRUB是一個系統載入程式,分為兩個階段,第一階段它儲存在MBR中.用匯編語言編寫,也就是MBR中的載入程式部分。①基本的硬體裝置初始化(遮蔽所有的中斷、關閉處理器內部指令/資料cache 等)。②為載入 Bootloader 的Stage2 準備空間。③如果是從某個固態儲存媒質中,則拷貝 Bootloader 的stage2 到RAM 空間中。④設定好堆疊。⑤跳轉到 stage2 的C 程式入口點。GRUB載入程式的第二階段,通常用C語音編寫,這個階段的任務有: ①初始化本階段要使用到的硬體裝置。②檢測系統記憶體對映。③將kernel 映像和根檔案系統映像從flash 上讀到RAM 空間中。④為核心設定啟動引數⑤呼叫核心。它通常儲存在/boot/grub/中。 當我們啟動系統進入GRUB介面時,會看到有選擇資訊,如果我們自己編譯了系統核心的話,你可以選擇從某個核心啟動。同時要注意的是GRUB的配置檔案和核心在/boot分割槽。從前面分析我們可以看出,/BOOT和MBR不存在包含關係。GRUB第一階段需要去MBR中去讀載入程式,GRUB第二階段需要到/boot分割槽讀系統核心和配置檔案。