ddrescue очень медленный, пишет в NTFS - стоит ли сейчас конвертировать в Ext4?

1486
GabrielB

Два дня назад я начал восстановление жесткого диска со сбоями в 1 ТБ, который был выдан мне в надежде, что я смогу спасти большую часть его по низкой цене.

Сначала он вел себя хаотично, часто внезапно отключаясь и издавая страшные звуки, скорость копирования варьировалась от нескольких КБ в секунду до 50 МБ в секунду (это был жаркий день, я пытался предотвратить его перегрев с помощью охлаждающей подставки для ноутбука внизу и охлаждающий блок над ним, который я менял каждый час или около того). Затем в течение первого вечера она стала более стабильной, но средняя скорость копирования значительно снизилась, до 3-4 МБ / с. Теперь, восстановив 250 ГБ, я в среднем уменьшился до 400 КБ / с, что мучительно медленно (по крайней мере, в дальнейшем оно не уменьшается).

Итак, мои вопросы:

  • Я делаю это восстановление в раздел NTFS, который, из того, что я прочитал довольно поздно в процессе (в этом французском руководстве ), не рекомендуется, поскольку это может значительно замедлить восстановление. Это (все еще) правда, и если так, то почему?
    • Или это в прошлом, когда драйвер NTFS для Linux не был достаточно зрелым? (Я использую последнюю версию живого DVD Knoppix, скопированную на карту памяти, поскольку она не может успешно загрузиться с DVD-RW.)
  • Стоит ли на этом этапе конвертировать раздел в собственный формат Linux, такой как Ext4? Я имею в виду, значительно ли это улучшит скорость копирования?
    • Или это нормально испытывать такое замедление с неисправным диском после первого прохода, где большинство «здоровых» секторов уже восстановлено? (Параметры SMART ухудшаются, «результат теста самооценки общего состояния здоровья» изменился с «PASSED» на «FAILED», число перераспределенных секторов изменилось с 144 до 1360.)
  • Есть ли что-то еще, что я могу сделать, чтобы улучшить коэффициент восстановления и / или скорость восстановления?
  • Есть ли варианты, в ddrescueкоторых я мог бы попробовать с какой-то реальной пользой?

Я сделал первые запуски с этой командой:

ddrescue -n -N -a500000 -K1048576 -u /dev/sdc /media/sda1/Hitachi1TB /media/sda1/Hitachi1TB.log 

(Предполагается, что переключатели -n& -Nобходят фазы очистки и обрезки - хотя я не уверен, в какой момент процесса эти действия предпринимаются программой, и действительно ли это полезно для их обхода. Затем я указал минимальную скорость копирования 500000 байт в секунду и значение 1 МБ для «начального размера, пропускаемого при ошибке чтения», с целью максимально быстрого копирования областей, которые по-прежнему исправны или легко доступны. Для -u«однонаправленного»: в предыдущем восстановлении с другой жесткий диск, копирование в обратном смысле с помощью -Rпереключателя, казалось, улучшил ситуацию, но с этим он, кажется, наносит ущерб, и он, очевидно, более стабилен с этим переключателем.)

Теперь, после завершения одного прохода, я удалил большинство этих параметров, сохранив только -u. В -dкакой-то момент я попробовал переключиться («использовать прямой доступ к диску»), но потом ничего не скопировалось, «размер ошибки» очень быстро вырос.

