LINUX.ORG.RU

photorec


1

1

Принисли винт знакомые. Он упал в составе ноутбука в работающем состоянии. Какие-то спецы его ковыряли но ничего невыковыряли. Тем не менее он определяется если поставить вертикально и photorec что-то там находит. Но некоторые места действительно видимо сильно повреждены и он их начинает перечитывать постояно судя по всему - звуку, росту ожидаемого времени окончания сканирования и т.п.

Как заставить photorec:
Востанавливать только нужные мне файлы - фото и видео от туда надо извлечь.
Пропускать трудно читаемые места - надо извлечь хоть что-то, пусть даже часть утрачено будет безвозвратно - люди бэкапов не делали и все там пропало - им даже часть восстановленного счастье.

★★★★★

сними образ сначала, есть утилиты которые позволяют скипать проблемные места а потом ещё photorec`ом по нему гоняйся

pawnhearts ★★★★★
()
Ответ на: комментарий от pawnhearts

это первое дело, а то пока он винт будет мучить утилитами восстановления он в конец и ушатается

Deleted
()

dd if=/dev/sdX of=file.img conv=sync,noerror - считать всё, что можно считать с первого раза, потом натравить testdisk или photorec (первый может даже увидеть структуру каталогов и дать выбрать файлы, если повезёт).
Затем при помощи ddrescue считывать все данные, пока не надоест.

AITap ★★★★★
()
Ответ на: комментарий от AITap

Да, пожалуй это будет разумнее - поставил сливаться образ. Спасибо.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от anonymous

ddrescue (насколько я помню, это синоним dd_rescue) будет пытаться считывать неудачные блоки снова и снова. Когда не известно, сколько ещё проживёт жёсткий диск, разумнее будет сначала считать то, что считывается, заполняя несчитавшиеся блоки нулями, а потом пытаться считать остальное.

AITap ★★★★★
()
Ответ на: комментарий от AITap

Нет, вы не правы, ddrescue и dd_rescue — две разные программы. Для них даже пакеты разные: http://packages.debian.org/sid/ddrescue vs http://packages.debian.org/sid/gddrescue или http://www.garloff.de/kurt/linux/ddrescue/ vs http://www.gnu.org/software/ddrescue/ddrescue.html

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

Советую ознакомиться с http://www.forensicswiki.org/wiki/Ddrescue и http://www.forensicswiki.org/wiki/Dd_rescue

anonymous
()
Ответ на: комментарий от anonymous

Большое спасибо. Интересно, где я прочитал про то, что какая-то из этих утилит сразу же пытается пересчитать битые секторы?

AITap ★★★★★
()
Ответ на: комментарий от AITap

На самом деле поведение при ошибках чтения гибко настраивается опциями командной строки. Для GNU ddrescue это --max-retries, --no-split и --max-errors.

Возможно отзыв об утилите был написан тем, кто не читал man.

anonymous
()
Ответ на: комментарий от AITap

dd if=/dev/sdX of=file.img conv=sync,noerror

Как-то я подобное делал, и у меня осталось ощущение, что эта команда пропускает нечитаемые блоки, не записывая ничего в вывод. То есть как бы вырезает блоки в итоговом образе, что очень плохо.

i-rinat ★★★★★
()
Ответ на: комментарий от anonymous

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

Попробовать разобрать? У кого-нибудь есть опыт?

Suntechnic ★★★★★
() автор топика

В настройках photorec можно указать, какие типы файлов восстанавливать он должен.

Kindly_Cat
()
Ответ на: комментарий от i-rinat

man и куча сообщений в интернете говорят, что sync должен заполнить такие блоки нулями. Как бы это побыстрее проверить? Не хочется писать FUSE для пробы.

AITap ★★★★★
()
Ответ на: комментарий от AITap

что sync должен заполнить такие блоки нулями

Наверное, я без sync делал.

i-rinat ★★★★★
()
Ответ на: комментарий от Suntechnic

Ёмкость винта? Не думаю, что разобрав дома на коленке, вы чем-то ему поможете, особенно если плотность записи достаточно высока. Скорее навредите. Снимите для начала посекторную копию.

Дайте винту остыть, отлежаться, затем натравите ddrescue (GNU-шный) с --no-split, затем оцените число несчитанных секторов в логе. Если снова уйдёт в даун, выключите, дадите остыть, натравите снова, ddrescue продолжить писать в тот же файл, дополняя незаполненные области. И так пока всё что читается перепишите. Там попробуете на петле смонтировать.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.