如何以编程方式区分虚拟机中的GPT动态和GPT基本磁盘

时间:2014-07-02 19:08:24

标签: c++ linux windows mbr virtual-disk

最近我必须找到一种方法来区分虚拟机使用的分区类型,通过检查偏移量1C2(GPT情况下的EE)来读取虚拟磁盘中的原始数据,以防万一MBR磁盘如果磁盘是动态的,则1C2的偏移量为42,而在基本磁盘的情况下,相同的1C2偏移量为07表示基本磁盘,现在如果是GPT磁盘,我如何区分基本磁盘和动态磁盘。

先谢谢。

1 个答案:

答案 0 :(得分:1)

在迭代GPT磁盘的GPT分区表条目时,搜索带有"分区类型GUID"的条目。设置为5808C8AA-7E8F-42E0-85D2-E1E90434CFB3和相应的隐藏"属性" (第62位)应设置此条目。该PTE将用于LDM数据库。除此之外,还应该有一个LDM本身的分区表条目。总而言之,这个场景有2个分区表条目,一个用于LDM数据库(隐藏分区),另一个用于LDM。