![Как расширить файловую систему ext3/ext4 с помощью debugfs?](https://rvso.com/image/170272/%D0%9A%D0%B0%D0%BA%20%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B8%D1%82%D1%8C%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%83%D1%8E%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%83%20ext3%2Fext4%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20debugfs%3F.png)
Я нахожусь в ситуации, когда мне нужно увеличить размер файловой системы ext4 по умолчанию, используемой прошивкой.
Проблема в том, resize2fs
что приходится выполнять дополнительные действия, например, очищать некоторые функции файловой системы и перемещать журнал в начало раздела устройства (в результате мое устройство постоянно зависает до того, как что-либо смонтировать, и поскольку я не знаю, как получить доступ к консоли ядра до adb
ее запуска, я понятия не имею, как получить к ней доступ или настроить console=
параметры ядра для вывода консоли на дисплей устройства).
Так как это для увеличения, обычно не требуется никакого перемещения. Так как использовать debugfs
для изменения размера вместе с (возможно, если нужно) количеством свободных inodes? Я имею в виду, какое поле set_super_value
мне следует задать и какие числа выбрать?
Важнее,как установить контрольные суммы дескриптора группы?
решение1
Если только ваша файловая система не очень мала (< 128 МБ), то вы не можете просто изменить целое число в суперблоке, чтобы изменить размер файловой системы. Существуют другие структуры метаданных, которые необходимо обновить, чтобы файловая система стала полезной. Тем не менее, вымощьиметь возможность обновить поле s_blocks_count в суперблоке с помощью команды debugfs "set_super_value" (ssv), а затем запустить e2fsck, чтобы попытаться самостоятельно восстановить отсутствующие метаданные.
Возможность сделать это во многом зависит от того, насколько сильно вы изменяете размер файловой системы, и была ли включена функция "resize_inode" во время форматирования файловой системы. В противном случае отсутствующие метаданные, которые перестраивает e2fsck, могут перекрываться с другим важным содержимым файловой системы и вызывать некоторые другие проблемы.
Лучший способ проверить, работает ли это, — создать образ всей файловой системы и протестировать его.