作業系統設計/初始化/引導載入程式
一個引導載入程式是一個小型的程式,它從硬碟、軟盤、CD/DVD 或其他儲存裝置的 **主引導記錄 (MBR)** 啟動。在 BIOS 初始化系統硬體的一小部分後,它被計算機的 BIOS 載入。引導載入程式的作用是從儲存裝置載入作業系統,設定一個最小的環境供作業系統執行,並執行作業系統的啟動程式。
由於大多數系統(特別是 IA-32 IBM 相容系統)的引導載入程式只能佔用很小的空間(軟盤上只有 510 位元組有效,硬碟上只有 446 位元組),因此引導載入程式通常被分成多個階段。第一階段將從磁碟上的特定扇區載入第二階段,然後第二階段將初始化系統並從磁碟上的特定檔案載入核心。這意味著第二階段引導載入程式必須能夠解釋系統的檔案系統。有時,在第一階段和第二階段之間會放置一個額外的階段(通常稱為 1.5 階段),它也能夠解釋檔案系統,並允許第二階段引導載入程式在磁碟上移動,這可能是由於磁碟碎片整理或第二階段引導載入程式的編輯造成的。
引導載入程式通常允許使用者在多個不同的作業系統之間進行選擇,並選擇要啟動哪個作業系統。此功能稱為多重引導(或雙重引導)。許多引導載入程式還支援向核心傳遞引數。這些引數類似於命令列引數,通常用於告訴核心系統的配置。有些甚至將“模組”載入到記憶體供作業系統使用。
對於 *nix 使用者來說,LILO 和 GRUB 引導載入程式是最常見的。除了啟動 Linux,它們還可以使用鏈式載入啟動 Windows。微軟 Windows 有它自己的專有引導載入程式。
LILO 是LInux LOader 的縮寫。
GRUB 是GR and Unified Boot loader 的縮寫。GRUB 在作業系統開發人員中很受歡迎,因為它可以毫不費力地將系統帶到 32 位保護模式,之後核心可以像任何其他應用程式一樣啟動。GRUB 支援 Multiboot 規範,該規範指定了任何核心如何被 GRUB 載入。
GRUB 的下一個版本,GRUB2,支援 64 位系統,並將有一個新的可擴充套件的 Multiboot 規範實現。
ReactOS 引導載入程式是 ReactOS 專案的引導載入程式。它只支援 FAT,但可以載入 Windows、ReactOS 和 Multiboot 核心。
- X86 彙編/引導載入程式 描述了 x86 系統上的引導載入程式。
- 嵌入式系統/引導載入程式和引導扇區 描述了所有其他型別系統上的引導載入程式。
- LPI Linux 認證/故障排除引導載入程式
- Linux 核心/啟動
- Linux 除錯概述 討論了一些引導載入程式除錯工具和核心除錯工具。