UEFI boot 和 Legacy boot 区别

原文链接: http://hi.baidu.com/giliwala/item/761da2f79dad706b3d1485fa

Legacy BIOS Boot 是如何启动或引导的

当系统首次引导时,或系统被重置时,处理器会执行一个位于已知位置处的代码。这个位置在基本输入 / 输出系统(BIOS) 中。CPU 会调用这个重置向量来启动一个位于闪存/ROM 中的已知地址处的程序。通常,它执行一个启动自测(POST)来检查机器。最后,它从引导驱动器上的主引导记录(MBR)加载第一个扇区。

引导程序就位于 MBR 第一个扇区里面。此时引导程序就被装入 RAM 并执行。这个引导加载程序在大小上小于 512 字节(一个扇区)。BIOS 自检完成之后,将 MBR 的代码读入内存,管理权交给 MBR , MBR 再读取 DPT ,从 DPT (Disk Partition Table,硬盘分区表占据 MBR 扇区的64个字节(偏移01BEH--偏移01FDH))找出硬盘的所有分区哪一个是激活的主分区。到这里为止,所以系统都是一样的。下面就有区别了。 DPT读完找到主分区之后然后找到这个主分区的 PBR (Partition Boot Record 分区引导记录),PBR位于激活主分区的第一个扇区。安装不同操作系统的时候 PBR 是会被改变的, XP 的 PBR 写死的代码是去找 NTLDR 。而 Vista 和 7 的 PBR 里写进的就是去找 Bootmgr 。

这个时候显示器上还没有显示引导管理器的界面。 Bootmgr 被找到之后管理权就交到了 Bootmgr。 Boot Manager 首先从 BCD 中读取 Boot Manager 菜单的语言版本信息,然后再调用 BOOTMGR 与相应语言的 BOOTMGR.EXE.MUI 组成相应语言的启动菜单,之后才会在显示器上显示引导管理器,也就是选择多操作系统的那个文字界面。最后,当你选择了相应的操作系统,这里是 Win7 或 8 (如果选择 XP, 会转入 XP 的启动流程,找到 XP 的NTLDR 然后启动), Bootmgr 就去寻找系统分区(系统分区和主分区的概念不是一样的哦)Windows/System32 下的 Winload.exe 加载操作系统内核。

EFI Boot 介绍

EFI 的全称是可扩展固件接口 (Extensible Firmware Interface),它是 Intel 公司为全新类型的固件体系结构、接口和服务提出的建议性标准。该标准有两个主要用途:向操作系统的引导程序和某些在计算机初始化时运行的应用程序提供一套标准的运行环境;为操作系统提供一套与固件通讯的交互协议。

简单说,EFI 是 BIOS 的替代者。它为操作系统和固件提供了更加强大、安全、方便的交互途径。EFI 规范定义的接口,包括数据表包含平台的信息,可在 OS Loader 和 OS 的启动和运行时服务。 


EFI 固件提供了几种技术优势:

  1. 引导能力支持大容量磁盘(超过 2 TIB );

  2. 更快的启动;

  3. 独立 CPU 的体系结构;

  4. CPU 的独立的驱动程序;

  5. 灵活的预操作系统环境,包括网络功能;

  6. 模块化设计;


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 变量,该变量被用来定义固件配置参数。

MBR 与 GPT

MBR:主引导记录(Master Boot Record,缩写:MBR),又叫做主引导扇区,是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。

主引导扇区记录着硬盘本身的相关信息以及硬盘各个分区的大小及位置信息,是数据信息的重要入口。如果它受到破坏,硬盘上的基本数据结构信息将会丢失,需要用繁琐的方式试探性的重建数据结构信息后才可能重新访问原先的数据。主引导扇区内的信息是通过分区程序写入的,它是低级格式化的产物,和操作系统没有任何关系(操作系统是创建在高级格式化的硬盘分区之上,是和一定的文件系统相联系的)。

对于硬盘而言,一个扇区可能的字节数为 128×2n (n=0,1,2,3)。大多情况下,取 n=2,即一个扇区(sector)的大小为 512 字节。

MBR 的限制:

  1. 在 MBR 分区表中最多 4 个主分区或者 3 个主分区+1 个扩展分区:从主引导记录的结构可以知道,它仅仅包含一个 64 个字节的硬盘分区表。由于每个分区信息需要 16 个字节,所以对于采用 MBR 型分区结构的硬盘,最多只能识别 4 个主要分区(Primary partition)。

  2. MBR 分区方案无法支持超过 2TB 容量的磁盘。因为这一方案用 4 个字节存储分区的总扇区数,最大能表示 2 的 32 次方的扇区个数,按每扇区 512 字节计算,每个分区最大不能超过 2TB 。磁盘容量超过 2TB 以后,分区的起始位置也就无法表示了。


GPT:全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区结构。GUID 分区表 (GPT) 是作为 Extensible Firmware Interface (EFI) 计划的一部分引入的。相对于 PC 常用的较旧的主引导记录 (MBR) 分区方案,GPT 提供了更加灵活的磁盘分区机制。

GPT 使用 GUID 分区表 (GPT) 磁盘分区系统。GPT 磁盘提供了以下好处:


  1. 最多允许 128 个分区;主引导记录 (MBR) 磁盘可以支持 4 个主分区和扩展分区内的 124 个附加分区。

  2. 允许大于 2 TB 的卷容量,而 2 TB 是 MBR 磁盘的极限。

  3. 由于分区表提供了复制和循环冗余校检 (CRC) 保护,所以更加可靠。

  4. 能在所有基于 x64 平台上用作存储卷,包括运行 Windows XP Professional x64 Edition 的平台。从 Windows Server 2003 SP1 开始,GPT 磁盘也可用作基于 x86 的Windows 平台上的存储卷。

  5. 可用作基于 x64 的 Windows 7、Windows Vista 和 Windows Server 2008 版本上的引导卷。从 Windows Server 2003 SP1 开始,GPT 磁盘也可用作基于 Itanium 的系统上的引导卷。


