WPF / C#アプリケーション内でクリアしようとしているリムーバブルメディアデバイス(カスタムUSBメモリデバイス)のセクター0をクリアする必要があります。私の最初の試みはDDを使用することでしたが、問題が発生しました。デバイスの製造中に、MBRはセクター0で作成され、ボリューム(論理?)はセクター40で始まります。次のコマンドを発行すると、セクター0ではなくセクター40がクリア
されます
dd bs=512 count=1 if=/dev/zero of=\.\E:
。ユーティリティをワイプします。このバージョンを試しましたが、同じ動作が見られます。セクター0ではなくセクター40がクリアされているHxDとRuntimeのDiskExplorerの両方を使用しています。HxDまたはRuntimeのDiskExplorerを使用できますが、これはスクリプト可能である必要があります。
Windows XP SP2内のセクター0をクリア(充填)する他の方法を知っている人はいますか?どんな助けでも大歓迎です。ありがとう。
ソリューションのマーク
:私のソリューションでは、WMIを使用して、論理ドライブ文字に基づいて物理ドライブを検索しました。まず、Win32_LogicalDiskToPartitionクラスをクエリして、探している論理ドライブを見つけます。これにより、「... DeviceID = "Disk #X、Partition#Y"」のようなものを含むAntecedentフィールドが提供されます。次に、Dependentフィールドを検索しながらWin32_DiskDriveToDiskPartitionクラスをクエリして、Win32_LogicalDiskToPartitionクラス内のAntecedentフィールドに一致するものを見つけます。見つかったら、Win32_LogicalDiskToPartitionのAntecedentフィールドが物理ドライブを生成します。私のソリューションに近いので、atzzを選択しました。Eugeneの提案を使用したかったのですが、これを実装するのに数時間しかなかったので、2つのうち簡単な方を選択しました。ただし、後でこれを再検討する必要があります。