BIOS工程师手边事--GPT

在EFI模式安装Windows时,需遵循GPT硬盘格式。GPT包含Block协议、DiskIo协议和Partition相关知识。PartitionDriverBindingSupported()与PartitionDriverBindingStart()分析磁盘并注册分区,通过ProtectiveMBR、PrimaryGPT和BackupGPT验证GPT格式。成功后,可挂载FAT、NTFS等文件系统协议启动OS。
摘要由CSDN通过智能技术生成

当我们使用EFI模式安装win8,win10的时候,windows安装程序总是先显示一个窗口,让我们选择把OS安装在哪里。在这个界面,我们选择完安装介质的时候,有时候发现并不能顺利点击下一步进行安装。为何?因为这时候,硬盘格式并不满足GPT的要求。我们需要根据windows安装程序的提示,进行新建分区操作。当我们新建一个分区后,发现居然还有其它分区生成。不要生气,埋怨windows安装程序设计不合理,因为这是GPT格式的要求。多出来的分区是ESP,需要做以前MBR分区做的事情。

GPT相关知识可以在UEFI SPEC上查到,讲述得很详细。可以用RW读取硬盘,对照代码解析一个接一个结构体。下面就来捋一下GPT的相关知识。

1. Block协议

这个协议起着承上启下的作用,往上和硬件相关。往下为DISKIO提供接口,让下层程序开始变得与硬件无关。

BlockIO可以由BUS驱动安装,也可以由设备驱动安装。具体要看设备类型。

2. DiskIo协议

这个协议其实是对BlockIo的封装,让使用者从扇区的概念中脱离出来。

3. Partition和GPT

//
// Partition Driver Global Variables.
//
EFI_DRIVER_BINDING_PROTOCOL gPartitionDriverBinding = {
  Par

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值