注意:Windows 仅支持从包含 Unified Extensible Firmware Interface (UEFI) 引导固件的系统上的 GPT 磁盘引导。

GOP 与 VBIOS 的区别

VBIOS 是计算机图形卡或集成图形控制器的 BIOS,类似系统 BIOS 提供了一组软件所使用的程序函数来访问系统硬件一样,VBIOS 也是提供了一组视频相关的程序使用的函数访问视频硬件。通常由显卡厂商提供一个二进制 Bin 文件给 ODM 厂商,将其包在系统 BIOS 中。

而 GOP (Graphic Output Protocol) driver 是 EFI 架构下取代传统 VBIOS 黑箱的 EFI driver,它被设计成在操作系统启动之前支持基本需求的图形输出功能。

VBT: Video bios table。VBT 是一个特别制作的客制化过得特殊 binary 数据块。靠 BMP utility 来编辑。VBT 同样如同 legacy vbios 一样记录了 detail timing、GPIO Pins、Clock 等显示方面的参数信息。

两者的不同点:Pre-OS boot 时期,EFI 是通过标准的 GOP protocol 来实现显示 output。而 lagacy vbios需要通过 INT10 interrupter 来实现。


哪些系统支持 UEFI 启动?为什么当前我们不能支持 32bit 的 win8 UEFI 启动?

目前我们的 BIOS 的 Build 生成是 x64 模式的,因此 32 位的 Win8 UEFI 是不被支持的。


PS:为什么都是文字了呢?因为我懒呗,想看的还是会看。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误提示是指在使用UEFI启动模式时,出现了BIOS或传统启动模式的问题。可能是由于系统配置或硬件问题导致的。建议检查系统配置和硬件设备,确保它们与UEFI启动模式兼容。如果问题仍然存在,可以尝试更新系统BIOS或联系技术支持获取帮助。 ### 回答2: 首先,BIOS和UEFI都是计算机的启动程序,用于控制电脑硬件的初始化和启动。不同之处在于BIOS是老旧的固件接口,而UEFI是新一代的接口。 出现“error bios/legacy boot of uefi”可能有以下几个原因: 1. 如果电脑原本使用BIOS启动,但是用户更改了设置以后切换为UEFI启动,那么可能会出现这个错误。此时需要将设置恢复到原来的状态。 2. 如果从旧的BIOS计算机迁移到新的UEFI计算机,那么有些设置可能会不适用于新的系统,需要在UEFI系统中重新更改设置。 3. 如果尝试使用不兼容的硬件或驱动程序,那么也可能导致这个错误。 解决这个问题的方法一般包括: 1. 将计算机的UEFI设置恢复到默认值,或者将其改为适用于你的硬件和系统的设置。 2. 确认你的硬件和驱动程序都是与UEFI兼容的。 3. 如果在旧的BIOS计算机上安装了新的UEFI系统,那么建议重新安装一个全新的UEFI系统,以确保设置完整和正确。 总之,“error bios/legacy boot of uefi”可能是由于设备设置不正确或者硬件不兼容所致,需要仔细检查设备和设置,并确保CPU和主板支持UEFI。 ### 回答3: 问题简述 UEFI(统一固件接口)是一种取代传统 BIOS(基本输入输出系统)的新型固件。在使用计算机时,可能会遇到“error bios/legacy boot of uefi”这样的错误提示。这个错误提示意味着什么?如何解决这个问题? 问题分析 UEFI 是一种新型的固件,用于取代 BIOS。相比于 BIOS,它提供了更加现代化、安全和高效的系统启动流程。然而,当我们在启动计算机时,有时会遇到这样的错误:error bios/legacy boot of uefi。这个错误提示可能出现在以下情况下: 1. 系统启动模式错误 UEFI 提供了两种启动模式:UEFI 模式和传统模式(也叫 Legacy 模式)。如果您在使用 UEFI 模式启动计算机时,BIOS 配置中却选择了「Legacy Boot」模式,就会出现「error bios/legacy boot of uefi」的错误提示。 2. 引导设备问题 如果您的计算机试图从一个损坏的或不兼容的设备启动操作系统(如软盘或光盘),也会出现这个错误提示。 解决方案 解决“error bios/legacy boot of uefi”错误提示的方法有以下几种: 1. 更改启动模式 如果您在使用 UEFI 模式启动计算机时遇到了这个错误,那么可以尝试将 BIOS 配置中的模式设置为 UEFI,关闭 Legacy 模式即可。 2. 更改启动顺序 检查您的计算机启动顺序是否正确。在 BIOS 配置中,将您的操作系统所在的设备设置为第一启动项。 3. 更换引导设备 如果您的计算机无法从当前选择的引导设备启动,那么可以将启动选项设置为其他可用的选项。如果您之前使用的是软盘或光盘,请尝试更换为 USB 设备或内置硬盘。如果计算机无法识别引导设备,则您可能需要安装操作系统。 结论 “error bios/legacy boot of uefi”这个错误提示通常是由于系统启动模式错误或引导设备问题引起的。要解决这个问题,您需要在 BIOS 中检查启动模式和启动顺序,并更换可能损坏或不兼容的引导设备。如果您仍然无法解决问题,可以尝试重装操作系统或联系计算机制造商获取支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值