0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

传统网络引导预引导执行环境

星星科技指导员 来源:嵌入式计算设计 作者:Kewal Agola 2022-06-29 11:51 次阅读

Preboot eXecution Environment (PXE) 是一种无需使用硬盘驱动器操作系统即可启动计算机的协议。PXE 引导在计算机网络上运行,可能包括也可能不包括 Internet 访问。它几乎专门用于连接到中央服务器并使用后续计算机运行虚拟操作系统的系统。

固件是充当硬件(主板)和操作系统(OS)之间接口的软件。统一可扩展固件接口 (UEFI) 引导和传统引导之间的区别在于固件用于查找引导目标的过程。

传统引导是基本输入/输出系统 (BIOS) 固件使用的引导过程。BIOS 是 IBM 于 1975 年为其微型计算机控制程序 (CP/M) 操作系统推出的第一个流行的台式 PC 固件。尽管它仍然广泛存在,但计算机已经发生了巨大的变化,并且 BIOS 无法提供现代硬件的高级功能。固件维护一个可引导的已安装存储设备的列表(软盘驱动器、硬盘驱动器、光盘驱动器、磁带驱动器等),并以可配置的优先级顺序枚举它们。开机自检 (POST) 程序完成后,固件会将每个存储目标的第一个扇区加载到内存中并扫描它以查找有效的主引导记录 (MBR)。如果找到有效的 MBR,固件会将执行传递给在 MBR 中找到的引导加载程序代码,它允许用户选择一个分区来启动。如果没有找到,它会进入引导顺序中的下一个设备。如果根本没有找到 MBR,则会向用户显示著名的“请插入系统磁盘 yadda yadda yadda”消息。

UEFI 引导是 BIOS 的继承者。UEFI 使用全局唯一标识符 (GUID) 分区表 (GPT),而 BIOS 使用主引导记录 (MBR) 分区方案。GPT 和 MBR 都是指定硬盘物理分区信息的格式。固件维护一个称为 EFI 服务分区的有效引导卷列表。在 POST 过程中,UEFI 固件会扫描连接到系统的可引导存储设备以查找有效的 GPT。与 MBR 不同,GPT 不包含引导加载程序。固件本身会扫描 GPT 以查找要从中引导的 EFI 服务分区。如果未找到 EFI 可引导分区,则固件可以回退到 Legacy Boot 方法。如果 UEFI 引导和 Legacy 引导均失败,则会向用户显示著名的“请插入系统磁盘 yadda yadda yadda”消息。

以下是两个引导过程之间的主要区别:

MBR 中的最大分区大小约为 2 TB,而 UEFI 中的最大分区大小约为 9 ZB

MBR 最多可以有 4 个主分区,而 GPT 可以有 128 个。

MBR 只能存储一个引导加载程序,而 GPT 有一个单独的专用 EFI 系统分区 (ESP) 用于存储多个引导加载程序。如果您有两个或更多需要不同引导加载程序的操作系统,这将非常有用。

UEFI 提供安全启动,可以防止加载启动时病毒。

为什么选择旧版 PXE?

在现代数据中心,PXE 是操作系统启动、安装和部署最常见的选择之一。传统 PXE 的一些优点是:

PXE 引导可以通过网络运行,不需要本地硬盘驱动器或操作系统。但是,如果硬盘驱动器连接到客户端计算机,只要计算机首先从网络启动,PXE 启动就可以访问它。

同样,如果 OS 存在于客户端计算机上并且服务器命令 PXE 引导这样做,则可以通过 PXE 引导访问 OS。

如果客户端计算机通过局域网 (LAN) 连接到中央服务器,则无需访问 Internet 即可部署 PXE 引导。

这是一个灵活、模块化和高效的引导过程。

客户端机器或工作站不需要存储设备或操作系统。

由于 PXE 独立于供应商,因此网络扩展和添加新客户端计算机变得更加容易。

由于大多数任务都是远程执行的,因此简化了维护。

集中式数据存储提供信息安全。

PXE 非常快速且非常有用。我们使用 Debian 的 FAI、Kickstart 和修改后的 BSD 安装程序,在这里安装了数千台 PXE 引导的机器。这是安装机器的最简单方法之一,尤其是当您需要自动安装时。

为什么是传统引导?

UEFI 是对传统 PXE 引导的良好扩展,但并非所有操作系统都支持 UEFI 引导固件。这就是传统启动固件成为操作系统启动的核心要求的地方。

Windows XP 和 Windows Server 2003 SP2 等 Windows 版本不支持 UEFI 引导。

Ubuntu,一个占主导地位的 Linux 发行版,仅从 Ubuntu-11.10 开始支持 UEFI。任何早于该版本的版本都需要旧版引导固件。

UEFI 通常部署为 64 位固件。在 64 位 UEFI 固件上引导 32 位操作系统非常困难。在这种情况下,传统的引导系统,即 BIOS,是必要的。

使用传统的 PXE 实施,可以部署各种操作系统,如下所示:

Ubuntu 10.04 32 位

Ubuntu 14.04 32/64 位

Windows Server 2003 SP2、Server 2012 和 Server 2016

Windows 7、8.1、10 64 位操作系统

