в виде показателя степени на
(
block) или, в терминологии MS-DOS/Windows, кластера. Размер задается в виде показателя степени на которую сдвигается размер одного сектора, равный 200h (512) байт. В переводе на программистский язык это звучит так:
block_size = 200h << s_log_block_size (байт). Например, если s_log_block_size
равен нулю, размер одного блока будет 400h байт, то есть два сектора.
смещение размер описание
------- ------- -----------
0 1 boot record ; загрузочный сектор
-- block group 0 -- ; группа блоков 0
(1024 bytes) 1 superblock ; суперблок
2 1 group descriptors ; дескриптор группы
3 1 block bitmap ; карта свободных блоков
4 1 inode bitmap ; карта свободных inode
5 214 inode table ; массив inode (сведения о файлах)
219 7974 data blocks ; блоки данных (файлы, директории)
-- block group 1 -- ; группа блоков 1
8193 1 superblock backup ; копия
суперблока
8194 1 group descriptors backup ; копия
дескрпиора группы
8195 1 block bitmap ; карта свободных блоков
8196 1 inode bitmap ; карта свободных inode
8197 214 inode table ; массив inode (сведения о файлах)
8408 7974 data blocks ; блоки данных (файлы, директории)
-- block group 2 -- ; группа блоков 2
16385 1 block bitmap ; карта свободных блоков
16386 1 inode bitmap ; карта свободных inode
16387 214 inode table ; массив inode (сведения о файлах)
16601 3879 data blocks ; блоки данных (файлы, директории)
Листинг 1 структура дискового тома, размеченного под ext2fs
За супер-блоком идут так называемые
дескрипторы групп (
group descriptors), и
карты свободного пространства, в просторечии — битмапы (
block bitmap/inode bitmap), которые нам малоинтересны, а вот примыкающую к ним indoe-таблицу, мы рассмотрим поподробнее, поскольку без знания ее структуры ручное восстановление данных просто немыслимо.
Содержание Назад Вперед