c++ - 如果系统磁盘在 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 问题。
如果有人能告诉我原因,我将不胜感激。
解决方案
推荐阅读
- bash - Shell 脚本,带有变量的 curl 作为 url 的一部分
- vb.net - 组合框在 VB.net 中以 winform 显示两次
- sql - Postgresql 使用 CASE 根据其他数据的存在返回不同的数据
- php - OAUTH:Facebook API 因重定向 URL 参数错误而引发错误
- javascript - 如何编写一个Javascript函数来按顺序从字符串中获取所有回文子序列?
- node.js - AgoraIO Web + Heroku
- matlab - 从符号微分的结果创建函数句柄的问题
- c++ - 嵌入式 C++ - 虚拟析构函数和堆内存
- autodesk-forge - 如何从模型衍生 API 元数据创建模型浏览器,如对象
- chart.js - 如何仅在最后一个栏显示 chartjs 数据标签?