В c, как бы найти каталог на виртуальном диске? Я могу легко восстановить абсолютный путь и перетащить его в название каталога, который я ищу (т. Е. Поворот/x/y/z только в z). Я знаю, что корень inode 2, и я знаю, как добраться до некоторых частей файловой системы (суперблока, дескриптора блока, таблицы inode, битмапа bg_block/inode), но я не знаю, как пройти все данные на изображении ,c - Как найти inode каталога в виртуальном образе ext2 (.img), заданном абсолютным путем?
У этого изображения только одна группа блоков, для чего это стоит. Размер и размер блока Inode устанавливаются в их собственные предопределенные переменные в заголовке (EXT2_BLOCK_SIZE и s_inode_size в суперблоке).
Вы можете использовать [guestfs_lstatns из libguestfs] (http://libguestfs.org/guestfs.3.html#guestfs_lstatns). Или вы хотите что-то более низкое? –
Вы можете смонтировать файловую систему, а затем сделать «stat» в файле, чтобы найти его inode, но я считаю, что это не то, что вы хотите. – fuz