У меня есть флешка, которая по какой-то причине не читается. Я хочу сделать его изображение для хранения, чтобы я мог попытаться получить данные из изображения позже.
Как мне создать такой немного идентичный образ флешки?
Это ошибка, которую я получаю при использовании 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:~$
backup
usb-storage
disk-image
oshirowanen
источник
источник
/dev/sdx
указывающего на флешку, возникает серьезная проблема, и я думаю, что для обычных пользователей нет инструментов, которые будут работать. Смотрите эту ссылку для получения более подробной информации, askubuntu.com/questions/144852/… ; Не сдавайся сразу. Попробуйте в соответствии со списком вещей, которые могут заставить чтение работать. Возможно, вы можете отсоединить USB-разъем и найти карту micro SD, которая все еще работает в соответствии с комментарием @ ubfan1 (в связанном ответе).Ответы:
dd
Это!Использование будет выглядеть примерно так:
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
.источник
fdisk -l
не вижу USB-накопитель? Тем не менее, я могу видеть это из программы Дисковой утилиты как / dev / sdd, но когда я пытаюсь использовать вашу команду, это, кажется, терпит неудачу.status='progress'
сdd
Ubuntu, или выяснить PID вашейdd
команды и отправить емуSIGUSR1
сигнал. Не уверен насчет других реализаций, хотя.Использование
ddrescue
. Это будет продолжаться после ошибок, гдеdd
просто не получится.Дополнительно
ddrescue
есть в репо. 13.04 я набралsudo apt-get install gddrescue
для установки.Используйте
sudo fdisk -l
илиdmesg
для определения местоположения устройства, например:,/dev/sdb
затем выполните команду, такую какЕсть много вариантов
ddrescue
, и вы можете прочитатьman
страницы. Также я не уверен, почему ваше оборудование выходит из строя и сбрасываетdd
. Один сбойный блок может привести кdd
выходу из строя, но также могут происходить периодические сбои питания.dmesg
может рассказать вам больше о сбоях оборудования, которые вы можете испытывать.УБЕДИТЕСЬ, что устройство не установлено! при попытке восстановления данных, обработки изображений и т. д. это может вызвать проблемы.
Есть много вещей, которые могут пойти не так в восстановлении данных. Отпишитесь, если у вас есть проблемы.
testdisk
хорошая утилита для восстановления данных, когда у вас есть образ.Просто для ясности, это USB-накопитель или USB-накопитель?
Ошибки ввода-вывода обычно указывают на аппаратные сбои, а не на повреждения файловой системы.
Также попробуйте получить анализ данных SMART на устройстве, если оно доступно. Это может говорить о таких вещах, как, например, если устройство перегревалось, включалось в течение длительного времени, имеет поврежденные сектора, подвергалось воздействию больше, чем X нет. и т.д.
источник
sudo
дляddrescue
*, где dd просто потерпит неудачу *, это не совсем так, поскольку вы можете настроитьdd
игнорирование ошибок чтения.testdisk
Это здорово, когда вы можете читать потерянные сектора данных, а не когда диск не работает.gddrescue
против,ddrescue
такgddrescue
как он новее и способен выполнять работу, котораяddrescue
делает.Вы можете создать образ USB-накопителя (или другого устройства) с помощью
dd
.Например
Вы можете добавить больше параметров для
dd
оптимизации команды (напримерbs
).источник
dd
Как упоминалось в предыдущем постере, это родной путь. Вы хотите, чтобы он продолжался из-за ошибок, поэтому начните с:Важной частью является последняя: она
conv=sync
сообщает dd заполнить все те блоки, которые он мог прочитать, только частично нулями, поэтому результирующее изображение может иметь несколько нулей слишком много, но будет структурно равным слоистому диску за вычетом ошибок чтения.conv=noerror
позаботился об этих ошибках чтения, сказав, что dd продолжит работу со следующим блоком. На этом этапе размер блока имеет значение, потому что если он больше, чем необходимо, чтобы пропустить ошибку, читаемые данные будут потеряны здесь. Размер блока всегда должен быть вдвое больше - если есть сомнения,512k
следует делать свое дело.Тогда я бы предложил:
(Частично цитирую себя из статьи, написанной еще в 2010 году)
Если вам не нужно оставаться нативным, вы всегда можете попробовать инструменты, которые пытаются несколько облегчить процесс, такие как ddrescue (пакет
gddrescue
) и его компаньонddrescueview
( sourceforge ) для визуализации ошибок.источник
Что касается второй половины вашего вопроса «Это ошибка, которую я получаю при использовании dd»: я вижу пару возможностей.
~
перед/USB_image
. Другими словами, вы пытаетесь вывести корень вашей файловой системы, а не в свой домашний каталог./dev/sdd
может быть не правильный диск. Запуститеsudo fdisk -l
и сравните размер диска с известным размером флешки. Например, я знаю , что это мой USB палку , потому что это близко к 16GB:Disk /dev/sdf: 15.8 GB, 15805186048 bytes
.источник