1
По моему опыту, запись в NTFS действительно медленнее, чем ext4. Andrea Lazzarotto 6 лет назад 0
Я согласен с комментарием Андреа: запись в NTFS идет медленнее. Но не так уж медленно. Замедление ожидается с помощью `ddrescue` и неисправного диска. См. [Этот ответ] (https://superuser.com/a/1075562/432690) и сравните [этот вопрос] (https://askubuntu.com/q/336559/693277). Kamil Maciorowski 6 лет назад 0
Спасибо за эти ответы. Во втором связанном потоке кто-то сообщает, что переключение с ExtFAT на Ext4 значительно улучшило скорость копирования (7 МБ / с - это немного, но все же в 70 раз лучше, чем 100 КБ / с!). Если я могу надеяться получить аналогичный результат, переключаясь с NTFS на Ext4, как я могу перейти к безопасному, без риска потерять то, что было восстановлено до сих пор? Можно ли преобразовать раздел на место и с помощью какой команды? (Все еще новичок в среде Linux.) Полагаю, было бы целесообразно сначала создать образ NTFS-раздела на случай, если он пойдет не так. Тогда как я могу получить доступ к разделу Ext4 в Windows? GabrielB 6 лет назад 0
Итак, чтобы ответить на мой собственный вопрос ... Я сделал это: 1) заархивировать содержимое раздела NTFS для его защиты 2) сжать раздел NTFS и создать раздел Ext4 с gparted 3) скопировать файлы из NTFS в Ext4 4) возобновить восстановление ddrescue - на самом деле мне пришлось начинать все сначала, так как предварительный просмотр (-P переключатель) показывал только 00, не знаю почему ... (очень важно включить это!) И теперь он идет невероятно быстро с средняя скорость 90 МБ / с! O_o (Вдвое лучший показатель, который у меня был ранее, и, как ни странно, ошибок пока нет, 100 ГБ.) Так что я больше никогда не буду пытаться восстановить том NTFS. GabrielB 6 лет назад 0
Я думаю, вы снова получите 400 КБ / с, просто подождите, потому что * эта * медлительность не была вызвана NTFS. Kamil Maciorowski 6 лет назад 0
Официальные примечания: (1) Ваш комментарий выше не является ответом. Чтобы действительно ответить на свой вопрос, напишите ответ в поле для ответа. Я думаю, что ваш окончательный ответ может быть «это того не стоило», потому что теперь вы читаете быстро * во второй раз *, а позже вы будете читать * так же медленно, как и до прерывания. (2) Чтобы ответить на чей-либо комментарий своим собственным комментарием, позвоните такому человеку @KamilMaciorowski, таким образом, он или она будет уведомлен. Автор вопроса / ответа, под которым написан комментарий, получает уведомление независимо от этого, поэтому мне не нужно звонить вам сюда. Kamil Maciorowski 6 лет назад 1
Был ли я неправ, когда сказал: «Вы снова получите 400 КБ / с, просто подождите»? Пожалуйста, поделитесь своим опытом. Скорость передачи лучше после 250 ГБ, чем была до преобразования? Kamil Maciorowski 6 лет назад 0
На самом деле он стал очень нестабильным вскоре после отметки 100 ГБ и даже медленнее, чем раньше (<100 КБ / с, часто 0 для длительных периодов). Но я думаю, это потому, что состояние здоровья жесткого диска ухудшалось. Тем не менее, показатель в начале был определенно выше, и ошибок не было, это трудно объяснить. Теперь мне нужно объединить эти частичные изображения, по-видимому, это можно сделать автоматически с помощью ddrescue, я хотел бы иметь больше контроля, копировать только недостающие области с помощью WinHex, но это будет слишком долго. Хорошей новостью является то, что жесткий диск был заполнен только ~ 250 ГБ, поэтому я, вероятно, восстановил большую часть GabrielB 6 лет назад 0
Кроме того, было очевидно, что при возобновлении восстановления в разделе Ext4 было скопировано только пустые данные, поскольку на жестком диске было много свободного места после отметки 250 ГБ. Позже я попробовал ddru_ntfsbitmap из ddrutility, которая оказалась чрезвычайно полезной в таком случае (хотелось бы, чтобы я знал об этом с самого начала): файл $ Bitmap был полностью восстановлен и позволил создать карту используемых секторов, которую ddrescue мог затем используйте для обхода пустых данных. Я еще не попробовал другие инструменты ddrutility. GabrielB 6 лет назад 0
@KamilMaciorowski: я добавил несколько отчетов, касающихся моего опыта с этим восстановлением, в том числе один сегодня о скорости копирования из Ext4 в раздел NTFS и наоборот. Не могли бы вы (или кто-либо другой) прокомментировать эти странные выводы? Заранее спасибо. GabrielB 6 лет назад 0

2 ответа на вопрос

2
GabrielB

