BIOS 和 EFI 启动光盘制作
一、概述:
文章首先大概介绍了 BIOS, EFI 及其启动过程,然后分别介绍了 BIOS 平台、EFI 平台以及同时满足这两种平台的启动光盘的制作过程。
现在不少安装光盘同时满足 EFI 平台和 BIOS 平台的引导要求,在本文中,介绍如何制作同时满足 Legacy BIOS 平台和 EFI 平台启动的启动光盘。
1.Legacy BIOS 概述、启动过程介绍以及制作 Legacy BIOS 平台的启动光盘步骤;
2.EFI 概述、启动过程介绍以及制作 EFI 平台的启动光盘步骤;
3.制作同时满足 Legacy BIOS 平台和 EFI 平台的启动光盘步骤。
二、Legacy BIOS 平台和 EFI 平台启动的启动光盘制作
1、Legacy BIOS boot 介绍
首先了解一下 Legacy BIOS 如何启动或引导。当系统首次引导时,或系统被重置时,处理器会执行一个位于已知位置处的代码。这个位置在基本输入 / 输出系统(BIOS) 中,它保存在主板上的闪存中。CPU 会调用这个重置向量来启动一个位于闪存 /ROM 中的已知地址处的程序。通常,它执行一个启动自测(POST)来检查机器。最后,它从引导驱动器上的主引导记录(MBR)加载第一个扇区。
这时第一阶段的引导加载程序开始了。引导程序 boot loader 就位于 MBR 第一个扇区里面。此时 boot loader 就被装入 RAM 并执行。这个引导加载程序在大小上小于 512 字节(一个扇区),其作用是加载第二阶段的引导加载程序。
当第二阶段的引导加载程序被装入 RAM 并执行时,通常会显示一个动画屏幕,并将 Linux 和一个可选的初始 RAM 磁盘(临时根文件系统)加载到内存中。在加载映像时,第二阶段的引导加载程序就会将控制权交给内核映像,然后内核就可以进行解压和初始化了。在这个阶段 中,第二阶段的引导加载程序会检测系统硬件、枚举系统链接的硬件设备、挂载根设备,然后加载必要的内核模块。完成这些操作之后启动第一个用户空间程序(init),并执行高级系统初始化工作。
图 1. 开机过程示意图
2、制作支持 Legacy BIOS 启动光盘的步骤
步骤一:准备 isolinux.bin 和工作目录
在准备制作 ISO 的目录里添加一个子目录,比如 isolinux/ ,然后放入 isolinux.cfg 和一个对所有光盘都一样的 isolinux 提供的引导介质 isolinux.bin,当然还要放入相应的 kernel, initrd 等等,目录结构如下:
清单 1. myBIOSiso 目录结构
|
步骤二:配置 isolinux.cfg
清单 2. 配置 isolinux.cfg
|
步骤三:制作 BIOS 平台可启动光盘
清单 3. 制作 BIOS 平台可启动光盘的命令
|
制作 iso 的时候要使用 -b 参数,用来指定 isolinux.bin 所在的路径,-c 参数的那个文件是自动
生成的,不用太担心,其余参数都是固定的。这里的路径都是相对于光盘的根的,而和制作光盘时的工作目录没有关系。
二、EFI boot 介绍及启动光盘制作
1、EFI boot 介绍
EFI 的全称是可扩展固件接口 (Extensible Firmware Interface),它是 Intel 公司为全新类型的固件体系结构、接口和服务提出的建议性标准。该标准有两个主要用途:向操作系统的引导程序和某些在计算机初始化时运行的应用程序提供一套标准的运行环境;为操作系统提供一套与固件通讯的交互协议。
简单说,EFI 是 BIOS 的替代者。它为操作系统和固件提供了更加强大、安全、方便的交互途径。EFI 规范定义的接口,包括数据表包含平台的信息,可在 OS Loader 和 OS 的启动和运行时服务。 EFI 固件提供了几种技术优势:
- 引导能力支持大容量磁盘(超过 2 TIB )
- 更快的启动
- 独立 CPU 的体系结构
- CPU 的独立的驱动程序
- 灵活的预操作系统环境,包括网络功能
- 模块化设计
EFI 启动还需要一个特殊的分区表,该分区表指向一个特殊的文件。通常情况下该文件位于 \EFI 路径,EFI 启动涉及到一个写入到 firmware 中的 boot loader, EFI 并不把启动程序放置在 MBR 中,firmware 知道如何读取分区表以及 FAT 的文件格式。EFI 系统分区是用 FAT 格式格式化的特定分区,其中包含 boot loader, 该 boot loader 是 EFI 可执行程序,可被 EFI boot manager 载入和运行。
Boot loader 被设置为一个可以通过固件访问的文件。Boot loader 允许用户选择并加载操作系统。所有的 boot manager 都包含一个 EFI 变量,该变量被用来定义固件配置参数。
对于 64 位 Linux,例如 RedHat EFI boot loader 位于 \EFI\RedHat\elilo.efi, SUSE 位于 \EFI\SuSE\elilo.efi. 该 EFI 文件包含一个修改过的 LILO. 一般叫做 elilo 文件。ELILO, 包含一个二级的启动选项,在 elilo.conf 文件中配置。Elilo 是一个 boot loader, 只能用于启动 Linux 系统。
2、制作支持 EFI 平台的启动光盘的步骤
ELILO 是一种基于 EFI 开发的 boot loader,而不是基于 BIOS 平台 , ELILO 允许用户在系统开机过程中自己选择哪个系统或内核,同时也支持用户传参数给内核。 ELILO 的配置文件,一般位于 EFI 启动分区。下面的实例就是将 elilo 作为 EFI 平台的 boot loader。
步骤一:配置 elilo.conf
EFI 文件从 Suse 11 SP1 的光盘中获得,路径是 /boot/x86_64/efi.
清单 4. 查看 efi 文件命令
|
在 efiimg/efi/boot 文件下,可以看到如下四个文件:
|
如果需要按自己需求更改 efi 文件,自己定制 efi boot image 方法如下
首先需要按自己需求更改 elilo.conf 文件,比如我的配置如下:
清单 5. 配置 elilo.conf 文件
|
参数详解如下:
prompt —设定默认行为为交互模式
timeout=tsecs — 设置在菜单到自动启动系统前的时间,单位是 1/10 秒。无论是选定了默认开机选项或者没有设定默认开机项目,当超时时间过后,第一个开机选项会被选中。
default=name — 设置默认开机选项,这个参数的值必须和 label 参数中的值匹配。如果没有设定默认开机选项,那么第一个开机选项将会被选中。
image=kernel — 设定 Linux 开机的内核,通常情况下是 vmlinuz 文件
label=name — 这个参数的值是设定为可以指向读取的开机选项
initrd=image — 指定 initrd 文件,用于初始化和启动 linux 内核。这个镜像文件通常位于 EFI 分区
root=diskptn —指定 mount 为磁盘根分区的目标文件
append="options" — 指定内核载入开机中传递给内核的参数
步骤二:定制 EFI 文件
当自己定制的 elilo.conf initrd linux 准备完毕后,在 RHEL6.0 或者更高版本 :
清单 6. 定制 EFI 文件
|
步骤三:制作 EFI 平台启动光盘
清单 7. 制作 EFI 平台启动光盘的命令
|
其中参数 -e FILE 是指定 EFI boot image
制作同时满足 EFI 平台和 BIOS 平台的引导要求的启动光盘
在准备完制作支持 EFI 平台的启动光盘所需文件后,将定制好的 efibootimg 放在需要打包成 iso 格式的文件根目录下,目录结构如下
清单 8. MyBIOSEFIiso 目录结构
|
三、制作同时满足 EFI 平台和 BIOS 平台的启动光盘
清单 9. 制作同时满足 EFI 平台和 BIOS 平台的引导要求的启动光盘命令
|
BIOS 和 EFI 启动光盘制作相关推荐
- 三合一启动光盘制作(转)
三合一启动光盘制作(转)[@more@]Windows 2000 三合一启动光盘制作有关说明:1.Windows 2000 三合一光盘是指将WIN2000的PRO.SERVER和ADVSERVER三个 ...
- 启动光盘制作完全手册下载
目前市面上有很多基于WINDOWS PE的光盘启动工具,但授之以鱼,不如授之以渔. 希望做网管的同行们,或者对电脑有自己动手兴趣的人,不妨自己做张无忧启动光盘吧! 软件介绍: 本手册内容均来自网络,感 ...
- 新手入门启动光盘制作最详细的教程
序言 最近看到不少朋友在论坛上发帖,问如何制作多合一的光盘,或者是想把一些常用工具之类的加入到自己喜欢的光盘中,等等之类.不过归根结底,这些问题都是关于可启动光盘制作的问题. 我曾经也被这些问题困惑, ...
- 启动光盘制作教程(整合自己的光盘)
这个教程发布以来,受到了各位网友的支持,在此谢谢了,看了大部分回复,恐怕最多的是要求弄成word,打包 下载,可实际上本文贴出来不久,就已经有热心网友 帮忙整理出来了,需要的搜一下就有了 再菜也能会- ...
- 非常详细的启动光盘制作教程-菜鸟版
原文转自: 番茄花园 很多人都想制作自己的启动关盘,很多论坛上也有很多相关介绍,但是很多人看了之后却还是有很多的疑问,想来主要是咱们这些人水平有太菜,而那些教程的编写者水平又太高,他们认为很多操作非常 ...
- 制作一个带rEFInd引导菜单的WinPE启动光盘
制作一个带rEFInd引导菜单的WinPE启动光盘 制作UEFI格式的启动光盘要比U盘难很多. UEFI模式Windows的bootmgr只能从UDF格式光盘引导,而rEFInd并不支持从UDF格式光 ...
- 制作自己的Linux系统与启动光盘(1)
在刚接触Linux的时候,就想把自己编译好的linux内核放在虚拟机中启动,刚开始时一筹莫展,后来在IBM的linux文档库中发现了一种制作linux iso的方法(<BIOS和 EFI 介绍及 ...
- 制作多重启动光盘——启动易(EasyBoo…
点这里下载==> 启动易(EasyBoot) v5.12 简体中文版 用EasyBoot刻盘正好可以解决这个问题.EasyBoot是一款集成化的中文启动光盘制作工具,它可以制作光盘启动菜单.自动 ...
- 制作自己的Linux系统与启动光盘(2)
制作支持 Legacy BIOS 启动光盘的步骤 2.1 step1 准备 isolinux.bin 和工作目录 在准备制作 ISO 的目录里添加一个子目录,比如 isolinux/ ,然后放入 is ...
最新文章
- BZOJ4568:[SCOI2016]幸运数字——题解
- python dict常用操作
- sobel prewitt算法 模板加权模糊的解释 + 两类边缘下的二阶导数值
- 关于滑轮组的计算机知识点,初中物理:滑轮及滑轮组知识点总结
- 4399小游戏flash插件怎么下载_Flash即将关闭,但这个小游戏平台,或许可以帮你找回4399的回忆...
- Maven 国内镜像很慢解决的方法
- 算法在岗3年小结:模型策略篇
- 雷达存在感应器技术,实时感知控制应用,雷达人体探测方案
- C#等 句柄是什么?
- Mathpix Snip--图片中识别公式
- YD5141SYZ后压缩式垃圾车的上装箱体设计
- 绿色到黄色到红色的颜色渐变
- FPGA数字IC的Verilog刷题解析基础版02——T触发器(异步复位和同步复位)
- Facebook POP,迈向大师操作之路
- 对比UltraCompare和Beyond Compare我这么选,你会怎么选?
- 凸优化理论(一)数学优化问题的分类
- 【改写历史】--历史谁书写?谁将改写历史?
- 67tool.com 即用即走的在线工具箱
- C++ imagemagick png图片压缩,背景变黑问题
- 高等数学基础06:方向导数