Как восстановить жесткий диск, не теряя файлы?

Как восстановить жесткий диск, не теряя файлы?

Короче говоря. У меня проблемы с доступом к файлам на моем жестком диске. Я также предполагаю, что это не аппаратная проблема (она больше на "программном уровне"). Я хотел бы узнать, есть ли способы (команды Linux, инструменты Linux), которые могут помочь контролировать жесткий диск и обнаружить проблему. Вот более подробное описание того, что произошло.

У меня есть жесткий диск Verbatim с большим количеством файлов. Сегодня я попробовал использовать его под Ubuntu. В файловом браузере я увидел папку Verbatim и попытался ее открыть. В результате я увидел часы, указывающие на то, что процесс запущен и ему нужно больше времени. Я помедлил около минуты, увидел ту же самую картину (все еще запущен, папка не открыта) и попытался сделать то же самое в терминале. Я обычно cdзаходил в папку Verbatim, затем, находясь в папке, выполнял ls -ltr. В результате я ничего не получал. Я пытался отменить команду с помощью Ctrl C, это не сработало, поэтому я просто закрыл терминал. Затем на панели я попытался ejectили unmountустройство (не помню, как оно называется) и Ubuntu написала мне, что устройство занято выполнением ls(или что-то в этом роде) команды. Я все равно отключил устройство.

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

Затем я отключил устройство и снова вставил его. Все еще была возможность сканирования. Сканирование можно было выполнить двумя способами: (1) обнаружить ошибки и исправить их автоматически и (2) обнаружить отсутствующие файлы и попытаться восстановить их. Первый вариант был отмечен по умолчанию (предыдущее (отмененное) сканирование я запускал таким образом). На этот раз я также отметил второй вариант (так что оба варианта были отмечены) и снова запустил сканирование. Оно снова было слишком медленным, без отображения какого-либо прогресса, поэтому я снова его отменил.

Затем я запустил сканирование с первой отмеченной опцией (найти ошибки и исправить их автоматически) и дал ему достаточно времени. Примерно через 20-30 минут все было готово. В результате я получил сообщение о том, что некоторые папки недоступны и были удалены навсегда. После этого я смог использовать устройство (входить в папки и подпапки и видеть файлы).

Затем я снова попробовал устройство под Ubuntu. Ubuntu потребовалось около минуты, чтобы распознать устройство (это слишком долго). Затем у меня возникла та же проблема (я не мог видеть папки, расположенные на жестком диске). Это означает, что я вижу папку на жестком диске, я могу зайти в эту папку, но я не мог увидеть, какие файлы там находятся.

Затем я подключил устройство к машине с Windows, и она не смогла распознать устройство (вообще его не видит). Я предполагаю, что на Ubuntu я сделал unmount (или что-то в этом роде) и в этом я заблокировал жесткий диск (так что он не виден машине с Windows). Однако я не уверен в этом предположении. Вероятно, устройство каким-то образом сломалось.

Может ли кто-нибудь мне помочь с этим, так как на устройстве хранятся все мои семейные фотографии за последние 7 лет.

решение1

Сначала вам следует выяснить тип файловой системы, используемой на этом диске. Скорее всего, это FAT32. Это можно сделать с помощью команды fdisk:

fdisk -l

Это вернет список устройств, и в каждой строке будет «Тип», который покажет файловую систему:

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 219353087 219351040 104.6G 83 Linux
/dev/sda2       219355134 234440703  15085570   7.2G  5 Extended
/dev/sda5       219355136 234440703  15085568   7.2G 82 Linux swap / Solaris

Если у вас есть другой диск, который равен или больше неисправного диска, то, по моему опыту, самый простой способ попытаться восстановиться — использовать инструмент под названием dd-rescue. Более подробную информацию можно найти здесь:dd-спасение

Вы также можете вручную использовать dd, чтобы создать образ всего диска в файл. Если жесткий диск большой, это может занять очень много времени. Вам также нужно будет убедиться, что у вас достаточно места на диске, на котором вы планируете создать резервную копию, а также убедиться, что используемая файловая система поддерживает файлы достаточно большого размера, чтобы вместить размер всего диска.

Вот пример того, как это можно сделать вручную:

dd bs=4k if=/dev/sda of=/path/to/backup.img conv=noerror,sync 

В приведенной выше команде /dev/sda — это поврежденный диск, а backup.img — это файл, который будет содержать содержимое всего диска в качестве резервной копии. Более подробную информацию об этой команде можно найти здесь:

восстановить-данные-с-мертвого-жесткого-диска-с-помощью-dd

Возможно, лучше использовать аргумент меньшего размера блока, чтобы рисковать потерей меньше данных при возникновении ошибок. Например, «bs=1024», однако это приведет к тому, что операция займет еще больше времени.

