精华内容
下载资源
问答
  • UEFI启动流程

    2018-09-23 18:28:00
    UEFI系统启动流程 以上是UEFI系统运行的7个阶段,下边是详细描述: SEC阶段:(安全验证) 1、接收和处理系统的启动,重启,异常信号; 2、SEC阶段特色功能“Cache As RAM(CAR)”,在Cache上开辟一段空间...

    UEFI系统启动流程

     

    以上是UEFI系统运行的7个阶段,下边是详细描述:

    SEC阶段:(安全验证)

    1、接收和处理系统的启动,重启,异常信号;

    2、SEC阶段特色功能“Cache As RAM(CAR)”,在Cache上开辟一段空间作为内存使用(原因:因为此时内存还没有被初始化,C语言运行需要内存和栈空间);

    3、传递系统参数给PEI阶段

    1-可启用的固件的地址和大小;

    2-内存和栈的地址和大小;

    PEI阶段:(EFI前期初始化)

    在PEI阶段主要为DXE阶段准备执行环境,主要做CPU相关硬件初始化,最主要是对于内存的初始化,将DXE阶段需要的参数以HOB列表的形式进行封装,传递给DXE阶段。

    DXE阶段:(驱动执行环境)

    在DXE阶段已经有足够的内存可以使用,因此可以完成大量的驱动加载和初始化工作。遍历固件中所有的Driver,当Driver所依赖的资源都满足要求时,调度Driver到执行队列执行,直到所有的Driver都被加载和执行完毕,系统完成初始化。

    BDS阶段:(启动设备选择)

    在BDS阶段,主要是初始化控制台设备,加载执行必要的设备驱动,根据用户的选择,执行相应的启动项。

    TSL阶段:(操作系统加载前期)

    TSL阶段是OS Loader执行的第一个阶段,为OS Loader准备执行环境,OS Loader调用ExitBootService结束启动服务,进入RunTime阶段。

    RT阶段:

    在RT阶段,OS Loader已经完全取得了系统的控制权,因此要清理和回收一些之前被UEFI占用的资源,runtime services随着操作系统的运行提供相应的运行时的服务,这个期间一旦出现错误和异常,将进入AL进行修复。

    AL阶段:(灾难恢复)

    根据厂家自定义修复方案,UEFI标准未进行规定。

    转载于:https://www.cnblogs.com/achao123456/p/9693349.html

    展开全文
  • UEFI启动流程

    2011-10-12 09:43:50
    UEFI启动流程图 White Paper Reducing Platform Boot Times UEFI-based Performance Optimization .pdf
  • BIOS搭配MBR/GPT的启动流程 众所周知,操作系统就是一个软件。。。操作系统控制所有硬件,并且提供内核功能,从而让我们的计算机能够认识硬盘内的文件系统,来进一步进行操作。而这个软件就是用启动程序来启动的。...

    各硬件设备在Linux中的文件名

    在Linux系统中,每个设备都被当做一个文件来对待。例如SATA接口的硬盘文件即为 /dev/sd[a-d],有/dev/sda等四个文件名。

    设备 文件名
    SCSI,SATA,USB磁盘驱动器 /dev/sd[a-p]
    U盘 /dev/sd[a-p]与SATA相同
    Virtio接口 /dev/vd[a-p] 位于虚拟机内
    软盘驱动器 /dev/fd[0-7]
    打印机 /dev/lp[0-2](25针打印机) /dev/usb/lp[0-15]USB接口
    鼠标 /dev/input/mouse[0-15](通用)/dev/psaux(PS/2接口)/div/mouse(当前鼠标)
    CD-ROM,DVD-ROM /dev/scd[0-1](通用) /dev/sr[0-1](通用) /dev/cdrom(当前CD-ROM)
    磁带机 /dev/ht0(IDE接口) /dev/st0 (SATA/SCS接口) /dev/tape(当前磁带)

    磁盘连接方式和设备文件名的关系

    个人计算机常见的磁盘接口有SATA,SAS。近年来硬件虚拟化技术成熟,目前普通的中档个人计算机的CPU指令集中,就已经整合了硬件虚拟化指令集。所以计算机可用虚拟化出好几台逻辑独立的系统。这些虚拟机使用的虚拟磁盘并不是正规的磁盘接口,这种情况下。磁盘文件名就不一样了。正常的物理机器大概使用 /dev/sd[a-p] 的磁盘文件名,至于虚拟机环境使用 /dev/vd[a-p]

    对于SATA,USB,SAS等磁盘接口都是使用SCSI模块来驱动的,因此这些接口的磁盘设备文件名都是用/dev/sd[1-p] 的格式,根据Linux内核检测到的顺序来命名(不是根据插槽位置)

    MBR(MS-DOS) 分区表格式与限制

    分区嘛,在window里就是一块磁盘分为C盘,D盘。分区表嘛,就是分区的格式和限制。。。。

    MBR嘛,就是主引导记录,,
    在这里插入图片描述

    这四个分区的记录被称为主要或扩展分区。所以所谓的分区就是对那64字节的分区表进行设置而已,,,

    为啥要分区:

    • 安全,,
    • 系统的性能考虑,,

    当然我们不止可以划分四个分区,若想画出个十个分区,就是用扩展分区的方式来处理。就是基本划分为两个,一个主分区,另一个就是扩展分区,扩展分区就是用包含分区前面的扇区来记录分区信息来进行格外的划分。。。所以这些划分来的就是扩展分区的子分区啦。。这些分区就是逻辑分区

    文件名就是: /sda1 /sda2 /sda5 /sda6。。。前四个号是给主要分区和扩展分区用的,逻辑分区就从5号开始,,这是MBR的重要特性。。还有,主分区和扩展分区最多可以有四个(硬盘的限制),扩展分区只能有一个(操作系统的限制)。能被格式化后作为数据存取的分区时主要分区和逻辑分区,扩展分区无法格式化。。

    所以如果你的硬盘记录的分区表和MBR没了,那么这个硬盘基本废了。。但是呢对于大容量的磁盘就不好使了,,然后就有了GPT这个磁盘分区格式

    GPT磁盘分区表

    GPT将所有的磁盘区块以LBA逻辑区块地址,默认512字节)来规划,第一个叫LBA0。,,它使用34个LBA区块来记录分区信息,比MBR的一个确实安全,而且整个磁盘的最后34个LBA用来做备份。。。

    • LBA0(MBR兼容区块),与MBR模式相似,这个兼容区块由两部分,一个时储存了第一阶段的启动引导程序,另一个仅是一个特殊标志符,用来表示这是个GPT格式的意思。。。
    • LBA1(GPT表头记录):这个部分记录了分区表本身的位置和大小,同时记录了备份用的GPT分区放置的位置,同时放置了分区表的校验码,操作系统可以根据这个效验码来判断GPT是否正确。若有错误,就通过这个记录区来获取备份的GPT来恢复GPT的额正常运行
    • LBA2-33(实际记录分区信息处): 从LBA2开始,每个LBA都可以记录四组分区记录,所以在默认情况下有 4*32 组分区记录。。每个LBA有512字节,所以每组记录有128字节的空间,除了每组记录所需要的标识符与相关的记录之外,GPT在每组记录中分别提供了64位来记载开始/结束的扇区号码。所以GPT分区表对于单一分区的容量限制就是 …e。。8 ZB= 8*2^30 TB

    GPT分区已经没有了主分区啥的了,,既然每组记录多可以独立存在,当然每个都可以视为时主要分区,每个分区都可以拿来格式化使用。。。但是不是所有的操作系统都可以读取到GPT的磁盘分区格式,也不是所有的硬件都可以支持GPT格式,这与启动的检测程序有关。

    BIOS搭配MBR/GPT的启动流程

    众所周知,操作系统就是一个软件。。。操作系统控制所有硬件,并且提供内核功能,从而让我们的计算机能够认识硬盘内的文件系统,来进一步进行操作。而这个软件就是用启动程序来启动的。。。

    CMOS就是记录各项硬件参数并且嵌入在主板上面的存储器。BIOS就是写入到主板上面的软件程序。这个BIOS就是计算机系统启动时执行的第一个程序。

    CMOS主要的功能就是记录主板上面的重要参数,包括系统时间,CPU电压与频率,各项设备的I/O地址 IRQ等,由于这些数据的记录需要电,所以主板上才会有电池。BIOS是写入到主板上的某一个flash 或EEPROM的程序,它可以在计算机启动时执行,已加载CMOS中的参数,并尝试调用存储设备中的引导程序,进一步进入操作系统当中。

    接下来BIOS就会根据用户设置去启动硬盘,读取到第一个扇区的MBR位置,在MBR里的启动引导程序就会启动啦。

    这个启动引导程序的作用就是加载内核文件。由于启动引导程序时操作系统在安装的时候提供的,所以他会认识硬盘里的文件系统格式,然后就交给操作系统啦。。。

    BIOS也能从LBA0的MBR兼容区读取启动引导程序代码。但是如果你的引导程序不支持GPT,就像XP,那就不能启动操作系统啦。。。

    由于 LBA0仅提供第一阶段的启动引导程序代码,因此如果你使用的类似 grub 的启动引导程序的话,就要额外划分一个‘BIOS boot’分区,这个分区才能够方式其他开机过程所需要的程序,在centos中,这个分区通常占用2MB.

    Boot loader(启动引导程序) 就是操作系统安装在MBR上面的一个软件,他的任务是:

    • 提供选项,用户可以选择不同的启动选项,这就是多重引导功能。
    • 加载内核文件,直接指向可使用的程序区段来启动操作系统
    • 转交其他的引导程序,将启动管理的功能给其他的启动引导程序负责。

    虽然我们的硬盘里只有一个MBR,但是启动引导程序还可以安装在每个分区的启动扇区里(BOOT sector),,,就是这个特性造就了 多重引导的功能。

    在这里插入图片描述
    就是说,MBR里的启动引导程序有了两个选项,M1直接加载window,M2将开机管理工作交给第二个分区的启动管理程序,然后第二个分区里只有M1这个选项,来加载Linux系统。。。实际可启动的内核文件释放到各分区中的。

    UEFI BIOS搭配GPT启动的流程

    Unified extensible Firmware Interface(UEFI 统一可扩展固件接口)…好厉害的样子。。。

    GPT可以提供64位的寻址,而BIOS仅由16位,所以就用C 写出了UEFI。UEFI基本上就是一个低级的操作系统,由于其功能特性,开机速度比BIOS快了不少,但是管理硬件资源的效率低,执行效率无法提升等,所以效果华丽,但是性能不佳,所以UEFI大多用来实现启动操作系统之前的硬件检测,启动管理,软件设置等目的。

    虽然UEFI可以直接获取GPT分区表,但是最好依旧拥有BIOS boot的分区支持,同时,为了与window 兼容,并且与其他第三方厂商所使用的UEFI应用程序存储的空间,必须要格式化一个FAT格式的文件系统分区,大约提供512MB到 1G 的大小,已让其他UEFI 执行较为方便,,,(没看懂欸)

    目录树结构

    整个目录树结构最重要的就是那个根目录 ‘/’

    文件系统与目录树的关系(挂载)

    所谓的挂载就是利用一个目录当作进入点,将磁盘分区的数据放置在该目录下。也就是所进入该目录就可以读取该分区。进入点的目录就是挂载点。(感觉就是类似CDEF盘)

    展开全文
  • 浅谈UEFI启动流程经历的7个阶段

    千次阅读 2019-12-14 19:13:50
    关于UEFI标准 UEFI(Unified Extensible Firmware Interface Forum)的简称 ,是目前从智能手机到打印机,笔记本电脑,服务器,甚至超级计算都被广泛应用的技术...一:UEFI启动流程图 共7个阶段 Step1Step2Step3...

    关于UEFI标准

    UEFI(Unified Extensible Firmware Interface Forum)的简称 ,是目前从智能手机到打印机,笔记本电脑,服务器,甚至超级计算都被广泛应用的技术标准,其中它与传统BIOS的不同之处可以用3句话进行概括:

    1. 规范了各种接口标准
    2. 为不同的操作系统提供统一的接口
    3. 代码开源
    一:UEFI启动流程图
    • 共7个阶段
    Step1
    Step2
    Step3
    Step4
    Step5
    Step6
    Step7
    开始
    SEC
    PEI
    DXE
    BDS
    TSL
    RT
    AL
    结束

    在这里插入图片描述

    • STEP1
    • SEC阶段:(安全验证)
    1. 接受系统的启动、重启、异常信号
    2. Cache AS RAM(CAR),在Cache上开辟一段空间作为内存使用(此时内存还没初始化,相关C语言运行需要内存和栈的空间)
    3. 传递系统参数给PEI阶段
    • STEP2
    • PEI阶段:(EFI前期的初始化)
    1. 此阶段主要是为DXE阶段做的相关准备工作
      1. 做CPU和相关硬件的初始化,最主要的是内存初始化
      2. 将DXE阶段需要的参数以HOB列表形式进行封装,并传递给DXE阶段
    • STEP3
    • DXE阶段:(驱动执行环境)
    1. 此阶段主要是进行大量的驱动加载和初始化工作
      1. 通过对固件中所有Driver的遍历,当Driver
      2. 当Driver都被执行完成了,系统即完成了初始化
    • STEP4
    • BDS阶段:(启动设备选择)
    1. 此阶段主要初始化控制台设备
      1. 加载必要的设备驱动
      2. 根据用户选择执行相应启动项
    • STEP5
    • TSL阶段:(操作系统加载前期)
    1. 此阶段是OS Loader执行的第一个阶段
      1. 为OS Loader准备执行环境
      2. OS Loader调用EXITBootService结束启动服务
      3. 进入RT阶段(RunTime)阶段
    • STEP6
    • RT阶段:(OS环境执行时期)
    1. 此阶段主要是RT随着操作系统运行提供相应服务
      1. OS已经完全获得控制权,RT会清理和回收一些之前UEFI占用资源
      2. 这一阶段运行出现错误时,将进入RL修复
    • STEP7
    • AL:(灾难恢复)
    1. 此阶段主要根据厂家定义的修复方案进行,UEFI未进行相关规定
    展开全文
  • 树莓派4B上电后启动流程 启动流程 1. 上电运行SPI连接的EEPROM中的bootcode.bin代码 2. 加载SD卡的第一个FAT32分区中的start4.elf执行GPU相关代码 3. 读取config.txt, 运行指定的程序 SD卡文件介绍 1. GPU firmware...

    树莓派4B上电后启动流程

    启动流程

    1. 上电运行SPI连接的EEPROM中的bootcode.bin代码
    2. 加载SD卡的第一个FAT32分区中的start4.elf执行GPU相关代码
    3. 读取config.txt, 运行指定的程序
    

    SD卡文件介绍

    1. GPU firmware,即boot目录下的start.elf,由树莓派基金会定制
    2. 硬件描述dtb(device tree blob)文件bcm2711-rpi-4-b.dtb
    

    下载连接
    https://download.csdn.net/download/qq_35786583/12518025

    展开全文
  • UEFI和BIOS启动流程

    千次阅读 2019-10-02 00:43:26
    之前一直是大概知道UEFI和BIOS的区别,没对它们的具体启动流程做对比,别人问起来也说不出个所以然,下面介绍这两个的启动流程,并且总结一下它们的区别。 BIOS是Basic Input/Output System的缩写,即基本输入输出...
  • 操作系统启动流程

    2020-09-09 15:50:39
    操作系统启动流程 Lagacy启动流程 UEFI启动流程
  • 传统bios和UEFI bios启动流程分析

    万次阅读 2011-12-19 21:10:42
    while many newer systems use boot firmware based on the UEFI specifications [UEFI]. In this document  we refer to all types of boot firmware as BIOS firmware, the system BIOS, or simply BIOS. When...
  • UEFI 执行流程学习

    2020-12-15 11:12:51
    UEFI系统的启动遵循UEFI平台初始化标准,从加电到关机可以分为7个阶段:SEC(安全验证)--> PEI(EFI前期初始化)→ DXE(驱动执行环境)→ BDS(启动设备选择)→ TSL(操作系统加载前期)→ RT(Run Time) → ...
  • UDK2.0代码的SEC到BDS阶段的启动流程。。。。。。。。。
  • In this case the firmware looks for an EFI System Partition on that disk and tries to run the fallback UEFI application \EFI\BOOT\BOOTX64.EFI (BOOTIA32.EFI on 32-bit systems). This is how UEFI ...
  • Linux 启动流程1. BIOS 启动阶段1.1 启动方式1.2 主要功能2. OS 引导阶段2.1 分区类型2.2 引导方式3. 内核启动阶段4. systemd 启动阶段 1. BIOS 启动阶段 1.1 启动方式 Legacy BIOS UEFI BIOS 1.2 主要功能 POST ...
  • 这是本文的全部内容:A:什么是UEFI,其含义B:UEFI模块包含的文件逐个分析及其引导流程+ESP分区的本质C:判断自己的机器是X64(64 bit)构架...Win8 x64 的PE添加UEFI启动支持F:给VMware虚拟机开启UEFI,当没有物理...
  • uefi启动解析:由原理到实例

    千次阅读 2015-12-06 14:05:08
    B:UEFI模块包含的文件逐个分析及其引导流程+ESP分区的本质 C:判断自己的机器是X64(64 bit)构架还是IA32(32 bit)的构架 D:给传统BIOS下的合盘添加UEFI模块支持+制作BIOS / UEFI(IA32+X64) E:给Win
  • 本文为《鸟哥的 Linux 私房菜》读书笔记 目录 磁盘分区 MBR (MS-DOS) 分区表 GPT (GUID partition table) 磁盘分区表 BIOS 与 UEFI 启动检测程序 BIOS 搭配 MBR / GPT 的启动流程 BIOS 搭配 MBR BIOS 搭配 GPT BIOS ...
  • 【Android SDM660开机流程】- UEFI XBL 代码流程分析一、UEFI XBL1.1 boot_images代码目录1.2 UEFI代码运行流程1.3 SEC (安全验证)1.4 PEI (EFI前期初始化)1.5 DXE (驱动执行环境)1.6 BDS (启动设备选择)1.7 XBL ...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 152
精华内容 60
关键字:

uefi启动流程