Необязательно: отфильтруйте восстановленные файлы.

Необязательно: отфильтруйте восстановленные файлы.

Я допустил ошибку, пытаясь измерить скорость записи на SD-карту с важными файлами.

sync; sudo dd if=/dev/zero of=/dev/sdb1 bs=1M count=1024; sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 23.5386 s, 45.6 MB/s
^C

Я понял, что я пишу напрямую в /dev/sdb1, а не в файл внутри смонтированной карты, поэтому, опасаясь перезаписать данные, я отменил его сразу после того, как тест, казалось бы, закончился (но это не так). Теперь он монтируется автоматически, но ничего не показывает (невозможно щелкнуть по нему в проводнике, а gparted показывает его только как неизвестную карту exfat).

Что я могу сделать?

решение1

Есть много приложений для восстановления, лично я нахожу это photorecи foremostработаю лучше всего. Photorec является частью пакета testdisk, foremost можно установить из foremostпакета.

а) Фотозапись

Просто запустите $ photorec /dev/sdbсейчас, чтобы открыть интерактивный интерфейс photorec.

Нажмите клавишу Enter ( [Proceed]), чтобы выбрать диск. На следующем экране вам будет предложено выбрать раздел. Если photorec найдет правильные разделы, вы можете выбрать тот, из которого хотите восстановить файлы. Если разделы не будут обнаружены должным образом, просто выберите No partition [Whole disk]и снова нажмите клавишу Enter, чтобы выполнить [Search]. После выбора типа файловой системы на следующем экране вам необходимо выбрать каталог, в котором будут сохранены восстановленные файлы. Подтвердите, нажав C.

б) Прежде всего

В то время как photorec работает, пытаясь найти «блоки данных» на диске и носителе, используянапильник резьба, foremost делает это немного по-другому. Он по-прежнему использует концепцию вырезания файлов, но игнорирует тип базовой файловой системы и работает напрямую, копируя сегменты диска в вашу оперативную память, которая затем сканируется на предмет типов заголовков файлов. Foremost поставляется с большим количеством встроенных заголовков для восстановления большинства типов распространенных файлов, если вы хотите добавить пользовательские заголовки/нижние колонтитулы для обнаружения менее распространенных типов файлов, foremost предлагает вам эту возможность.

Чтобы запустить foremost с параметрами образа по умолчанию, выполните следующую команду:

$ foremost -i /dev/sdb -v

Вы можете использовать /dev/sdb1этот метод, если хотите восстановить файлы только с этого раздела.

Это сохранит все восстановленные файлы в output(новый каталог, который forever будет создан). Вы можете указать другой выходной каталог с помощью флага -o, а также -aигнорировать ошибки/сохранять поврежденные файлы.

Необязательно: отфильтруйте восстановленные файлы.

Это необязательно, но иногда вас интересуют только определенные типы файлов, или даже хуже: инструменты восстановления выдают вам миллион файлов, из которых тысячи кажутся, например, файлом JPEG, но на самом деле это просто поврежденный файл, а не изображение вообще. Чтобы отфильтровать их, вы можете использоватьэтотответ, который я дал на другой вопрос на SuperUser.


Как можно предотвратить это в будущем?

Я вижу, как люди слишком часто портят свои данные dd. Это слишком просто. Моя рекомендация:

#!/bin/bash
read -r -p "Have you checked at least TWICE if the parameters are correct? [y/N] " response
response=${response,,}
if [[ "$response" =~ ^(yes|y)$ ]]; then
    dd "$@"
else
    echo "Better be safe than sorry."
fi

Сохраните это как /usr/bin/sddили как хотите. chmod +xего потом. С этого момента всегда используйте sddвместо dd.

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