关于GPT激活分区的问题

GPT和MBR的区别已经明了,现在的问题是GPT中有没有和MBR中的激活分区一样的概念,这个需要从编程源码级别的角度回答,包括GPT header的结构,GPT partition entry也就是GPT分区表项的结构,这些结构体里哪个元素是和MBR中的激活分区的概念是一样的,MBR中80H表示激活分区,这样机器启动时,就从这个分区启动,现在GPT是这个原理吗,还是说现在GPT中已经没有激活分区的概念了,请知道的大神帮忙解答一下,谢谢!
PS:问题背景,原来的MBR磁盘,当我在某个分区装上系统之后,则那个分区被激活,这样我将磁盘的第一个扇区的数据拷贝下来(这个可以自己写扇区拷贝程序)保存成文件,然后我再继续在另一个分区安装其他的操作系统,然后再拷贝第一个扇区数据保存成文件,等到我想要启动刚才的那个分区时,我将那个扇区的数据还原到磁盘的第一个扇区就可以直接启动第一次安装的系统了,但是问题是GPT磁盘的启动是这样的吗,也是找激活分区吗?

我来抛砖引玉.

我的计算机不够新潮,使用的固件是BIOS,不是UEFI。

我在回答你问题前,在网上看了Arch Linux Wiki。上面说逗雹枝得很详细。现在现炒现卖如下:

目前计算机的固件与磁盘格式的搭配主要如下:

1. BIOS + MBR磁盘

2. BIOS + GPT磁盘

3. UEFI + GPT磁盘

现在预装window8零售的PC,山敏一般都是第三种情况。

第一种情况是传统的MBR分区方式。

根据你的问题,我接下来只讨论第三种情况。

GPT磁盘不存在活动分区这一概念。但如果要安装操作系统,并使用主板EFI模式引导系统,则需要建立一个EFI System Partition(ESP,EFI系统分区)。

这个分区的作用是存放操作系统的引导文件以及其他引导程序(如grub)。

使用GPT分区软件(如gdisk)将一个分区的分区标志设置为EF00,并格式化为FAT32文件系统,则建立了一个EFI 系统分区。


这种UEFI + GPT磁盘的启动方式如下

  1. 系统开机自检。

  2. UEFI固件载入。固件将引导需要的硬件初始化。

  3. 固件读物UEFI Boot Manager的数据肆睁,来决定从哪个设备启动。

    (注:在很多PC上,可以在开机后使用F12,手动调出启动选择菜单。)




4. 固件根据从Boot Manager选择的条目,加载存储在该设备EFI 系统分区(ESP)内对应的UEFI程序。

5. 刚才加载的UEFI程序可能加载其他程序,或者直接启动操作系统。


简而言之,如果安装了多操作系统,UEFI会为你提供启动选择菜单。不需要你再设置什么活动分区了。

在这个过程中,GPT磁盘的第一扇区的Protective MBR, 对UEFI来说,无用。


启动示意图:

UEFI--->Boot Manger--->操作系统引导程序(ESP中)--->操作系统。