系统制造商的首选做法是将增值内容放在 OEM 特定的分区中。 如同 MBR OEM 分区一样,GPT OEM(或其他未识别的)分区的内容不会公开(提供驱动器号或在卷列表中返回)。 警告用户删除分区可能导致系统无法运行。 OEM 特定的分区应放在磁盘上的 MSR 之前、任何 ESP 之后。 尽管这不是体系结构的要求,但这种放置方式与将 ESP 放在第一个位置具有相同的好处。 例如,当 OEM 特定的分区在逻辑上位于你要尝试跨越的两个数据分区之间时无法跨越卷。
放置在 ESP 中是为操作系统预启动环境中执行的应用程序或文件提供的一个选项。 但是,ESP 在体系结构上是共享的空间,代表一种有限的资源。 应认真考虑 ESP 中的空间消耗。 与操作系统预启动环境无关的文件不应放在 ESP 中。
Microsoft 保留的分区 (MSR) 在每个磁盘驱动器上保留以后供操作系统软件后使用的空间。 GPT 磁盘不允许隐藏的扇区。 以前使用隐藏扇区的软件组件现在将为组件特定的分区分配 MSR 的一部分。 例如,将某个基本磁盘转换为动态磁盘会导致该磁盘上的 MSR 大小减小,并且新建的分区将保存动态磁盘数据库。 MSR 具有分区 GUID:
DEFINE_GUID (PARTITION_MSFT_RESERVED_GUID, 0xE3C9E316L, 0x0B5C, 0x4DB8, 0x81, 0x7D, 0xF9, 0x2D, 0xF0, 0x02, 0x15, 0xAE)
需要 MSR 的磁盘
每个 GPT 磁盘必须包含一个 MSR。 磁盘上的分区顺序应该是 ESP(如果有)、OEM(如果有)和 MSR,然后是主数据分区。 在创建其他主数据分区之前先创建 MSR,这一点特别重要。
MSR 的创建责任
在首次将磁盘分区信息写入驱动器时必须创建 MSR。 如果制造商将磁盘分区,必须同时创建 MSR。 如果 Windows 在安装过程中将磁盘分区,则 Windows 会创建 MSR。
为何在首次将磁盘分区时必须创建 MSR
将磁盘分区后,就没有剩余的可用空间用来创建 MSR。
MSR 的大小
在最初创建 MSR 后,其大小取决于磁盘驱动器的大小:
在大小小于 16GB 的驱动器上,MSR 为 32MB。
在大于或等于 16GB 的驱动器上,MSR 为 128MB。
随着将 MSR 划分到其他分区,它会变得更小。
Windows GPT ESP 实现
Windows 所需的分区
对于 UEFI 系统,启动驱动器必须包含一个 ESP、一个 MSR,以及至少一个包含操作系统的基本数据分区。 即使在系统上安装了多个操作系统,该系统上也只应存在一个 ESP。 在镜像启动配置中,实际上可以有两个驱动器包含 ESP,但它们被视为同一 ESP 的冗余副本。 每个数据驱动器必须至少包含一个 MSR 和一个基本数据分区。
驱动器上的所有基本数据分区都应该是连续的。 如上所述,在数据分区之间放置一个 OEM 特定的分区或其他未识别的分区会对以后的卷跨越施加限制。
基本数据分区
基本数据分区对应于主 MBR 分区 0x6 (FAT)、0x7 (NTFS) 或 0xB (FAT32)。 可以使用驱动器号或装载点和/或其他卷设备对象来装载每个基本分区。 每个基本数据分区在 Windows 中以卷设备对象的形式表示,并可以选择以装载点或驱动器号的形式表示。
标识基本数据分区
该分区具有以下分区类型 GUID
DEFINE_GUID(PARTITION_BASIC_DATA_GUID、0xEBD0A0A2L、0xB9E5、0x4433、0x87、0xC0、0x68、0xB6、0xB7、0x26、0x99、0xC7);
ESP 分区对最终用户的可见性
ESP 分区不会隐藏,但也不会为它分配驱动器号。 除非分配了驱动器号,否则它不会出现在资源管理器中,但某些工具能够列出它。
MSR 和 OEM 特定的分区对最终用户的可见性
用户在 Windows 资源管理器中看不到这些分区,而任何已识别到的文件系统也不会向旧式程序(例如上下文索引编制)公开。 OEM 特定的分区和其他未识别的分区仅在磁盘管理 MMC 管理单元中可见,因为它们没有可识别的文件系统。
Windows 默认装载的分区
Windows 仅公开基本数据分区。 可以装载其他使用 FAT 文件系统的分区,但不能以编程方式公开。 只为基本数据分区分配驱动器号或装载点。
将会装载 ESP FAT 文件系统,但不会公开。 这样,在 Windows 中运行的程序就可以更新 ESP 的内容。 使用
mountvol /s
为 ESP 分配驱动器号可以访问该分区。 访问 ESP 需要管理员特权。 尽管 MSR 以及从 MSR 创建的任何分区都可以使用可识别的文件系统,但不会公开任何此类分区。
Windows 无法识别任何 OEM 特定的分区或与其他操作系统关联的分区。 使用可识别文件系统的、未识别到的分区被视为 ESP。 将会装载这些分区,但不会公开。 与 MBR 磁盘不同,OEM 特定的分区与其他操作系统分区之间没有实际区别;所有这些分区都是“未识别”的分区。
用户如何查看 ESP、OEM 和其他未识别的分区
用户可以使用磁盘管理工具(例如磁盘管理实用工具)或 diskpart.exe Windows 命令行。 MSR 以及从 MSR 创建的任何分区只能通过命令行查看。
动态磁盘使用两个不同的 GPT 分区
一个对应于 MBR 分区 0x42 的数据容器分区,其 GUID 为:
DEFINE_GUID (PARTITION_LDM_DATA_GUID, 0xAF9B60A0L, 0x1431, 0x4F62, 0xBC, 0x68, 0x33, 0x11, 0x71, 0x4A, 0x69, 0xAD)
;
一个包含动态配置数据库的分区,其 GUID 为:
DEFINE_GUID(PARTITION_LDM_METADATA_GUID, 0x5808C8AAL, 0x7E8F, 0x42E0, 0x85, 0xD2, 0xE1, 0xE9, 0x04, 0x34, 0xCF, 0xB3
);
卷是在数据容器中创建的,默认会装载。 同样,此数据容器分区与 0x42 MBR 分区的内容完全相同。
将基本磁盘转换为动态磁盘
对于能够转换为动态磁盘的驱动器,该驱动器上的所有基本数据分区必须是连续的。 如果其他未识别的分区隔开了基本数据分区,则无法转换磁盘。 这也是在创建任何基本数据分区之前必须先创建 MSR 的原因之一。 转换过程的第一步是隔离 MSR 的一部分以创建配置数据库分区。 然后将所有不可启动的基本分区合并成单个数据容器分区。 启动分区保留为单独的数据容器分区。 这类似于主分区转换。
Windows XP 和更高版本的 Windows 与 Windows 2000 的不同之处在于,基本分区和扩展分区优先转换为单个 0x42 分区,而不是像 Windows 2000 中那样保留为多个不同的 0x42 分区。
混合了 GPT 和 MBR 动态磁盘的系统
是的。 有关详细信息,请参阅“在同一系统上混合搭配使用 GPT 和 MBR 磁盘会发生什么情况?”
装载特定的分区
可以使用下表中列出的工具访问不同类型的 GPT 磁盘分区。
Windows
如何在 Windows 中管理 GPT 磁盘
GPT 和 MBR 磁盘的管理方式相同。 可以使用 Diskpart.exe 命令提示符实用工具或磁盘管理器管理单元,将磁盘格式化为 GPT 或 MBR。 可以在 GPT 和 MBR 磁盘上创建卷,这两种磁盘可以在同一个动态磁盘组中混用。
FTdisk 集
从 Windows XP 开始,Windows 上不再支持 MBR 或 GPT 磁盘的 FTdisk 集。 只能通过动态磁盘来支持逻辑卷。
将磁盘从 GPT 转换为 MBR,或反之
Microsoft 提供了用于将磁盘从 MBR 转换为 GPT 的
MBR2GPT.exe
。
GPT 磁盘支持的文件系统
建议在所有基本数据分区和所有动态卷上使用 NTFS。 Windows 安装程序和磁盘管理管理单元仅提供 NTFS。 为了规避这种问题,必须通过 Format 命令行工具显式格式化分区或卷。
操作 GPT 磁盘及其内容
创建 GPT 磁盘
只能在未分区的空磁盘(原始磁盘或空的 MBR 磁盘)上创建 GPT 磁盘。 有关创建 GPT 磁盘的详细信息,请参阅
使用 GPT 驱动器
。
转换 MBR 或 GPT 磁盘
可将现有的分区格式转换为另一种格式。 有关详细信息,请参阅以下 TechNet 文章:
将主启动记录磁盘更改为 GUID 分区表磁盘
将 GUID 分区表磁盘更改为主启动记录磁盘
不要逐扇区创建 GPT 磁盘的副本
磁盘和分区 GUID 将不再唯一。 这种情况绝对不能发生。 可以逐扇区创建 ESP 或基本数据分区的内容副本。
使用 OPK 映像工具复制整个 GPT 磁盘
可以使用 OPK 映像工具复制整个 GPT 磁盘;但是,有一些重要事项需要注意。 OEM 预安装工具包 (OPK) 会将磁盘和分区 GUID 初始化为零。 首次启动 Windows 时,操作系统将生成唯一的 GUID。 OPK 仅支持生成 ESP、MSR 和基本数据分区。
如果应用程序记录了任何磁盘或分区 GUID,则它可能会中断。 依赖于 GUID 的系统制造商或应用程序供应商提供的任何应用程序、驱动程序、实用工具或固件实现都应该能够处理从 OPK 初始化值更改为操作系统生成的值的 GUID。
Diskpart.efi MAKE 命令
OEM 可以通过 Diskpart.efi MAKE 命令简化操作系统预安装和系统恢复。 可以轻松扩展此命令,以便为平台创建“默认”磁盘配置。 例如,系统制造商可以扩展 MAKE 命令,以使用 ESP、MSR、OEM 特定的分区和一个基本数据分区自动对启动驱动器进行分区。
例如,假设有一种可能的磁盘配置,其名为 BOOT_DISK。 在发生企业故障恢复期间,MAKE BOOT_DISK 允许客户将启动磁盘完全重新分区为原始出厂默认设置。
检测重复的磁盘或分区 GUID
如果 Windows 检测到重复的磁盘或分区 GUID,它将在检测时为任何重复的磁盘 GUID、MSR 分区 GUID 或 MSR 基本数据 GUID 生成新的 GUID。 这类似于 Windows 2000 中的重复 MBR 签名处理。 动态容器或数据库分区上存在重复 GUID 会导致不可预测的结果。