首页 > 解决方案 > 如果系统磁盘在 Windows 2016 中是动态的,则系统保留分区和卷“C:\”具有相同的唯一 ID

问题描述

系统是Windows Server 2016,我把系统盘从basic改成了dynamic,然后遍历所有的volume得到唯一的id。

我使用以下代码获取系统卷的唯一 ID:

    flag = DeviceIoControl(volumeguid,
                IOCTL_MOUNTDEV_QUERY_UNIQUE_ID,
                NULL,
                0,
                uniqueid,
                sizeof(MOUNTDEV_UNIQUE_ID) + BUF_SIZE,
                &result,
                NULL);

系统卷 C 的 GUID 路径:

\\?\Volume{8bea1f4c-0000-0000-0000-501f00000000}\

系统保留分区的 GUID 路径:

\\?\Volume{8bea1f4c-0000-0000-0000-100000000000}\

两个卷返回的唯一 ID 为:

4D440018-4F49-493A-443A-4C1FEA8B0000

这是不正常的。

但是在我把系统盘转成动态之前,系统保留分区的唯一id和卷“C:\”是不一样的。

我想知道为什么在Windows Server 2016中将系统盘更改为动态盘时系统保留分区和系统卷C具有相同的唯一ID。但是在我将系统盘更改为动态之前唯一ID不同,当时系统盘是基本的。

而且我在 Windows Server 2008 和 Windows Server 2012 中测试过,系统盘动态时没有相同的唯一 ID 问题。

如果有人能告诉我原因,我将不胜感激。

标签: c++windowswdk

解决方案


推荐阅读