Во-первых, ситуация: у меня есть компьютер Linux с двумя отсеками для дисководов eSATA, которые принимают съемные SSD-диски. Я пытаюсь написать небольшое приложение с графическим интерфейсом, которое облегчает пользователю монтирование / размонтирование / форматирование / резервное копирование / и т.д. дисков, которые он вставляет в эти отсеки.
Все это в основном работает. Одна небольшая проблема, однако, заключается в том, что я не знаю, как узнать какую-либо информацию о том, что находится на вставленных дисках, до тех пор, пока диски не будут успешно смонтированы.
Так, например, если пользователь вставляет диск, который я не могу смонтировать (например, из-за того, что он не отформатирован или отформатирован с использованием неожиданной файловой системы), все мое приложение может сказать об этом: «Не удалось смонтировать диск».
Это не очень удовлетворительно, потому что если диск не отформатирован, пользователь, вероятно, захочет отформатировать его ... но если диск содержит данные из нераспознанной файловой системы, пользователь, вероятно, НЕ захочет отформатировать его .... или по крайней мере, я хочу предупредить его, что таким образом он сотрет потенциально ценные данные.
Итак, мой вопрос: существует ли какой-либо метод для запроса некоторой базовой информации (особенно типа файловой системы) с диска, который не требует, чтобы диск уже был смонтирован? Или мне просто нужно попытаться смонтировать его с различными известными файловыми системами, пока одна из попыток монтирования не удастся, и дать неопределенное сообщение «будьте осторожны», если ни одна из них не делает?
В случае, если это имеет значение, пути, которые я использую для установки дисков в отсеки для дисков:
/dev/disk/by-path/pci-0000:00:1f.2-scsi-2:0:0:0
/dev/disk/by-path/pci-0000:00:1f.2-scsi-1:0:0:0