Как клонировать флеш(Flash), CF(Compact Flash) карту или винчестер с помощью Linux комманды dd

(способ подходит как для любых флеш карт так и для USB стиков или винчестеров, везде где требуется 1:1 RAW копирование/клонирование)

Следущая ситуация: есть CF(Compact Flash) карта на 8Гб с неизвестной файловой системой и ее надо скопировать, а ещё лучше клонироват на другую CF карту такого же обьёма. При подключении через USB Card Reader под Windows - показывается что карта пуста и предлагается её отформатировать(чего делать конечно нельзя, мы то знаем что там есть данные).

Пробовал сначала использовать различные программы для восстановления данных под Windows, но у большинства из них проблемы с дисками подключенными через USB или тупо выдавалось - диск пуст и не отформатирован..

Правильный и более "чистый" способ сделать такую задачу - это использовать Linux и комманду "dd".

Для этого не нужно инсталлировать сам Linux. Достаточно скачать ISO дистрибутив Ubuntu Linux(http://www.ubuntu.com/download/ubuntu/download), прожечь его на CD, стартовать компьютер с него и выбрать далее "Live System" - система стартует прямо с CD.

Подключаем через внешний USB Reader нашу CF карту. В принципе можно уже начинать работу с "dd", но мы не знаем имя нашей подключенной через USB карты(диска). Идем в "Ubuntu Software Manager"(интернет должен быть, обычно Ubuntu сразу распознаёт все сетевые карты и соединения) и инсталлируем "Mount Manager". Запускаем его и видим все наши диски включая CF карту. Допустим ее имя - /dev/sca1

Теперь запускаем терминал.

Важная информация:
 - две карты одной ёмкости не равны на самом деле. Мой опыт: только две карты одного производителя, да и то не всегда одинаковы по ёмкости. Иногда различие в несколко байт, а у разных производителей, хоть и размер например 8Гб указан, может отличаться значительно.
- клонировать можно только или на диски/карты одной ёмкости или большей
- команда "dd" не делает никакого вывода во время работы, может показаться что всё зависло, но это не так.. клонирование 8Гб у меня заняло около 50 минут. В конце "dd" выдаёт "sammary" как прошло копирование/клонирование.

- Копируется все действительно 1:1, включая все BOOT сектора, MBR и так далее... 

Последовательность действий такая:

1. делаем дамп данных с карты/диска на локальную плату:

Comand Syntax:

       sudo  dd  if=/dev/sda1 of=/home/myfolder/cf_card_image.dat bs=4096 conv=notrunc,noerro

if - название, имя карты/диска

of - путь на локальной плате и имя нашего "card image".

2. вставляем чистую карту или диск в USB reader

3. копируем данные из дампа обратно на карту/диск

Syntax:

      sudo dd if=/home/myfolder/cf_card_image.dat of=/dev/sda1 bs=4096 conv=notrunc,noerro

Ну и все на этом. После завершения работы "dd" получаем две абсолютно одинаковые карточки.

 

Если будут вопросы - велком..

  • Аватар пользователя Гость

    Комментарий написал Гость

    noerro - пишет нет такой команды

  • Аватар пользователя Гость

    Комментарий написал Гость

    Не работает это.

  • Аватар пользователя Гость

    Комментарий написал Гость (не проверено)

    Все работает, я клонировали без этой команды и все ок! (noerro)

  • Аватар пользователя Гость

    Комментарий написал Гость (не проверено)

    Здравствуйте а когда уже образ льёте на флеш быстро проходит процесс ?

  • Аватар пользователя Alex

    Комментарий написал Alex (не проверено)

    Всё работает, не гоните! Ну у кого ума не хватило дописать noerroR

  • Аватар пользователя Irokez

    Комментарий написал Irokez (не проверено)

    Подскажите пожалуйста, а как клонировать CF карты если оригинальная на 2 мб больше по объему той на которую будет копироваться?
    Через dd ругается
    На устройстве не осталось свободного места
    62115+0 записей получено
    62114+0 записей отправлено

Отправить комментарий

Содержимое этого поля является приватным и не будет отображаться публично.

Железо

-->