Я решил изменить строку:
vol_type=static
на
vol_type=dynamic
Отсюда: http://www.linux-mtd.infradead.org/faq/ubi.html#L_dyn_faster
What works listing blocks on all disks independent from file systems? (low-level). And what works with FAT and NTFS?
Номер LBA и обнаружение плохих блоков полностью не зависят от файловой системы. Поиск файлов полностью зависит от файловой системы. Не ожидайте, что один инструмент будет работать для всех файловых систем.
Вы можете использовать badblocks
для поиска сбойных блоков, вы можете использовать smartctl
для получения LBA (с )перераспределенных блоков или сбойных блоков, обнаруженных микропрограммой жесткого диска, и вы можете использовать fdisk
и т. д., если вы хотите вычислить между разделами -относительные числа (, если вы это сделали, например badblocks /dev/sda1
и LBA.
Как упоминалось в другом ответе, вы можете найти затронутые файлы для ext2/ext3/ext3 с помощью debugfs
.
Вы можете использовать fibmap ioctl , чтобы найти LBA n -го блока данного файла для всех файловых систем, но если вы хотите найти файл для данного LBA, это наверное не практично. Также есть filefrag
, который, вероятно, использует этот ioctl.
Я уверен, что существуют криминалистические инструменты для FAT (и, возможно, даже для NTFS ), которые находят файл для заданного номера блока, но я не мог назвать ни одного навскидку.
Редактировать
Поиск в Google находит fatcat для криминалистического анализа файловых систем FAT; кажется с помощью -L
можно получить файл для конкретного кластера (, который можно вычислить из LBA ). У меня нет опыта работы с этой программой. Погуглив больше, вы, вероятно, найдете больше таких программ.
Используйте debugfs на ext2/3/4. Сначала найдите индекс на основе блока:
debugfs -D -R "icheck $sda3block4096" /dev/sda3
затем используйте этот номер инода для запроса файла:
debugfs -D -R "ncheck $inode" /dev/sda3
Если вы скопировали данные с неисправного диска с помощью ddrescue
, используйте ddrutility
, который был создан именно для этой цели.
Мне удалось получить список уязвимых файлов NTFS с помощью файла карты ddrescue
менее чем за 20 секунд.
Он записывает свой файл журнала в текущий каталог.
На связанной странице упоминается поддержка NTFS, ext3 и ext4.
btrfs имеет собственную встроенную -в scrub
функцию.