BIOS 和 EFI 介绍及其启动光盘制作


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. 开机过程示意图
图 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 参数的那个文件是自动

生成的,不用太担心,其余参数都是固定的。这里的路径都是相对于光盘的根的,而和制作光盘时的工作目录没有关系。

  • 1
  • 2
  • 3
  • 下一页

相关内容

    暂无相关文章