Восстановление данных с накопителя
Т.к. с образа восстанавливать данные будет быстрее, чем directly с флешки, нужно снять образ. Стоит пробовать и dd, и ddrescue (сам пакет называется gddrescue), особенно, если на флешке повреждены разделы.
Снятие образа
Узнай название устройства:
Bash
lsblk
dd
:Bash
sudo dd if=/dev/sdb1 of=/path/to/flash.img bs=512 status=progress
Если возникают ошибки "input/output error" при снятии образа - стоит:
1. Поиграться со значением bs (block size), выставив значение больше или меньше
Лично в моем случае, снятие образа с
bs=4M
не сработало, а с bs=512
сработало.2. Стоить plug/unplug флешку или попробовать другие USB гнезда.
Можно также попробовать ddrescue, который пытается читать данные в несколько проходов:
Bash
sudo ddrescue /dev/sdc1 flash.img ddrescue.log
Восстановление данных с
Осталось восстановить данные с образа с помощью testdisk или photorec. Там всё интерактивно и все кнопки для управления описаны.
Bash
testdisk sandisk32.img
# или
photorec sandisk32.img
Соус: Восстанавливаем в Linux информацию с «убитой» флешки