Очень сложно определить, действительно ли жесткий диск выходит из строя, если только на нем не включены такие функции, как SMART. Возможно, что ваш диск не выходит из строя, а проблема связана с повреждением файловой системы.

К сожалению, я не знаю другого способа реалистично определить, насколько поврежден жесткий диск, кроме таких функций, как SMART, которые обычно контролируются BIOS.

После того, как вы определили тип файловой системы, используемой на этом диске, вы можете попытаться восстановить файловую систему в Linux, как вы это делали ранее в Windows, с помощью команды fsck: (убедитесь, что вы используете fsck, соответствующий типу вашей файловой системы.

fsck.vfat /dev/sdb1

Следует отметить, что Linux не всегда хорошо справляется с восстановлением разделов ntfs или fat, поэтому не стоит пытаться это делать, пока вы не проверите резервную копию. На самом деле, я бы рекомендовал вам выполнить попытку восстановления на резервном образе. Инструкции по выполнению fsck на резервном файле можно найти здесь:монтирование-файла-раздела-raw-созданного-с-помощью-dd

В зависимости от того, как была смонтирована файловая система, команда ls действительно может повредить файловую систему, если она изменяет метаданные файла или каталога; в частности, обновляя время доступа. Отключение диска во время записи чего-либо приведет к ошибкам в файловой системе, особенно в файловых системах, которые не имеют хороших функций журналирования (например, FAT32). Эти ошибки обычно можно исправить с помощью fsck.

Мне очень жаль, что вы оказались в столь шатком положении, и я надеюсь, что вы сможете восстановить эти файлы.

решение2

Вернитесь в свою систему Linux.

Откройте терминал root и введите tail -f /var/log/kern.log, разверните это окно.

Подключите жесткий диск.

Если у вас возникли проблемы с оборудованием накопителя, они будут отображены здесь. Если проблема с подключением USB, вы получите сообщения типа «Невозможно перечислить устройство» или что-то подобное. Если у накопителя возникли проблемы с носителем, вы получите сообщения о плохих блоках.

Если у вас возникла ошибка подключения USB, возможно, проблема связана с кабелем USB, разъемом или адаптером USB-SATA, который находится в корпусе жесткого диска (сломаны контакты, разъем отходит от платы и т. д.)

Если ваша модель внешнего жесткого диска не имеет функций шифрования на плате USB, вы можете извлечь диск из корпуса, напрямую подключить его к ПК и работать с ним как с любым внутренним диском. Если у него есть шифрование, вам действительно нужно заставить эту плату работать, и следует попытаться найти кого-то, кто хорош в электронике/пайке, чтобы заменить разъем USB или припаять кабель непосредственно к контактам на плате (которые, надеюсь, не оторваны). Жесткий диск все равно будет работать на другой системе, но вы не сможете получить свои данные.

Пример платы USB, которая будет находиться внутри корпуса:

введите описание изображения здесь

После того, как вы устранили все проблемы с оборудованием, вы можете попробовать запустить Testdisk, чтобы посмотреть, что он может восстановить. Вы можете установить его с apt-getroot-терминала в Ubuntu или загрузить и запуститьверсия для Windows. Подготовьте еще один диск для копирования файлов ив следующий раз сделайте резервную копию своих данных.

Удачи.

решение3

Невозможно восстановить неисправный жесткий диск без риска потери файлов. В зависимости от того, насколько ценны для вас данные на диске, профессиональная служба восстановления данных может быть лучшим вариантом. Я считаю, что эти услуги начинаются примерно с 500 долларов и растут, иногда значительно, в зависимости от того, сколько усилий требуется для восстановления данных. Даже лучшая служба восстановления данных может не восстановить все ваши данные, но у нее гораздо больше шансов на это, чем у всего, что вы могли бы сделать самостоятельно.

Я бы рекомендовал вам изучитьУслуги по восстановлению данных SeagateЧтобы получить больше информации.

Я уверен, что это не то, что вы хотите услышать, но профессиональное восстановление данных может открыть диск и выполнить другие процедуры, которые просто невозможно выполнить самостоятельно. Восстановление данных требует опыта, специализированного программного обеспечения и инструментов, деталей жесткого диска и должно выполняться в чистой комнате. Это невозможно сделать дома.

решение4

Пробовали ли вы выполнить полную проверку диска вручную в Windows?

Если открыть cmd и ввести chkdsk /?, будут выведены все возможные варианты.

Для раздела NTFS можно выполнить chkdsk /F /R /B /X, что обеспечивает наиболее полную проверку. Для FAT32 опустите /B.

Имейте в виду, что это займет много времени в зависимости от вашего жесткого диска. Но это может быть возможностью спасти некоторые данные.

Связанный контент