Чтобы завершить мои комментарии выше (извините за формальные неудобства / несоответствия): я бы сказал, что это того стоило, хотя я не совсем понимаю, почему. Вторая попытка, восстановление в раздел Ext4, вначале имела значительно более высокую скорость копирования (в среднем около 90 МБ / с, тогда как в первой попытке у меня было в лучшем случае всего около 50 МБ / с, при восстановлении в раздел NTFS) и никаких ошибок или даже замедлений. Но затем, после копирования около 165 ГБ (так раньше, чем раньше), он стал очень нестабильным и замедлился до ползания, снова издал щелчки и жужжащие звуки (это был очень жаркий период, который не помог - я попытался охладить его максимально опустите, используя охлаждающую подставку для ноутбука внизу и пакет для замораживания поверх нее, меняйте каждый час или около того);

Вот ddrescueviewкарта первого восстановления:
ddrescueview 1st attempt NTFS partition

Есть интересный паттерн: полосы легко восстанавливаемых данных чередуются с очень медленными или нечитаемыми данными. Из того, что я знаю, это, кажется, указывает на то, что головка вступила в контакт с пластиной, повредив поверхность и выпустив магнитную пыль, которая затем распространяется с центробежной силой. А поскольку серво-трек (который содержит важную информацию для процесса запуска) расположен на внешнем крае жесткого диска (это 3,5-дюймовый Hitachi 1 ТБ), часть этой пыли, возможно, достигла его, затрудняя доступ, что может объяснить частые щелчки при запуске. (Поправьте меня, если я ошибаюсь.)

Вот ddrescueviewкарта второго восстановления:
ddrescueview 2nd attempt Ext4 partition

Таким образом, жесткий диск стал очень нестабильным, а восстановление стало более трудным после примерно 165 ГБ, но до этого скорость копирования была постоянно высокой, без пропусков. Позже я использовал этот ddru_ntfsbitmapметод для последних попыток, поэтому свободное место в основном пропускалось.

Вот ddrescueviewкарта файла журнала, созданного с помощью ddru_ntfsbitmap, показывающая области жесткого диска, содержащие фактические данные, зеленым цветом и свободное пространство серым цветом:
ddrescueview ddru_ntfsbitmap log file

К счастью, большинство фактических данных было найдено в первом квартале и было успешно восстановлено. Теперь мне еще предстоит объединить хорошие части этих двух образов и извлечь реальные файлы, возможно, с помощью R-Studio (лучшее программное обеспечение для восстановления данных, которое я пробовал).


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

Я попытался скопировать спасенные области изображения 2 в разделе Ext4, которые отсутствовали в изображении 1, в это изображение 1 в разделе NTFS , что должно было быть выполнено с очень высокой скоростью (вход и выход находясь на здоровом жестком диске 2 ТБ), но я получил скорость, угадай, что, в среднем, всего 660 КБ / с!

Используемая команда (файл журнала для образа 2 используется как файл журнала домена):

ddrescue -m [image2.log] [image2] [image1] [image1.log] 

Скриншот:
ddrescue copy rescued areas image 2 to image 1

Поэтому я остановился и сделал обратное: скопировал спасенные области на изображении 1 (NTFS), которые отсутствовали на изображении 2, в это изображение 2 (Ext4) - и теперь скорость копирования составляла около 43000 КБ / с или 43 МБ / с. в среднем (может быть немного медленнее, чем следует ожидать для копии на том же жестком диске, для Seagate 2 ТБ, который имеет максимальную скорость записи, близкую к 200 МБ / с, поэтому должен иметь возможность достигать около 100 МБ / с для копировать с одного раздела на другой, но все же почти в 100 раз лучше, чем с первой попытки). Чем можно объяснить такое колоссальное несоответствие?

Используемая команда:

ddrescue -m [image2.log] [image2] [image1] [image1.log] 

Скриншот:
ddrescue copy rescued areas image 1 to image 2

Я заметил, что файлы изображений в обоих разделах имели «размер на диске» , соответствующий объему фактически записанных данных, очень далеко от общего размера (1 ТБ или 931,5 ГБ), хотя я этого не делал. t использовать -Sпереключатель («использовать редкие записи для выходных файлов»). Изображение 2 (после заполнения дополнительными спасенными областями из изображения 1) имеет «размер на диске» 308,5 ГБ, а изображение 1 имеет «размер на диске» 259,8 ГБ. Может ли это быть связано с низкой скоростью копирования, если драйвер Linux NTFS каким-то образом испытывает затруднения при работе с разреженными записями? И как получилось, что весь размер не был выделен, как только были написаны сектора в конце, учитывая, что я не использовал этот -Sпереключатель?

