您的位置:首页 > 产品设计 > UI/UE

Legacy BIOS、UEFI、MBR、GPT

2018-03-07 00:16 585 查看
x86计算机主板的固化程序:
传统BIOS(Legacy):固化在计算机主板ROM(只可读不可写)的一组程序,开机第一个执行的程序,包括开机自检、硬件基本设置、引导操作系统启动等
UEFI:统一的可扩展固件接口,是一种接口标准,新的固化在主板上的一组程序,逐渐取代了Legacy BIOS
硬盘的两个分区格式:
MBR:硬盘的第一个扇区中存放了446 bytes的开机管理程序和64 bytes的分区表(旧的磁盘一个扇区都为512 bytes),一个分区记录需要16 bytes,所以这种分区表格式只能容纳四个分区。为了让硬盘能进行更多的分区,可以分出一个延展分区(最多只能有一个),在延展分区中继续做切割分出一个个逻辑分区,逻辑分区的数量与操作系统可支持的数量有关。MBR分区表格式采用4 bytes进行寻址(扇区),而一个扇区按照512 bytes计算,则寻址的空间为2^32 * 512 bytes = 2TB,所以硬盘超过2TB后,MBR分区表将无法寻址。
GPT:较新的磁盘分区格式。最近的硬盘已经可以做到每个扇区4K,GPT为了兼容性考虑,定义了逻辑区块的概念(LBA),每个LBA大小为512 bytes。LBA0定义了一个MBR兼容区块,叫做PMBR,设计这个区块的目的是出于兼容性和安全性考虑的。类似传统MBR的第一个扇区,前446 bytes依旧存储了第一阶段的开机管理程序,但在原本应放置分区记录的64 bytes仅标识为一个特殊标志0xEE的分区,以此来表达这块硬盘是采用GPT分区格式的,在不能识别GPT的磁盘管理工具和操作系统时,或特殊标志分区不为0xEE时,将不会对这个硬盘进行操作,以此起到保护作用;LBA1为GPT表头记录区块,记录了硬盘可用空间、分区表本身的位置和大小、备份分区表位置等;LBA2-33则是实际记录分区的地方,每个LBA可记录4笔分区记录,因此默认情况下可以有4*32=128个分区,故不存在主分区、延展分区、逻辑分区的概念。一个分区记录占用128 bytes,除去64 bytes用作相关标识符和其他记录外,另外64 bytes用来记录开始/结束的扇区号码,故寻址空间达到了2^64*512 bytes。
硬盘使用的两个场景:

数据盘:硬盘能否作为数据存储介质来使用,主要是看操作系统能否读写该分区类型。目前大部分操作系统都能够读写MBR分区硬盘和GPT分区硬盘,但较为古老的系统如Windows 2000/NT/9x, 32位 Windows XP 不能够读写GPT硬盘,因此GPT硬盘在这些操作系统上不能作为数据盘使用。
启动盘:硬盘能否作为操作系统的启动盘来使用,一要看主板系统(Legacy BIOS或UEFI),二是看该操作系统的开机管理程序是否可识别该分区类型。
系统开机搭配模式:

Legacy BIOS+MBR:经典模式,开机时首先执行BIOS,BIOS经过一系列硬件信息的加载和测试后,去主动读取第一个设定的启动盘,BIOS从MBR硬盘的第一扇区中获得开机管理程序,开机管理程序来加载操作系统的核心文件,完成系统启动。
Legacy BIOS+GPT:《鸟哥的Linux私房菜》中写到:BIOS也能从LBA0中的MBR兼容区块读取第一节阶段的开机管理程序,如果开机管理程序能够识别GPT的话,那么同样可以正确读取到操作系统的核心,完成系统启动。——存疑
UEFI+MBR:在兼容模式下可以采用这种搭配方式。但某些操作系统(如win10)规定主板启动模式为UEFI时,必须搭配GPT分区硬盘。
UEFI+GPT:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: