Копирование информации с повреждённых носителей с помощью ddrescue и HDD Super Clone
Версия для печати (дайджест по поиску " knzknzknz")

Конференция: Конференция iXBT.com (http://forum.ixbt.com/)
Форум: Магнитные и SSD накопители (http://forum.ixbt.com/?id=11)
URL: http://forum.ixbt.com/topic.cgi?id=11:47589



25. knzknzknz, 02.12.2016 12:03
kickman
спрошу - у Вас...
предварительно сказав спасибо.
использовал программку из этой темы уже не раз - нравится. некоторых моментов не знал - спасибо за разъяснения.
я уже задавал такой вопрос-мечту на форумах ... пока ответ не ясен или меня не поняли...
и так сам вопрос:
есть ли виндовая или никсовая программка которая покажет те места на диске которые писались использовались и не пусты. не глядя на мфт и другие таблицы.
т.е. в гуи это бы выглядело так: полосочка-(весь HDD) начало полосочки 0-Гб конец полосочки max-HDD Гб... полосочка серенькая
в программке есть уровень детализации - пусть 1000. и кнопка типа "начали".
при нажатии на кнопку начали - программка начинает читать диск с нуля и до конца с шагом max-HDD/1000 (пусть по десятку мегабайт- с каждого места) - и рисовать на полосочке если данные сюда когда то писались то пусть будет зелененкая точка, если чисто -нули то пусть будет черная точка....
т.е. получаем такую вот карту использования поверхности с указанной детализацией.... прочитанной невзирая на любые мфт и таблицы и так далее....
такая вот программка .... которую я уже почти готов начать писать сам... но только под винду .... а там если мы встретим "плохое место" на диске то это плохо.
конечно же вместо гуевой полосочки можно сделать вывод в простой лог-текст... а уже по логу тексту можно и рисовать полосочку....
не сочтите за флейм - винтокопание для меня скорее хоббии...

29. knzknzknz, 05.12.2016 06:37
Yatagan будет Вам замечено - как раз таки вот из мусора оставшегося в самом конце диска и были вытащены 80% фоток - хозяину повезло. в редакторе "восстановить фалы по 0xFFD8FF"... (таблиц не было вообще - вообще не было ничего на две трети диска в начале...)

Rainhaart любая программа дефрагментации покажет только имеющиеся файлы на основании таблиц. а если этот винт уже побывал у трех IT-спецов и каждый ставил на него винду в разные места чтобы с него восстановить только одну папку папку "e:\бабушкина папка\вывод нового сорта фиалок в течении пяти лет - в фотографиях\" - то тут ни один анализ дефрагментатора не прокатит. и глядеть дефрогментатотором в диск с которого что-то бекапить - чур меня чур.

kickman спасибо, доберусь до никсов попробую - в i - байты или сектора? файл на выходе log.txt? не видно проверки условия если в секторе нули то сюда не записано ничего иначе в секторе не нули - данные когда-то сюда писались....

спасибо еще раз.

Добавление от 05.12.2016 10:00:

... добавлю - нашел что-то подобное что искал.
в р-студио есть кнопочка дополнительно при сканировании...
http://imagizer.imageshack.com/img924/8533/iiqUdw.png
http://imagizer.imageshack.com/img921/1648/JkgmwJ.png

Добавление от 05.12.2016 12:13:

kickman

--cpass=1 - проход только один
-O '--reopen-on-error' повторно открыть после ошибки Закрыть файл-источник INFILE и открыть его повторно после каждой ошибки чтения
-X '--exit-on-error' выйти при ошибке Выйти со статусом 1 при первой же ошибке чтения.
-T0 '-T INTERVAL' '--timeout=INTERVAL' время ожидания=ИНТЕРВАЛ Максимальное разрешённое время после последнего успешного чтения, затем выход.
-a4194304 '--min-read-rate=BYTES' минимальная скорость чтения=БАЙТ Минимальная скорость чтения хороших непроверенных участков, в байтах в секунду.
--exit-on-slow '--exit-on-slow' выход при медленном чтении
-i$ia - это начало позиции чтения заданная в цикле мегабайтов.
-s10Mi - это приращение сколько прочитать после -i читать 10 мегабайт - нехватает буквы B -s10MiB.


для винта в 3 000 000 мегабайт

for (( i=0; i<=3000000; i+=3000 )) ; do
ia=$i'MiB'
./ddrescue /dev/sdb /dev/sda/ttmmpp.var ~/log.txt --cpass=1 -O -X -T0 --exit-on-slow -i$ia -s1MiB (сюда добавить ключь - перепесывать оутпут файл ttmmpp.var всегда каждую итерацию.)

анализируем один мегабайт ttmmpp.var и если он пуст нули то пишем в log2.txt позицию $i'MiB' - ' пусто' если там не нолики то пишем добавляем в log2.txt $i'MiB' + ' чтото есть'
в баше не силен посему такая вот галиматья от алядельфи

if (/dev/sda/ttmmpp.var == 0) then add.memo1.text( $i'MiB' + ' пусто') else add.memo1.text( $i'MiB' + ' чтото есть');

done

вот хотелось бы както так....
и еще файлик log.txt он будет тоже перезатираться каждую итерацию - если мы будем стирать и создовать заново каждую итерацию ttmmpp.var?
"какнибудь так какнибудь так"

33. knzknzknz, 15.12.2016 08:52
kickman
вопрос... и спасибо заранее.
параметр -n10 - , насколько интелектуален алгоритм при использовании этого параметра?
есть нечитаемое место X, алгоритм начиная с позиции X с приращением пусть 10 начнет пропускать по 10 секторов и пробовать читать дальше.
- дальше программка считает X+10 и пробует читать... если не читается, то пробует читать X+20 ... и так далее до читаемого места?
следующее нечитаемое место Y алгоритм начинается с начала - Y+10 ... Y+20 ... Y+30...?
и как работает алгоритм когда просто -n, без приращения.
и еще вопрос - какой ключ поставить чтобы при задержке чтения сектора допустим в одну секунду - программка метила в логе блок именно как нечитаемый?
спасибо.

Добавление от 15.12.2016 09:07:

и еще вопрос какой ключ отвечает за "пропускать сектора с чтением в одну секунду с приращением в 1000 секторов" ?
т.е. натолкнулась на тормозной сектор - пропустила 1000 пометила что не прочитано 1001 и пошла дальше читать.....

35. knzknzknz, 15.12.2016 14:00
kickman - спасибо...
да... что-то про -n мне приснилось...

мне сегодня что-то много снится всего...
-n - это пропустить этап "выцарапывания"...

начал использовать параметр -a50000 пропускать участки с чтением меньше 50кбайт сек. помогает...
("пропускать сектора с чтением в одну секунду с приращением в 1000 секторов" )
пока не знаю как он работает и сколько пропускает (параметр -а) но уже вместо 10 лет на весь диск начал писать, вменяемые два три месяца на диск старый фуджик .... ...
спасибо.

37. knzknzknz, 16.12.2016 09:45
kickman
лог прислал в приват.

39. knzknzknz, 19.12.2016 06:09
хорошо - спасибо.

49. knzknzknz, 10.01.2017 06:37
kickman
вопрос. (самсунг одна голова дохлая - гдето через 10 гиг головы чередуются)
запускаем ddrescue -i100GiB /dev/sdb /kkk/samsung.dsk /kkk/samsung.log

оно работает и спасает=рескуед 10 гиг. повисло все.
дальше ребутим машину.

и запускаем ddrescue -i120GiB /dev/sdb /kkk/samsung.dsk /kkk/samsung.log т.е. 100 гиг начало - 10 гиг данные и еще 10 гиг мы пропустили (там плохая голова) 100+20=120 гиг.

оно работает и спасает=рескуед еще 10 гиг. опять повисло все.
т.е. в итоге имеем файл 130 гиг он по размеру а на диске занимает всегото чуть более 20 гиг.
с этим разобрался оказывается есть разряженные файлы.
(В NTFS есть поддержка разреженных файлов (sparse files). Это такие файлы, которые занимают меньше дискового пространства, чем их собственный размер. )
вопрос в другом...
есть подозрение что при втором запуске ddrescue -i120GiB /dev/sdb /kkk/samsung.dsk файлик samsung.dsk перезаписывается....
ибо одни нули в файле везде вообще....
сам вопрос: в каком случае ddrescue при повторном запуске перезапишет-пересоздаст файл-кудакопируем приемник полностью?
или же ddrescue будет "беречь" этот файлик до явного указания ключа перезаписи файла-приемника?
ну и про разряженные файлы - это открытие - т.е. можно вычитывая терабайтник обойтись 100 гигов свободного места если пропустить 900гиг в источнике.
ddrescue оказывается знаком с технологией sparse files....
спасибо заранее.
Aндрей Фоменко
самсунг - трансляция интересная.... был один диск читался 6гиг норма 12гиг пропуск 6гиг норма 12гиг пропуск - дальше примерно также... одна голова отмерла....
используй -a500000 500000 здесь подобрать к винту самому - это скорость чтения в байтах МИНИМАЛЬНАЯ чтобы он пролетал эти вот места.... но мне пришлось вычитывать и пропускать вручную... так как диск вис при обращении к больной голове. муторно....
использую эту сборку http://www.system-rescue-cd.org/Download но она все равно читает разделы... но ничего сама не монтирует....



URL: http://forum.ixbt.com/topic.cgi?id=11:47589