• 引導加載程序

    編輯
    本詞條由“匿名用戶” 建檔。

    什么是引導加載程序

    編輯

    引導加載程序是一種軟件,負責啟動計算機

    當計算機關閉時,其軟件?—包括操作系統、應用程序代碼數據?—仍存儲在非易失性存儲器中。當計算機開機時,它通常沒有操作系統或其隨機存取存儲器(RAM)中的加載程序。計算機首先執行存儲在只讀存儲器(ROM,后來是EEPROM,NOR閃存)中的一個相對較小的程序以及一些需要的數據,以初始化RAM(特別是在x86系統上)以訪問非易失性設備(通常是塊設備,例如NAND閃存)或可以將操作系統程序和數據加載到RAM中的設備。

    啟動此序列的小程序稱為引導加載程序、引導程序或引導加載程序。

    一些較早的計算機系統,在接收到來自操作人員或xxx設備的啟動信號時,可能會將非常少量的固定指令加載到特定位置的內存中,初始化至少一個CPU,然后將CPU指向指令和開始他們的執行。這些指令通常從一些xxx設備(可由操作員開關選擇)啟動輸入操作。其他系統可能會直接向xxx設備或I/O控制器發送硬件命令,這些命令會導致執行極其簡單的輸入操作(例如“從位置1000開始將系統設備的扇區0讀入內存”),從而有效地加載一個小的進入內存的引導加載程序指令數量;

    較小的計算機通常使用不太靈活但更自動的引導加載程序機制,以確保計算機以預定的軟件配置快速啟動。在許多臺式計算機,例如,該自舉過程的CPU執行軟件開始包含在ROM(例如,BIOS一個的IBMPC或IBMPC兼容)在預定義的地址(某些CPU,包括IntelX86系列是設計用于在沒有外部幫助的情況下重置后執行該軟件)。該軟件包含搜索有資格參與引導的設備的基本功能,并從特殊部分(最常見的是引導扇區)加載小程序)的最有希望的設備,通常從固定的入口點開始,例如扇區的開始。

    xxx階段引導加載程序

    編輯

    引導加載程序可能面臨特殊的限制,尤其是在大小方面;例如,在早期的IBMPC和兼容機上,引導扇區通常應該只在32KB(后來放寬到64KB)的系統內存中工作,并且只使用原始8088/8086處理器。位于固定磁盤和可移動驅動器上的PC引導加載程序的xxx階段(FSBL,xxx階段引導加載程序)必須適合主引導記錄的前446字節,以便為默認的64字節分區表留出空間,其中有四個分區條目和兩字節引導簽名,BIOS需要適當的引導加載程序-甚至更少,當附加功能,例如超過四個分區條目(最多16個,每個16字節)、磁盤簽名(6字節)、磁盤時間戳(6字節)時,一個先進的動態分區(18個字節)或特殊多重引導加載器必須在某些環境中也支持。在軟盤和超級軟盤卷引導記錄中,自DOS4.0起,FAT12和FAT16卷上的擴展BIOS參數塊最多占用59個字節,而FAT32隨DOS7.1引入的EBPB甚至需要87個字節,假設扇區大小為512個字節時,引導加載程序只剩下423個字節。因此微軟引導扇區傳統上對引導過程施加了一定的限制,例如引導文件必須位于文件系統根目錄中的固定位置并作為連續扇區存儲,條件小心的SYS命令,在更高版本的DOS中稍微放松。[nb1]然后引導加載程序能夠將文件的前三個扇區加載到內存中,這恰好包含另一個嵌入式引導加載程序,能夠將文件的其余部分加載到內存中。當微軟添加LBA和FAT32支持,他們甚至切換到超過兩個物理扇區的引導加載程序,并出于大小原因使用386條指令。與此同時,其他供應商設法將更多功能壓縮到單個引導扇區中,而沒有放松對僅最小可用內存(32KB)和處理器支持(8088/8086)的原始限制。[nb2]例如,DR-DOS引導扇區能夠在FAT12、FAT16和FAT32文件系統中定位引導文件,并通過CHS或LBA將其整體加載到內存中,即使該文件未存儲在固定位置和連續扇區。[nb3][nb2]

    BIOS(在現代x86系統中)和UEFI不僅從非易失性設備加載操作系統,還為操作系統初始化系統硬件。

    xxx階段引導加載程序的示例包括BIOS、coreboot、Libreboot和DasU-Boot。

    第二階段引導加載程序

    編輯

    第二階段引導加載程序,例如GNUGRUB、rEFInd、BOOTMGR、Syslinux、NTLDR或iBoot,它們本身不是操作系統,但能夠正確加載操作系統并將執行轉移給它;操作系統隨后會自行初始化并可能加載額外的設備驅動程序。第二階段引導加載程序不需要驅動程序來進行自己的操作,而是可以使用系統固件提供的通用存儲訪問方法,例如BIOS或OpenFirmware,盡管通常具有受限的硬件功能和較低的性能

    許多引導加載程序(如GNUGRUB、rEFInd、Windows的BOOTMGR、Syslinux和WindowsNT/2000/XP的NTLDR)可以配置為給用戶多個引導選擇。這些選擇可以包括不同的操作系統(用于從不同分區或驅動器進行雙重或多重引導)、同一操作系統的不同版本(以防新版本出現意外問題)、不同的操作系統加載選項(例如,引導到救援或安全模式),以及一些無需操作系統即可運行的獨立程序,例如內存測試器(例如memtest86+)、基本外殼(如在GNUGRUB中),甚至游戲(請參閱PCBooter游戲列表)。一些引導加載程序也可以加載其他引導加載程序;例如,GRUB加載BOOTMGR而不是直接加載Windows。通常,默認選項是預先選擇的,并帶有時間延遲,在此期間用戶可以按一個鍵來更改選項;在此延遲之后,默認選項將自動運行,因此無需交互即可正常啟動。

    當計算機準備好與用戶交互時,或者操作系統能夠運行系統程序或應用程序時,可以認為啟動過程已經完成。

    許多嵌入式系統必須立即啟動。例如,等待數字電視或GPS導航設備啟動一分鐘通常是不可接受的。因此,此類設備在ROM或閃存中具有軟件系統,因此設備可以立即開始運行;很少或根本不需要加載,因為加載可以在設備制造時預先計算并存儲在ROM中。

    引導加載程序

    大型復雜系統可能具有分多個階段進行的引導程序,直到最終加載操作系統和其他程序并準備好執行。由于操作系統被設計為永不啟動或停止,引導加載程序可能會加載操作系統,將自身配置為該系統內的一個進程,然后不可撤銷地將控制權轉移給操作系統。引導加載程序然后像任何其他進程一樣正常終止。

    網絡啟動

    編輯

    大多數計算機還能夠通過計算機網絡啟動。在這種情況下,操作系統存儲在服務器的磁盤上,其中的某些部分使用簡單的協議(例如普通文件傳輸協議(TFTP))傳輸到客戶端。傳輸這些部分后,操作系統將接管引導過程的控制。

    與第二階段引導加載程序一樣,網絡引導通過使用網絡接口引導ROM提供的通用網絡訪問方法開始,該引導ROM通常包含預引導執行環境(PXE)映像。不需要驅動程序,但系統功能受到限制,直到操作系統內核和驅動程序被傳輸和啟動。因此,一旦基于ROM的引導完成,就完全有可能通過網絡引導進入一個本身不具備使用網絡接口能力的操作系統。

    內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/125644/

    (3)
    詞條目錄
    1. 什么是引導加載程序
    2. 第一階段引導加載程序
    3. 第二階段引導加載程序
    4. 網絡啟動

    輕觸這里

    關閉目錄

    目錄
    91麻精品国产91久久久久