歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> BIOS 和 EFI 介紹及其啟動光盤制作

BIOS 和 EFI 介紹及其啟動光盤制作

日期:2017/2/28 15:44:10   编辑:Linux教程

BIOS 和 EFI 介紹及其啟動光盤制作同時支持 BIOS 和 EFI 平台啟動光盤的制作
簡介: 文章首先大概介紹了 BIOS, EFI 及其啟動過程,然後分別介紹了 BIOS 平台、EFI 平台以及同時滿足這兩種平台的啟動光盤的制作過程。

概述

現在不少安裝光盤同時滿足 EFI 平台和 BIOS 平台的引導要求,在本文中,學習如何制作同時滿足 Legacy BIOS 平台和 EFI 平台啟動的啟動光盤。您將學習:

Legacy BIOS 概述、啟動過程介紹以及制作 Legacy BIOS 平台的啟動光盤步驟;

EFI 概述、啟動過程介紹以及制作 EFI 平台的啟動光盤步驟;

制作同時滿足 Legacy BIOS 平台和 EFI 平台的啟動光盤步驟。

Legacy BIOS boot 介紹及啟動光盤制作

Legacy BIOS boot 介紹

首先了解一下 Legacy BIOS 如何啟動或引導。當系統首次引導時,或系統被重置時,處理器會執行一個位於已知位置處的代碼。這個位置在基本輸入 / 輸出系統(BIOS) 中,它保存在主板上的閃存中。CPU 會調用這個重置向量來啟動一個位於閃存 /ROM 中的已知地址處的程序。通常,它執行一個啟動自測(POST)來檢查機器。最後,它從引導驅動器上的主引導記錄(MBR)加載第一個扇區。

這時第一階段的引導加載程序開始了。引導程序 boot loader 就位於 MBR 第一個扇區裡面。此時 boot loader 就被裝入 RAM 並執行。這個引導加載程序在大小上小於 512 字節(一個扇區),其作用是加載第二階段的引導加載程序。

當第二階段的引導加載程序被裝入 RAM 並執行時,通常會顯示一個動畫屏幕,並將 Linux 和一個可選的初始 RAM 磁盤(臨時根文件系統)加載到內存中。在加載映像時,第二階段的引導加載程序就會將控制權交給內核映像,然後內核就可以進行解壓和初始化了。在這個階段 中,第二階段的引導加載程序會檢測系統硬件、枚舉系統鏈接的硬件設備、掛載根設備,然後加載必要的內核模塊。完成這些操作之後啟動第一個用戶空間程序(init),並執行高級系統初始化工作。


圖 1. 開機過程示意圖

制作支持 Legacy BIOS 啟動光盤的步驟

步驟一:准備 isolinux.bin 和工作目錄

在准備制作 ISO 的目錄裡添加一個子目錄,比如 isolinux/ ,然後放入 isolinux.cfg 和一個對所有光盤都一樣的 isolinux 提供的引導介質 isolinux.bin,當然還要放入相應的 kernel, initrd 等等,目錄結構如下:


清單 1. myBIOSiso 目錄結構

				
 |---isolinux 
 | |---isolinux.bin 
 | |---isolinux.cfg 
 |---kernel 
 |---initrd 
 |---readme 

步驟二:配置 isolinux.cfg


清單 2. 配置 isolinux.cfg

				
 prompt 1 
 timeout 100 
 default myBIOSiso 
 label myBIOSiso 
 kernel img2a 
 append initrd=img3a load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=60000 rw root=/dev/ram 

步驟三:制作 BIOS 平台可啟動光盤


清單 3. 制作 BIOS 平台可啟動光盤的命令

				
 # mkisofs -o output.iso -b isolinux/isolinux.bin -c \n
 isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table . 

制作 iso 的時候要使用 -b 參數,用來指定 isolinux.bin 所在的路徑,-c 參數的那個文件是自動

生成的,不用太擔心,其余參數都是固定的。這裡的路徑都是相對於光盤的根的,而和制作光盤時的工作目錄沒有關系。

Copyright © Linux教程網 All Rights Reserved