(способ подходит как для любых флеш карт так и для 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)
Здравствуйте а когда уже образ льёте на флеш быстро проходит процесс ?
Всё работает, не гоните! Ну у кого ума не хватило дописать noerroR
Подскажите пожалуйста, а как клонировать CF карты если оригинальная на 2 мб больше по объему той на которую будет копироваться?
Через dd ругается
На устройстве не осталось свободного места
62115+0 записей получено
62114+0 записей отправлено
-->
Комментарий написал Гость
noerro - пишет нет такой команды