我尝试使用Win32_DiskDrive获取磁盘的最大总扇区,但所有返回值都是不正确的。我使用HxD这个程序返回了准确的值。我尝试在Linux中使用fdisk获取总扇区,它也返回了准确的值。
我注意到Win32_DiskDrive MSDN中有一个注释,如下所示:
“此属性的值是通过BIOS中断13h的扩展函数获得的。如果驱动器使用翻译方案来支持高容量磁盘大小,则该值可能不准确。请咨询制造商以获取准确的驱动器规格。”
但我不明白这是什么意思?如何解决这个问题?
更新1:
这是我的Python脚本的代码片段。
我注意到Win32_DiskDrive MSDN中有一个注释,如下所示:
“此属性的值是通过BIOS中断13h的扩展函数获得的。如果驱动器使用翻译方案来支持高容量磁盘大小,则该值可能不准确。请咨询制造商以获取准确的驱动器规格。”
但我不明白这是什么意思?如何解决这个问题?
更新1:
这是我的Python脚本的代码片段。
import wmi
c = wmi.WMI()
for diskDrive in c.query("SELECT * FROM Win32_DiskDrive"):
print diskDrive.Name, "\nTotal Sector: ", diskDrive.TotalSectors
更新2:
根据要求,以下是使用HxD检测到的WMI总扇区的代码片段。
- WMI:625137345(顶部)
- HxD:625142448(底部)
更新3:
如果有人感兴趣,也可以在自己的计算机上尝试一下,看看Win32_DiskDrive是否报告准确的结果。我在许多其他计算机上(WinXP和7)以及其他存储设备(硬盘、闪存驱动器等)上尝试过,但所有结果都不准确。
非常感谢
BytesPerSector
属性,那么你从哪里获取这个信息呢? - RRUZ