Введение
Конфигурирование блочных устройств и создание разделов — рутинная задача администратора Linux. Классический инструмент fdisk эффективен, однако требует ввода команд вручную и легко прощает фатальные ошибки новичков. Намного удобнее использовать cfdisk: благодаря наглядному псевдографическому интерфейсу (TUI на базе curses) процесс разбивки диска становится предсказуемым и безопасным. В этом практическом руководстве мы подробно разберем ключевые возможности cfdisk, развернем изолированную тестовую среду на виртуальном диске, разобьем его на разделы, создадим файловую систему и выполним монтирование.
Установка утилиты cfdisk и диагностика дисковой подсистемы
Для подготовки рабочего окружения и получения пакета cfdisk вместе со вспомогательными дисковыми утилитами выполним обновление индексов и инсталляцию пакетов через команду apt-get update -qq && apt-get install -y util-linux parted.

Утилита cfdisk существенно снижает вероятность случайного удаления данных при манипуляциях с разделами благодаря интерактивному экрану навигации.
Работоспособность и установленную сборку программы проверяем вызовом cfdisk --version.
⚙️ [Ключевые параметры командной строки]
-z, --zero : инициализирует чистую таблицу разделов, полностью игнорируя существующие структуры на накопителе.-L, --lock[=mode] : блокирует устройство на время операций, исключая конфликты с параллельными процессами ОС.--color[=when] : настраивает подсветку синтаксиса и элементов управления в терминале.-V, --version : выводит текущий номер версии утилиты.-h, --help : отображает краткую справку по доступным аргументам.

Прежде чем приступать к разметке, необходимо детально изучить текущую конфигурацию дисков и смонтированных файловых систем. Запустим инспекцию командой lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS.
Сверка имен накопителей, точек монтирования и типов разделов позволяет гарантировать сохранность системных томов и безошибочно определить целевой накопитель для работы.

Создание виртуального накопителя для безопасных экспериментов
Чтобы не подвергать риску рабочие диски сервера, организуем изолированную песочницу. Подготовим отдельный каталог и перейдем в него с помощью mkdir -p /tmp/disk-lab && cd /tmp/disk-lab.

Сформируем файл-образ емкостью 1 ГБ, который будет эмулировать физический жесткий диск. Для генерации нулевого массива выполним dd if=/dev/zero of=/tmp/disk-lab/virtual_disk.img bs=1M count=1024 status=progress.

Убедимся, что полученный файл виртуального накопителя имеет корректный размер ровно в 1 ГБ, запросив его атрибуты командой ls -lh /tmp/disk-lab/virtual_disk.img.

Изучение параметров cfdisk и создание таблицы разделов
Полный перечень поддерживаемых ключей и синтаксических конструкций программы можно в любой момент просмотреть с помощью cfdisk --help.

Создадим на нашем виртуальном диске современную таблицу разделов GPT и нарежем два раздела одинакового объема с помощью утилиты parted: parted -s /tmp/disk-lab/virtual_disk.img mklabel gpt mkpart primary ext4 1MiB 500MiB mkpart primary ext4 500MiB 100%.

Проверим корректность вызова cfdisk в связке с опцией -z, заставляющей игнорировать старую разметку образа: cfdisk -z /tmp/disk-lab/virtual_disk.img --help || true.

Сверим итоговую структуру созданных разделов внутри файла-образа, выполнив контрольный вывод parted /tmp/disk-lab/virtual_disk.img print.
В отчете наглядно отображаются созданная разметка GPT и два выделенных блока объемом приблизительно по 500 МБ каждый.

Подключение loop-устройства, форматирование и монтирование
Для создания файловых систем семейства ext4 нам потребуется инструментарий пакета e2fsprogs. Установим его командой apt-get install -y e2fsprogs.

Чтобы ядро Linux распознало разделы внутри файла-образа как полноценные блочные устройства, сопоставим файл со свободным loop-интерфейсом: LOOP_DEV=$(losetup --find --show -P /tmp/disk-lab/virtual_disk.img) && echo "Connected to: $LOOP_DEV".
После выполнения команды виртуальный диск оказывается ассоциирован с системным узлом /dev/loop0.

Проверим, как ОС видит подключенный виртуальный накопитель и его дочерние разделы, выполнив lsblk ${LOOP_DEV}.
В выводе четко фиксируются узлы loop0p1 и loop0p2, готовые к дальнейшим операциям форматирования.

Инициализируем на первом разделе файловую систему ext4 с помощью команды mkfs.ext4 -F ${LOOP_DEV}p1.
Эта процедура развернет метаданные файловой системы, таблицы дескрипторов (inodes) и подготовит том к размещению файлов.

Подготовим каталог для монтирования и подключим наш отформатированный раздел командой mkdir -p /mnt/virtual_disk && mount ${LOOP_DEV}p1 /mnt/virtual_disk.

Финальный этап проверки — контроль доступного дискового пространства и статуса точки монтирования через df -h /mnt/virtual_disk.
Полученный вывод подтверждает, что том смонтирован штатно, имеет ожидаемый объем и полностью готов к эксплуатации.

Мы рассмотрели практический сценарий работы с утилитой cfdisk, которая выгодно отличается от fdisk наглядностью и удобством меню. Используйте этот инструмент для быстрой, прозрачной и безопасной разметки дисковых накопителей в Linux.