Что вы хотите также требует административного доступа. Если вы попытаетесь прочитать или записать файлы необработанных блочных устройств /dev/sd*
или /dev/hd*
в системах Linux, или их эквиваленты в других системах Unix, или использовать необработанные вызовы Windows API для чтения блочных устройств, вы неизменно обнаружите, что они требуют административные привилегии. (CAP_SYS_RAWIO
в Linux.)
Кроме того, если в настоящий момент смонтировано блочное устройство, прочитанные вами данные, описывающие структуру файловой системы, могут измениться из-под вас, что делает этот подход невероятно ненадежным для подключенных дисков.
Если вы хотите продолжить это, я настоятельно рекомендую посмотреть на инструмент отладки debugfs(8)
ext2, ext3, ext4. Он полностью реализует семейство файловых систем ext * в пользовательском пространстве и позволяет работать с блочными устройствами на необработанном уровне.