Существуют ли инструменты командной строки для определения типа файловой системы на блочном устройстве перед его монтированием?и как это достигается?
Я считаю, что это возможно, так как я обычно монтирую внешние диски с
$ mount /dev/sdXX /mnt
mount
автоматически определяет файловую систему для вас. современные инструменты GUI даже проверяют использование диска и другую информацию, не монтируя файловую систему, если драйвер для этого fs присутствует.
сценарий здесь таков
- тип раздела и тип файловой системы могут не совпадать.
- большинство файловых систем linux используют тип раздела "83", который не предоставляет много информации о fs, которые она содержит.
- соответствующий диск может отсутствовать, отсутствуют xfsprogs, hfsprogs и т. д.
когда происходит сбой автоматической установки с произвольным разделом или образом диска, попробуйте каждый кандидат типа fs просто невозможно, пока не найдете подходящий. или что если файловая система повреждена. Вы не можете диагностировать его с помощью инструмента назначения, так как его тип fs неизвестен.
Я думаю, что суперблок - это место, где большинство файловых систем хранит свой идентификатор. но разные фс пишут суперблок в разных местах.
Достаточно ли необработанного дампа данных XXX байтов в начале, чтобы определить тип fs? Есть ли стандарт, где и в каком формате хранить такую информацию?
Любое понимание этого вопроса высоко ценится.
= - =
Обновить:
Спасибо за ответ Филага.
так что обычный file
подход на самом деле лучший.
моя проблема была просто в том, что я столкнулся со странной файловой системой, чей вывод file
довольно бесполезен.
более глубокое изучение документации file
(возможно, системные вызовы, которые он использует) должно помочь мне лучше понять эту проблему.