Мне нужно очистить сектор 0 для съемных носителей (пользовательских запоминающих устройств USB), которые я пытался очистить в приложении WPF / C #. Моей первой попыткой было использовать DD , но я столкнулся с проблемами. Во время изготовления устройств MBR создается в секторе 0, а том (логический?) Начинается в секторе 40. Когда я запускаю следующую команду, он очищает сектор 40, а не сектор 0:
dd bs=512 count=1 if=/dev/zero of=\.\E:
Я нашел другую версию DD здесь , которая включает в себя утилиту очистки. Я попробовал эту версию, и я вижу то же самое поведение. Я использую и HxD, и DiskExplorer Runtime, который очищает сектор 40, а не сектор 0. Я мог бы использовать HxD или DiskExplorer Runtime, но это должно быть доступно для сценариев.
Кто-нибудь знает какие-либо другие методы очистки (заполнения) сектора 0 в Windows XP SP2 ?? Любая помощь будет принята с благодарностью. Спасибо.
Mark
Решение: Мое решение использовало WMI для поиска физического диска на основе буквы логического диска. Сначала запросите класс Win32_LogicalDiskToPartition, чтобы найти искомый логический диск. Это обеспечивает поле Antecedent, которое содержит что-то вроде '... DeviceID = "Disk #X, Partition #Y"'. Затем я выполняю запрос к классу Win32_DiskDriveToDiskPartition при поиске в зависимом поле, чтобы найти соответствие для поля Antecedent в классе Win32_LogicalDiskToPartition. После обнаружения поле Antecedent из Win32_LogicalDiskToPartition будет содержать физический диск. Я выбрал Atzz, так как это закрытие моего решения. Я хотел воспользоваться предложением Юджина, но у меня было всего несколько часов, чтобы реализовать это, поэтому я выбрал самый простой из двух. Мне нужно будет вернуться к этому позже, хотя.