Каков наиболее эффективный способ поиска допустимых (в файловой системе) суперблоков на блочном устройстве?

У меня есть блочное устройство, содержащее некую допустимую файловую систему (включая основной и резервный суперблоки) с неизвестным смещением и неизвестным размером блока. В моем случае я знаю, что это файловая система ext4 с блоками по 4 КБ, но я надеюсь найти решение, которое будет работать для любой файловой системы, поддерживаемой ОС. Каков наиболее эффективный способ найти его смещение?

Мой текущий план состоит в том, чтобы запускать fsck для каждого смещения байта до тех пор, пока он не завершится успешно. Очевидно, что это ресурсоемко и медленно, но мне еще предстоит найти или придумать лучший инструмент или метод для достижения этой цели.

1
22.06.2020, 01:46
1 ответ

Для этого можно использовать gpart . Предполагается найти разделы, и, возможно, у вас их никогда не было, но подход тот же. Вы можете восстановить раздел, который никогда не существовал. Это даст вам позицию файловой системы. После этого вы можете удалить таблицу разделов.

0
18.03.2021, 23:25

Теги

Похожие вопросы