39

Мне нужно читать и писать различные образы флэш-карт. То, как я всегда делал это в Linux, было с dd, и это помогло. Что такое хороший эквивалент Windows?

Проще говоря, мне нужно иметь возможность прочитать всю карту в файл и наоборот. Я пробовал WinDD, но, похоже, он работает на разделах, а не на целых устройствах, но мне нужно иметь возможность выгрузить весь диск / карту и таблицу разделов независимо от ее содержимого.

Использование Windows 7 64bit, с кард-ридером через порт USB3.

9 ответов9

19

Попробуйте Win32DiskImager , он может записывать образы на диски.

16

Просто используйте dd для Windows ... он отлично работает, хотя это довольно старый проект.

10

Руфус работает как положено. Выберите «DD Image» для «Создать загрузочный диск с помощью».

Источник опубликован на GitHub: https://github.com/pbatard/rufus.

Мой опыт: Win32DiskImager не обнаружил u-SD через считыватель USB-3; dd для Windows, скомпилированный MinGW dd, Unix Utils dd и Linux dd VIA VirtualBox VM USB3 проходил все недопустимо медленно; Я до сих пор не нашел эквивалент командной строки Windows, который мог бы справиться со скоростью записи 50 МБ / с, которую я вижу с Rufus.

8

Я просто пытался убедиться, что диск был стерт, поэтому все, о чем я заботился, - это чтение, но этот скрипт на python можно изменить, чтобы он делал что-то подобное, если вы не доверяете таким исполняемым файлам, как я. Откройте диспетчер разделов Windows, чтобы узнать, какой номер диска вам нужен, и просто измените это число на 2. Затем вы можете написать это, или, если вы сделали wb вместо rb, вы могли бы написать. Удачи

import sys

f = open('\\\\.\\PhysicalDrive2','rb')
a = f.read(1)
i = 1

kb = 1024
mb = kb*1024

while a == b'\x00':
    i+=1
    if i % mb == 0:
        sys.stdout.write('\r{} MB scanned'.format(i/mb))
    a = f.read(1)

print('done')
7

Сначала я также попробовал Win32DiskImager, который, как я думал, делает только копирование раздела на основе его дисплея (нет, он может создавать резервные копии всей SD-карты), поэтому я продолжил поиск.

Мой текущий фаворит - HDDRawCopy. Он копирует в / из файла весь образ диска, но не разделы по отдельности. Он создает dd-совместимые или сжатые изображения на лету - не так эффективно, как 7zip (не достигает даже производительности ZIP), но вам не нужно снова прикасаться к изображению.

6

Удивило, что никто не упомянул утилиты ядра GNU для Windows, я использую их годами. это 32-разрядные двоичные файлы, но, по-видимому, за исключением less , они все еще работают под Windows 7 64-разрядных.

пример использования:

C:\Windows\Temp>dd if="\\.\s:" of=sdrive.dat bs=4096
25599+0 records in
25599+0 records out
104853504 bytes (105 MB) copied, 30.3147 seconds, -56145186608800624000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000 MB/s

C:\Windows\Temp>dd if="\\.\physicaldrive0" of=mbr.dat bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0210012 seconds, -891479495977528 kB/s

сообщенное время немного странно, но в остальном кажется, что оно работает хорошо.

3

Для истинного эквивалента dd в Windows не ищите полусырые альтернативы - просто установите настоящий GNU dd . Лучший способ сделать это, вероятно, Cygwin, довольно полный дистрибутив GNU и других инструментов FOSS. Думайте об этом как об установке "Linux" (или, скорее, дистрибутива Linux (GNU)) поверх Windows, без каких-либо уровней эмуляции или ограниченного черного ящика, такого как подсистема Windows для Linux. Это как родной, как это получается.

Чтобы использовать его, вам необходимо:

  1. Установите базовую среду Cygwin. Сделайте так, как указано на сайте, просто оставьте значения по умолчанию, если вам нужен только dd - но вы также можете повеселиться и получить подсказку о том, что он может предложить.
  2. Откройте терминал Cygwin как администратор, затем проверьте, на каком устройстве / разделе вы хотите работать с cat /proc/partitions .
  3. Используйте dd как в любом (GNU)Linux.
0

вау все эти ответы и DISM существует уже давно? Я уверен, что он был встроен в Windows 7 с самого начала.

DISM /capture-image /image-file:d:\backup.wim /capturedir:c:\ /name:simpleback

Есть много настроек, которые вы можете настроить. после захвата - разверните на новом носителе с помощью инструментов dism.

0

Попробовав некоторые из инструментов, рекомендованных здесь, я использовал balena Etcher в Windows 10. (Руфус дал мне результат с неверной контрольной суммой. HDDRawCopy дал мне ошибку записи.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .