可通过diskpart的list partition命令获取分区id,其值为guid格式,用于内核级设备寻址;也可用powershell调用win32_diskpartition类导出结构化信息;或从注册表mounteddevices路径下提取二进制数据前16字节并转换为标准guid。

如果您需要确认某一分区在系统底层的唯一标识符,但发现磁盘管理界面仅显示驱动器号与卷标,而未提供分区级硬件ID,则可借助diskpart工具中list partition命令输出的“Partition ID”字段获取该值。该ID由Windows在初始化分区时生成,用于内核级设备寻址,具有会话内唯一性。以下是获取硬盘分区ID的具体步骤:
一、使用DiskPart命令查看分区ID
diskpart工具在执行list partition命令时,会在每行分区信息末尾显示“Partition ID”字段,其值为全局唯一标识符(GUID)格式,形如{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx},该ID与注册表中对应分区的MountPoints2项及BCD存储中的设备引用直接关联,是识别特定分区最可靠的依据。
1、同时按下Win + R组合键,打开“运行”对话框。
2、在运行框中输入cmd,按Ctrl+Shift+回车以管理员权限启动命令提示符。
3、在命令提示符窗口中输入diskpart,按回车键进入DISKPART>环境。
4、输入list disk,按回车查看所有物理磁盘编号及基本信息。
5、根据容量或序号判断目标硬盘,输入select disk 0(若为第二块硬盘则改为select disk 1),按回车确认选择。
6、输入list partition,按回车执行;在返回结果中查找每一分区所在行末尾的Partition ID字段,其后大括号内内容即为该分区ID。
二、通过PowerShell结合WMI获取分区ID及关联属性
PowerShell调用Win32_DiskPartition类可一次性导出分区ID、对应磁盘索引、起始偏移、大小等结构化信息,且支持按Name、DeviceID或Index筛选,避免手动匹配磁盘与分区的误差,尤其适用于多磁盘多分区环境下的精准定位。
1、同时按下Win + R组合键,输入powershell,按Ctrl+Shift+回车以管理员身份运行PowerShell。
2、输入以下命令并回车:Get-WmiObject -Class Win32_DiskPartition | Select-Object Name, DeviceID, DiskIndex, StartingOffset, Size, PartitionID。
3、在输出表格中定位目标分区行,其PartitionID列值即为该分区的完整GUID标识。
4、如需仅查询某块磁盘(例如磁盘索引为0)的所有分区ID,可执行:Get-WmiObject -Class Win32_DiskPartition | Where-Object {$_.DiskIndex -eq 0} | Select-Object Name, PartitionID。
三、从注册表中提取已挂载分区的Partition ID
Windows将每个已分配驱动器号的分区ID持久化存储于注册表HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices路径下,键名以“\DosDevices\X:”形式存在,其二进制数据前16字节即为对应分区的GUID,该方法不依赖命令行运行状态,适用于离线分析或故障恢复场景。
1、同时按下Win + R组合键,输入regedit,按回车启动注册表编辑器。
2、导航至路径:HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices。
3、在右侧窗格中查找以\DosDevices\D:(D:替换为目标驱动器号)开头的字符串值。
4、双击该值,查看其数值数据;在十六进制显示中,前16字节(32个字符)即为该分区的Partition ID,按小端序排列,需反转每4字节组顺序后还原为标准GUID格式(例如:12345678-90AB-CDEF-1234-567890ABCDEF)。










