Как мне создать немного идентичный образ флешки?

У меня есть флешка, которая по какой-то причине не читается. Я хочу сделать его изображение для хранения, чтобы я мог попытаться получить данные из изображения позже.

Как мне создать такой немного идентичный образ флешки?


Это ошибка, которую я получаю при использовании dd:

oshirowanen@desktop:~$ sudo dd if=/dev/sdd of=/USB_image
[sudo] password for oshirowanen: 
dd: reading `/dev/sdd': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 1.00783 s, 0.0 kB/s
oshirowanen@desktop:~$ 
21
задан 11 July 2013 в 22:05

5 ответов

Что касается второй половины вашего вопроса «Это ошибка, которую я получаю при использовании dd»: я вижу несколько возможностей.

  1. Обратите внимание на разницу между введенной вами командой и принятым ответом; вам не хватает ~ перед /USB_image. Другими словами, вы пытаетесь вывести корень вашей файловой системы, а не в свой домашний каталог.
  2. /dev/sdd может быть неправильный диск. Запустите sudo fdisk -l и сравните размер диска с известным размером USB-накопителя. Например, я знаю, что это моя флешка, потому что она близка к 16 ГБ: Disk /dev/sdf: 15.8 GB, 15805186048 bytes.
0
ответ дан 11 July 2013 в 22:05

Используйте ddrescue. Это продолжится после ошибок, где dd просто потерпит неудачу.

Кроме того, ddrescue находится в репо. 13.04 я набрал sudo apt-get install gddrescue для установки.

Используйте sudo fdisk -l или dmesg для определения местоположения устройства, например: /dev/sdb, затем выполните команду, например

ddrescue /dev/sdb /home/user/desktop/bkp.img

, есть много опций для ddrescue, и вы можете хочу прочитать man страницы. Также я не уверен, почему ваше оборудование выходит из строя и выдает дамп dd. Один сбойный блок может заставить dd выйти, но также могут происходить периодические сбои питания. dmesg может рассказать вам больше о сбоях оборудования, которые вы можете испытывать.

УБЕДИТЕСЬ, что устройство не установлено! при попытке восстановления данных, обработки изображений и т. д. Это может вызвать проблемы.

Есть много вещей, которые могут пойти не так в восстановлении данных. Отпишитесь, если у вас есть проблемы. testdisk - хорошая утилита для восстановления данных, когда у вас есть образ.

Просто для ясности, это USB-накопитель или USB-накопитель?

Ошибки ввода-вывода обычно указывают на аппаратные сбои, а не на повреждения файловой системы.

Также попробуйте получить анализ данных SMART устройства, если оно доступно. Это может говорить о таких вещах, как, например, если устройство перегревалось, включалось в течение длительного времени, имеет поврежденные сектора, подвергалось воздействию больше, чем X нет. Gs и т. д.

0
ответ дан 11 July 2013 в 22:05

Вы можете создать образ USB-накопителя (или другого устройства) с помощью dd.

, например,

dd if=<usb device> of=usb.img

Вы можете добавить дополнительные параметры в dd для оптимизации команды (например, bs).

0
ответ дан 11 July 2013 в 22:05

dd it!

Использование будет что-то вроде sudo dd if=/dev/sdb of=~/USB_image, где / dev / sdb - ваш usb-накопитель, как указано в sudo fdisk -l и ~ / USB_image - это файл изображения, в который будет сделана копия (путь, по которому будет создан файл изображения).

Чтобы восстановить образ на другой USB-накопитель, просто инвертируйте процесс: sudo dd if=~/USB_image of=/dev/sdb восстановит ~ / USB_image на устройстве SDB . Просто убедитесь, что новый USB-накопитель больше или больше оригинального.

Вы также можете смонтировать только что созданный файл образа в путь без необходимости сначала восстанавливать его на другой USB-накопитель с помощью mount ~/USB_image /mnt/USB_image -o loop.

0
ответ дан 11 July 2013 в 22:05

dd, как упоминалось в предыдущем постере, является родным путем. Вы захотите, чтобы он продолжался с ошибками, поэтому начните его с:

dd if=<usb device> of=<new file on disk with enough space> bs=<should match your blocksize> conv=noerror,sync 

Важной частью является последняя: conv=sync говорит dd дополнить все те блоки, которые он мог прочитать. только частично с нулями, поэтому результирующее изображение может иметь несколько нулей слишком много, но будет структурно равным слоистому диску за вычетом ошибок чтения. conv=noerror позаботился об этих ошибках чтения, сказав, что dd следует перейти к следующему блоку. На этом этапе размер блока имеет значение, потому что если он больше, чем необходимо, чтобы пропустить ошибку, читаемые данные будут потеряны здесь. Размер блока всегда должен быть вдвое больше - если есть сомнения, 512k должен помочь.

Тогда я бы предложил:

  • сохранить неизмененную копию этого образа в безопасном месте
  • fsck копию образа диска
  • смонтировать диск image
  • проверяйте ваши файлы - теперь они читаются без проблем, но некоторые могут отсутствовать или быть усеченными
  • Если само устройство вообще не может быть прочитано, вам может не повезти. Кроме того, если устройство содержит некоторое проприетарное программное обеспечение, оно может быть настроено на возврат ошибок чтения при обращении к первым блокам.

(Частично цитирую себя из статьи, написанной еще в 2010 г.)

Если вам не нужно оставаться нативным, вы всегда можете попробовать инструменты, которые пытаются несколько облегчить процесс, такие как ddrescue (пакет gddrescue) и его компаньон ddrescueview ( sourceforge ) для визуализации ошибок.

0
ответ дан 11 July 2013 в 22:05

Другие вопросы по тегам:

Похожие вопросы: