У меня есть старый жесткий диск SATA ноутбука с поврежденными секторами, с которого я пытаюсь восстановить данные.

Я подключил его к адаптеру SATA-to-USB, и я могу смонтировать и просмотреть его из Ubuntu 16.

Конкретные данные, которые я пытаюсь восстановить, - это база данных PostgreSQL, в частности, все, что находится в каталоге данных в /var/lib/postgresql/9.5/main . На моем локальном компьютере установлена одна и та же версия сервера, поэтому я пытаюсь скопировать ее в тот же каталог на локальном хосте. Я просто копирую и вставляю через Nautilus, и это делается примерно наполовину, а затем зависает при "копировании файла 6104 из 8324 файлов" без ошибок. Я прерывал и пытался несколько раз, и он зависает в одном и том же месте. Он пытается скопировать около 40 ГБ, и в диалоговом окне предполагается, что это займет 10 минут, но я оставил его включенным на ночь, и даже через 8 часов он все еще висел на том же месте.

Странно то, что когда начинается зависание, мой процессор и всплеск памяти и индикатор активности на конвертере SATA-to-USB гаснут, показывая, что передача остановлена, но мой локальный хост все еще что-то делает. Поэтому я не уверен, зависло ли это из-за сбоя чтения на диске SATA или какой-то странной проблемы с обменом / кэшированием больших файлов на моем локальном хосте.

Как исправить или обойти эту проблему, даже если это связано с повреждением диска SATA? Есть ли какая-нибудь команда Linux для копирования, которая будет превышать время ожидания и пропускать сбои вместо того, чтобы бесконечно долго ждать завершения чтения? Если он зависает при попытке прочитать определенный файл в каталоге данных, я бы предпочел пропустить это, чтобы я мог скопировать все остальное, а затем потерпеть неудачу со всей копией. Это может повредить часть сервера, но сервер содержит несколько баз данных, так что это может быть часть, которая меня не волнует.

0