В одной из прошлых статей мы говорили про файловую систему Ext4, рассмотрели её историю и опции монтирования. Теперь пришло время поговорить про форматирование раздела в Ext4.
Это довольно просто сделать даже с помощью различных графических инструментов. Но если вы хотите использовать специальные параметры файловой системы, то вам понадобится утилита mkfs. О ней мы сегодня и поговорим.
Содержание статьи
Форматирование в Ext4
Я предполагаю, что раздел, который вы хотите отформатировать в Ext4 у вас уже есть. Если его ещё нет, обратитесь к статье как пользоваться gparted или как пользоваться parted чтобы его создать.
1. Опции mke2fs
Для форматирования мы будем использовать утилиту mkfs.ext4 или mke2fs. Это одна и та же утилита. У неё такой синтаксис:
$ mkfs.ext4 опции /раздел/диска
Ей можно передавать такие опции:
- -b - размер блока. Доступные значения: 1024, 2048 и 4096;
- -c - проверить устройство на битые сектора перед созданием файловой системы;
- -d - скопировать содержимое указанной папки в корневую папку файловой системы;
- -D - использовать прямые методы чтения и записи с диска чтобы не использовать кэш память;
- -e - поведение файловой системы при ошибке. Доступные значения: continue, remount-ro, panic;
- -E - расширенные опции файловой системы;
- -F - принудительно создать файловую систему, даже если во время создания возникают ошибки или файловая система уже существует и примонтирована;
- -j - использовать журнал файловой системы ext3;
- -l - прочитать список плохих секторов на диске из файла;
- -L - задать метку для раздела с этой файловой системой;
- -m - процент блоков, зарезервированных для суперпользователя, по умолчанию 5%;
- -n - не создавать файловую систему, а только отобразить её информацию, что выводится в процессе создания;
- -O - активировать или деактивировать те или иные возможности файловой системы. Сами возможности мы рассмотрим ниже;
- -q - выводить минимум информации во время выполнения;
- -S - записать только суперблок и описание групп, таблица Inode остаётся неизменной. Это может быть полезно для восстановления повреждённой файловой системы;
- -t - тип файловой системы. Доступно: ext2, ext3, ext4;
- -U - указать UUID для раздела с файловой системой;
- -v - максимально подробный вывод;
- -V - вывести версию утилиты.
2. Возможности Ext4
С помощью опции -O можно включить такие возможности файловой системы:
- 64bit - файловая система сможет занимать место больше чем 2 в 32 степени блоков. При размере блока 4 килобайта, это примерно один терабайт;
- encrypt - включить поддержку шифрования для файловой системы;
- ext_attr - включить расширенные атрибуты;
- has_journal - использовать журнал, по умолчанию включена;
- huge_file - разрешить создавать файлы, размером больше двух терабайт;
- large_dir - увеличивает количество файлов, которые могут находится в одной папке;
- metadata_csum - включает расчёт и проверку контрольных сумм для всех метаданных файловой системы;
- meta_bg - позволяет изменять размер раздела в реальном времени, когда файловая система смонтирована и используется;
- mmp - запрещает монтирование файловой системы к нескольким точкам одновременно;
- quota - включает поддержку квот;
Здесь рассмотрены не все опции файловой системы и её возможности, а только самые интересные. Более подробнее смотрите информацию на man страницах для mkfs.ext4 и ext4.
3. Простое форматирование
А теперь давайте попробуем создать файловую систему ext4 с меткой DATA:
sudo mke2fs -t ext4 -L DATA /dev/sdb1
Здесь и далее /dev/sdb1 - это путь к вашему разделу жесткого диска, который вы хотите отформатировать. Чтобы не резервировать место для суперпользователя укажите значение 0 в опции -m:
sudo mke2fs -t ext4 -L DATA -m 0 /dev/sdb1
Для того чтобы выполнить проверку диска на наличие битых секторов используйте опцию -c или -cc для более долгой но тщательной проверки:
sudo mke2fs -t ext4 -L DATA -c /dev/sdb1
4. Включение проверки контрольных сумм
Теперь поговорим про возможности. Для включения контрольных сумм для всех метаданных используйте возможность metadata_csum:
sudo mke2fs -t ext4 -L DATA -O metadata_csum /dev/sdb1
5. Отключение журналирования
Если вы хотите отключить журналирование в файловой системе используйте значок ^ перед возможностью has_journal:
mke2fs -t ext4 -L DATA -O ^has_journal /dev/sdb1
6. Поддержка квот
Для включения поддержки квот на разделе создание файловой системы ext4 выполняется с опцией quota:
mke2fs -t ext4 -L DATA -O quota /dev/sdb1
Для управления квотами установите пакет quota:
sudo apt install quota
Файловую систему надо примонтировать с поддержкой квот:
sudo mount -o quota /dev/sdb1 /mnt
Затем нужно выполнить такую команду для инициализации файлов квот:
sudo quotacheck -um
Далее можно настроить квоты для нужного пользователя. Например:
sudo edquota sergiy
В открывшемся файле вы можете настроить квоты по блокам и inode для этого пользователя. После этого они будут автоматически применены.
7. Поддержка шифрования
Для создания файловой системы с поддержкой шифрования используйте возможность encrypt:
mke2fs -t ext4 -L DATA -O encrypt /dev/sdb1
Шифрование выполняется на уровне папок. Поэтому сначала давайте примонтируем только что созданную файловую систему, а потом создадим папку /ecrypted:
sudo mount /dev/sdb1 /mnt
sudo mkdir /mnt/ecrypted
Для настройки шифрования надо использовать утилиту fscrypt. В Ubuntu утилита устанавливается так:
sudo apt install fscrypt
Затем выполните первоначальную инициализацию:
sudo fscrypt setup
После этого инициализируйте шифрование для только что созданной файловой системы:
sudo fscrypt setup /mnt
Папка должна принадлежать пользователю, для которого вы будете её шифровать:
sudo chown sergiy:sergiy /mnt/encrypted
Чтобы зашифровать папку выполните:
fscrypt encrypt /mnt/encrypted
Утилита спросит каким образом защищать вашу папку, выберите пункт 2 чтобы ввести свой пароль. Затем введите пароль два раза:
fscrypt status /mnt/encrypted/
Выводы
В этой статье мы рассмотрели как отформатировать в Ext4 раздел диска, а также какие опции можно указать при форматировании. Мы разобрались как отключить журналирование, включить квоты или шифрование на уровне файловой системы.
mke2fs - это первоначальная утилита командной строки для форматирования в ext*? Есть ли другие утилиты командной строки для форматирования в ext*?
«Если вы хотите отключить журналирование в файловой системе используйте значок ^ перед возможностью has_journal:»
Я так понимаю, другие возможности можно также отключать?
А чем можно посмотреть полную информацию о файловой системе в образе?
Добавьте это помогло Debian 12
sudo mkfs -t ext4 /dev/sdb1
sudo mkdir /mnt/1
sudo mount -t auto /dev/sdb1 /mnt/1