我们还测试了使用 Legacy PXE 固件启动非常基本的操作系统,例如 FreeDOS(MS-DOS 的衍生产品)。

在相同的 PXE 服务器设置的帮助下,我们在大约五台具有 PXE SDK 的不同计算机上部署了 Ubuntu 14.04 64 位映像。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    51

    文章

    7305

    浏览量

    142928
  • 服务器
    +关注

    关注

    12

    文章

    8111

    浏览量

    82496
  • 操作系统
    +关注

    关注

    37

    文章

    6280

    浏览量

    121870
收藏 人收藏

    评论

    相关推荐

    使用uboot引导应用程序

    uboot默认是支持执行应用程序的,就像引导内核一样,我们也可以自己写一个应用程序,让uboot启动时引导
    发表于 11-16 14:00 782次阅读

    ARM系统引导固件的新机遇-UEFI

    设计都有自己独特的与所引导的操作系统紧密结合的模式。这种传统的方法意味着固件开发者必须保持完全不同的代码库,即使系统可能使用的外围设备(网络,SATA接口,USB控制器等)和整个设计功能集是相同的。
    发表于 08-23 09:06

    网络引导加载程序

    我正在研究一个通过TCP/IP进行通信的项目,我正在尝试实现固件升级功能。我现在的方法是用一个Bootloader设置一个双应用程序安装,它只作为一个启动程序(没有通信)和一个处理网络通信的应用程序
    发表于 08-30 14:59

    基于Linux的无线传感器网络引导程序设计

    ) 的第1 条指令地址,启动Linux 操作系统,执行/etc 目录下的用户系统配置信息,准备系统应用程序的使用环境。  2 引导程序设计实现  引导程序的实现包括4 个关键环节的配置
    发表于 11-13 16:25

    引导地址和引导加载程序问题

    (程序闪存)处。我发现的信息很少,但是我理解PIC程序员在启动闪存中放了一个引导加载程序,它执行一些初始化,然后跳到程序闪存中,对吧?我希望完全控制软件并自己编写引导代码,因为我不知道默认引导
    发表于 06-13 08:20

    远程自动引导小车怎么实现?

    电子技术的发展带动机电产品向智能化、人性化的方向发展。文章设计了物流中心自动引导小车控制系统。本系统采用嵌入式系统以ARM7为远程自动引导小车(AGV)的控制核心,结合GPRS和WIFI无线网络
    发表于 08-20 07:30

    怎么构建基于Harmony的引导加载程序?

    脚本”是什么以及如何使用它?我还想了解一个外围问题,即如何创建一个合并的可执行文件,该可执行文件将引导加载程序二进制文件与应用程序二进制文件组合在一起,以便它们能够一起使用,以便使用诸如Micro.IPE工具和I的工具来
    发表于 04-01 09:55

    HCS12微控制器是否有- 编程的引导加载程序?

    我一直在看有关 LRAE 引导加载程序的 freescale AN 数据表很长时间,我收集了很多信息,我想知道一些我无法理解的元素,每个 HCS12 微控制器是否有- 编程的引导加载程序,我们以后
    发表于 04-18 07:44

    OS引导记录手册

    OS引导记录手册:1、PC引导流程42、DOS核心引导流程分析53、DOS引导区代码分析  94、Windows 引导流程&nbs
    发表于 09-26 18:49 9次下载

    嵌入式系统引导技术研究

    以POWERPC8XX系列处理器为例! 通过对此类处理器的引导模式" 引导代码的编写和调试!以及如何引导操作系统执行等问题的研究!探索嵌入式系统引导
    发表于 07-02 15:09 34次下载

    知识引导的开放环境视觉识别

    知识引导的开放环境视觉识别免费下载。
    发表于 05-19 11:10 17次下载

    在鸿蒙系统的撸引导页代码的经验

    手机 APP 的引导页是一个常见的功能,今天和大家一起分享在鸿蒙系统的撸引导页代码的经验。 应用引导页的功能 ①为什么要做应用的引导功能? 几乎所有的 App 都会有做一些界面
    的头像 发表于 09-06 09:25 1056次阅读

    基于点云的视觉引导系统

    功能目标是基于点云的轨迹引导,即无论待引导物体以何种位姿摆放(要求该位姿在机械臂的行程范围内),视觉系统均能定位到该物体,并引导机械臂按需要的轨迹实现一定的工艺流程(比如鞋底涂胶等
    的头像 发表于 02-09 16:05 842次阅读

    怎么使用uboot引导应用程序?

    uboot默认是支持执行应用程序的,就像引导内核一样,我们也可以自己写一个应用程序,让uboot启动时引导
    的头像 发表于 02-17 16:01 1064次阅读
    怎么使用uboot<b class='flag-5'>引导</b>应用程序?

    开源网络引导固件iPXE正式支持龙架构

    开源网络引导固件iPXE集成龙架构补丁,正式支持龙架构(LoongArch)。用户可以使用iPXE从网络引导基于龙架构的操作系统。
    的头像 发表于 07-19 10:12 375次阅读
    开源<b class='flag-5'>网络</b><b class='flag-5'>引导</b>固件iPXE正式支持龙架构