Я пытался использовать -pпереключатель («preallocate») в самом начале процесса, думая, что он будет «чище», проще, проще в случае, если что-то пойдет не так (если восстановление необходимо восстановить. ..), но я должен был остановиться, так как это было слишком долго, и я хотел начать как можно скорее. Затем я решил, что с помощью -Rпереключателя («реверс») временно он запишет самые последние сектора в выходной файл, выделив таким образом полный размер, как я и предполагал; это действительно привело к увеличению размера выходного файла до 931,5 ГБ, но «размер на диске» был на самом деле гораздо меньше (я заметил это позже, когда обращался к жесткому диску, используемому для этого восстановления в Windows, и наблюдал необычно большое количество свободного места). пространство).
________________
Я до сих пор не понимаю, как вторая попытка восстановления могла привести к гораздо лучшему результату для первых 100 ГБ или около того, несмотря на то, что состояние здоровья жесткого диска за это время ухудшилось.

Кстати, слово «диск» следует заменить, как в системах Windows, так и в Linux, так как существуют блоки хранения данных, которые не являются «дисками» ...

Год спустя я перечитываю эту ветку: то, что я написал о шаблоне «полос», скорее всего, неверно - из того, что я узнал позже, это наблюдается, когда одна или несколько голов (ы) запускаются ) сбой (поскольку данные записываются чередующимися «штрихами» размером в несколько ГБ на поверхности каждого диска, размер каждой «штриховки» фиксируется для каждой модели). GabrielB 5 лет назад 0
Что касается успеха восстановления, только около 120 файлов из личных файлов владельца были повреждены, и, поскольку было много дубликатов, мне удалось восстановить около 100 из них (в некоторых случаях два дубликата были повреждены в разных местах, поэтому я мог заполнить дыры в одной с другой, используя WinHex), оставив около 20 поврежденных файлов. Отличный результат для восстановления только с помощью программного обеспечения, учитывая, что диск щелкал как сумасшедший, когда я его получил! GabrielB 5 лет назад 0
-2
Alex
  1. Вы можете сначала скопировать образ диска с помощью команды dd

    sudo dd bs = [block_size] count = [NofBlocks] if = [in_file] of = [out_file]

где

[in_file] - может быть сломанный диск, скажем / dev / sdd2

[out_file] - расположение выходного файла изображения.

  1. Смонтируйте образ и попробуйте его восстановить.
-1. Вопрос о NTFS против ext4, этот ответ не отвечает на вопрос вообще. Кроме того, `ddrescue` был создан для работы с неисправными устройствами; с `dd` вы можете использовать` conv = noerr`, но все равно `ddrescue` с его поддержкой файлов журнала и специализированными опциями - лучший выбор в этом случае. Kamil Maciorowski 6 лет назад 1
Сначала нужно создать образ, остальное не имеет значения. «ddrescue очень медленный, запись в NTFS» - очень странное утверждение, оно должно быть быстрее, поскольку пропускает плохие блоки, если только NTFS не смонтирована должным образом, сначала протестируйте ее и только потом пытайтесь восстановить на ней. Alex 6 лет назад 0
@ Алекс Хорошо, ты прочитал то, что я написал? Скорость копирования при записи * нового файла * из раздела Ext4 в раздел NTFS примерно нормальная (немного медленная, но не мучительно): я скопировал 2-е восстановление (с переключателями ddrescue и -S на этот раз для экономии места) из От Ext4 до NTFS (оба на здоровом жестком диске объемом 2 ТБ) со средней скоростью 30-40 МБ / с. Но до этого, когда я попытался * завершить * 1-й файл изображения * уже на месте * (и, вероятно, фрагментированный), с дополнительными восстановленными областями из 2-го файла изображения, скорость снизилась примерно до 0,6 МБ / с. Что в данном случае означает «неправильно смонтированный»? GabrielB 6 лет назад 0

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