Это зависит от используемой вами файловой системы. Если вы используете Linux, вы можете использовать debufs
для поиска файла в файловой системе.
Я должен сказать, что все FS монтируются через VFS, виртуальную файловую систему, которая похожа на упрощенный интерфейс с стандартные операции (открыть, закрыть, прочитать ...). Что это значит? Ни файловая система, ни ее содержимое (файлы, каталоги) не открываются непосредственно с диска, когда вы открываете что-то, вы перемещаете это в основную память (вашу оперативную память), выполняете свои операции, а когда вы закрываете что-то, оно возвращается на дисковод.
Теперь вопрос: могу ли я получить абсолютный адрес в ФС? Да, если вы откроете всю свою файловую систему, например open ("/dev/sdaX", 0_RDONLY);
, и получите адрес относительно вашей файловой системы, используя, например, lseek
в C.
И затем ... Могу ли я получить то же самое в весь диск? Нет, это потому, что вы не можете открыть весь диск как дескриптор файла. Помните /dev/sdaX
в UNIX? Разделы и их можно открывать как файлы, потому что на них запущен виртуальный интерфейс.
Ваш последний ответ: Могу ли я прочитать действительно необработанное содержимое? Все файлы читаются по мере их появления на диске, единственное, что изменяется, - это дескриптор, используемый ОС, и некоторые данные о том, как они проиндексированы, все это в виде «заголовка файла».
Надеюсь, все ваши вопросы ответил.