1

Я попытался просмотреть суперблок командой "dd" в файловой системе ext3.

dd if=/dev/sda3 bs=4096 skip=1 count=1 of=superblock

Но результат в файле суперблока неверный (я сравниваю значение числа Inodes, которое я получил от dumpe2fs). Файл устройства /dev /sda3 запускается в загрузочном блоке, а затем в суперблоке группы 0? И еще один вопрос: размер блока загрузки и размер суперблока имеют размер BLOCKSIZE (здесь 4096)? Формат диска ext2 /ext3 (я думаю, что они одинаковы) показаны ниже:

альтернативный текст

2 ответа2

2

Загрузочный блок файловой системы ext2/ext3 имеет длину 1024 байта, а не 4096. использование

  $ sudo tune2fs -l /dev/sda3

видеть параметры файловой системы как размер блока, и

  $ sudo dumpe2fs -hx /dev/sda3

чтобы получить суперблок. Также

  $ sudo dd if=/dev/sda3 bs=1k skip=1 count=4

получит суперблок.

0

Спасибо за ответ dtmilano. Я уже попробовал это, прежде чем задавать вопрос. Но я думаю, что результат неправильный. Проблема в том, что я забываю конвертировать немного порядка байтов

Ниже я запишу мои шаги для вашей справки:

$ sudo dd if =/dev/sda3 bs = 1k skip = 1 count = 4

Первая строка в суперблоке: 0000000: 0000 3a04 fdc4 3904 a616 3600 45f6 fc00 ..: ... 9 ... 6.E ...

Таким образом, согласно декларации struct ext3_super_block в ext3_fs.h:/ 00/ __le32 s_inodes_count; / * Количество инодов / __le32 s_blocks_count; / Количество блоков * /

Количество инодов 043a0000 = 70909952 (0000 3a04 следует преобразовать в 043a0000) Количество блоков 0439c4fd = 70894845

Это то же самое, что и вывод dumpe2fs: Количество узлов: 70909952 Количество блоков: 70894845

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .