WMI查询选择包含系统卷的磁盘

问题描述:

我需要获取包含系统卷(通常为C :)的磁盘的一些信息(型号和序列号)。我正在使用此查询:WMI查询选择包含系统卷的磁盘

SELECT * FROM Win32_DiskDrive WHERE Index=0 

我的问题是,索引= 0的磁盘总是包含系统卷的磁盘?

编辑:我增加了一个额外的查询来获取包含引导分区的磁盘的索引:

SELECT * FROM Win32_DiskPartition WHERE BootPartition=True 

那么最初的查询修改

SELECT * FROM Win32_DiskDrive WHERE Index={diskIndex} 

我想我会这样很安全。为更好的解决方案建议,随时欢迎:)

如前所述,添加一个额外的查询来获取包含引导分区的磁盘的索引:

{diskIndex} = SELECT * FROM Win32_DiskPartition WHERE BootPartition=True 
SELECT * FROM Win32_DiskDrive WHERE Index={diskIndex} 

不幸的是WMI似乎并不支持连接,这会使查询效率更高一点。