我需要清除扇区0的可移动媒体设备(自定义USB存储设备),我一直试图在WPF/C#应用程序中清除。我第一次尝试使用DD,但我遇到了问题。在制造所述设备的MBR在扇区0创建并在扇区40的体积(逻辑?)开始当我发出以下命令它清除扇区40,而不是扇区0:
dd bs=512 count=1 if=/dev/zero of=\.\E:
我发现包含擦除实用程序的DD here的另一个版本。我试过这个版本,我看到了相同的行为。我正在使用HxD和Runtime的DiskExplorer,扇区40正在被清除,而不是扇区0.我可以使用HxD或Runtime的DiskExplorer,但是这需要脚本化。
有谁知道在Windows XP SP2中清除(填充)扇区0的其他方法?任何帮助将不胜感激。谢谢。清除扇区零的可移动媒体设备
马克
解决方案:使用WMI我的解决方案,以找到基于逻辑驱动器号的物理驱动器。首先,查询Win32_LogicalDiskToPartition类以查找我正在查找的逻辑驱动器。这提供了前缀字段,它们强制类似'... DeviceID =“磁盘#X,分区#Y”'。接下来,我查询Win32_DiskDriveToDiskPartition类,同时搜索Dependent字段以查找Win32_LogicalDiskToPartition类中的Antecedent字段的匹配项。一旦找到,Win32_LogicalDiskToPartition的Antecedent字段将产生物理驱动器。我选择了atzz,因为它接近我的解决方案。我想使用尤金的建议,但我只有几个小时来实现这一点,所以我选择了更容易的两个。不过,我需要在稍后时间重新访问。
BTW,感谢DD的提及。我不知道Windows端口存在。这很少需要,但有时候非常有用。现在我不必为dd引导linux。 – atzz 2010-09-24 12:32:12