主引導程式和輔助引導程式

主引導程式和輔助引導程式

http://www.ibm.com/developerworks/library/l-bootload/index.html

引導程式通常以兩種方式之一進行設定:作為主引導程式或作為輔助引導程式。

主引導程式是引導程式的第一階段安裝在 MBR 上的位置(根據前面的描述)。

輔助引導程式是第一的引導程式的階段安裝到可開機分割區上。

單獨的引導程式然後必須安裝到 MBR 並配置為將控制權傳遞給輔助引導程式。

應該在“輔助引導程式”中的“第一個”第一的引導程式的階段安裝到可開機分割區」是「第二」嗎?

輔助引導程式儲存在哪裡?不在儲存主開機載入程式的 MBR 中?

最後一句中的「單獨的引導程式」是什麼?它是主引導程式還是輔助引導程式?

主引導程式與初始程式載入程式(IPL,在同一連結中提到)是相同的概念嗎?

由於 BIOS 可以存取的資料量非常小,因此大多數引導程式會分兩個階段載入。在引導的第一階段,BIOS 會載入引導程式的一部分,稱為初始程式載入程式或 IPL。 IPL 詢問分區表,隨後能夠載入數據,無論數據可能存在於各種媒體上。此操作最初用於定位第二階段引導程序,該程序保存載入程式的其餘部分。第二階段引導程式是引導程式的真正核心;許多人認為它是引導程式的唯一真正部分。這包含載入器的磁碟密集型部分,例如使用者介面和核心載入程式。這些使用者介面的範圍可以從簡單的命令列到能歌善舞的 GUI。

謝謝!

答案1

該文本實際上存在歧義。主引導程式並不意味著引導程式的第一階段,輔助引導程式並不意味著引導程式的第二階段。

引導程式的第一階段是駐留在MBR 資料中的程序,該資料保存分割區資訊和處理非常基本的磁碟I/O 操作的能力,這些操作無法完成完全載入作業系統,因為標準的MBR 引導加載程式碼大小限制為448 位元組MBR 記錄(對於特定作業系統實作較低,因為分割區表保存 4*16 位元組)

引導程式的第一階段的工作是簡單地載入第二階段,第二階段現在是作業系統特定的,並且具有更多的程式碼空間。據我記得,NTFS 第二引導程式有 16 512 位元組磁區來載入作業系統內核,即 8 KB。

主要和次要術語出現在有多個作業系統可供選擇啟動的情況下。每個作業系統都有其具有第一階段和第二階段的引導程序,每個引導程式都應從第一階段開始,因為MBR 中的主引導程式不應該知道每個引導程式中第二階段的具體資訊。

第二階段儲存在分割區本身的開頭,稱為 VBR(磁碟區開機記錄)。

當有一個作業系統要啟動時,MBR程式(IPL)是第一階段,VBR程式是第二階段。當有多個作業系統時,MBR程式成為主開機載入程式的第一階段,該階段知道某個分割區中有一些程式碼,這是第二階段完全載入整個選單和選項,並載入它。第二階段知道有VBR的分割區,並繼續VBR,現在VBR成為輔助開機載入程式。

是的,我說過「每個引導程式都應該從第一階段開始,因為 MBR 中的主引導程式不應該知道每個引導程式中第二階段的具體資訊。」。這就是為什麼 VBR 程式碼本身也有 MBR 程式碼。 Windows VBR 程式碼有它。

答案2

不只有PC有磁碟和MBR。主要、輔助、第三引導程式通常以更通用的形式出現,也在具有非揮發性引導記憶體且沒有任何檔案系統的主機板中出現。

即,在嵌入式世界中,主要引導程式通常是SoC中的ROM引導程序,次要引導程式是載入的第一個程序,通常很小,能夠初始化週邊和DDR並載入作業系統。在 PC 中,輔助開機載入程式可能被視為 MB 韌體,它初始化 DDR 並載入另一個引導程式/管理器(如 GRUB)。

相關內容