如何从驱动器号查找卷卷序列号或硬盘号

时间:2014-02-13 17:42:02

标签: python windows

我有一个使用python 2.7在Windows中编写的函数,它生成可移动的设备字母。现在我想备份该设备的引导扇区。我已经使用以下命令轻松地在linux上完成了这个

dd if=/dev/sdb1 of=~/backup.bs count=1

现在我想在windows下使用windows版本的dd做同样的事情。但是,为此,我需要找出hadrdisk,实际的命令将是

dd if=\\?\Device\Harddisk0\Partition0 of=backup.bs skip=41287113 count=1

dd if=\\.\Volume{c18588c0-02e9-11d8-853f-00902758442b} of=c:\temp\backup.bs count=1

现在我如何从已知标签Volume{c18588c0-02e9-11d8-853f-00902758442b}等找出Harddisk0\Partition0D: or E: or F:。 使用windows7和python 2.7

1 个答案:

答案 0 :(得分:0)

找到解决方案。为了所有人在这里发布它的好处。

import wmi
c = wmi.WMI ()
drive_letter = "D:"
for physical_disk in c.Win32_DiskDrive ():
  for partition in physical_disk.associators ("Win32_DiskDriveToDiskPartition"):
    for logical_disk in partition.associators ("Win32_LogicalDiskToPartition"):
      if logical_disk.Caption == drive_letter:
        print physical_disk.Caption, partition.Caption, logical_disk.Caption