Linux第二階段啟動載入器
Context:第二階段啟動載入器,如GNU GRUB,rEFInd,BOOTMGR,Syslinux,NTLDR或iBoot,本身不是作業系統,但能夠正確載入作業系統並將執行轉移到作業系統;作業系統隨後會自行初始化,並可能載入額外的裝置驅動程式. 第二階段的啟動載入器不需要驅動程式來執行,而是可以使用系統韌體 (如BIOS或Open Firmware) 提供的通用儲存訪問方法,儘管通常具有有限的硬體功能和較低的效能.  許多啟動載入器可以配置為使用者提供多個啟動選擇. 這些選擇可以包括不同的作業系統 (用於從不同的分割槽或驅動器進行雙重或多重啟動),相同的作業系統的不同版本 (如果新版本有意想不到的問題),不同的作業系統載入選項 (例如,啟動到救援或安全模式),以及一些可以在沒有作業系統的情況下執行的獨立程式,例如記憶體測試器 (例如,memtest86+),基本<unk> (如GNU GRUB),甚至遊戲 (參見PC啟動器遊戲列表).一些啟動載入器也可以載入其他啟動載入器;例如,GRUB載入BOOTMGR而不是直接載入Windows. 通常,預設選項是預先選擇的,在此期間使用者可以按一鍵來更改選擇;在此延遲後,預設選項會自動執行,因此正常啟動可以在沒有互動的情況下發生.  當計算機準備與使用者互動,或作業系統能夠執行系統程式或應用程式時,啟動過程可以被認為是完成的.  許多嵌入式系統必須立即啟動. 例如,等待數碼電視或GPS導航裝置啟動一分鐘通常是不可接受的. 因此,這些裝置在ROM或快閃記憶體中具有軟體系統,因此裝置可以立即開始執行;很少或不需要載入,因為在裝置製造時,載入可以預先計算並儲存在ROM上.  大型和複雜的系統可能會有多個階段的啟動程式,直到最終作業系統和其他程式被載入並準備執行. 由於作業系統的設計是永遠不會啟動或停止的,因此啟動載入程式可能會載入作業系統,將自己配置為該系統中的一個過程,然後不可撤銷地將控制權轉移到作業系統. 然後啟動載入程式像任何其他程序一樣正常結束.
一個雙階段的啟動載入器實際上是由兩個接著一個的啟動載入器組成的. 第一個是小的, 唯一的目的是裝載第二個. 然後第二個可以包含載入核心所需的所有程式碼. GRUB使用兩個 (或可以說是三個) 階段.