Прежде чем диск начнёт хранить данные, его надо разметить и подготовить. Администратор постоянно сталкивается с этим: подключили новый диск в сервере или облаке, надо нарезать разделы, выбрать схему таблицы, создать файловую систему и не забыть про swap. В этом уроке разберём две схемы таблиц разделов (MBR и GPT), инструменты разметки (fdisk, gdisk, parted, cfdisk), создание ФС (ext4, XFS, vfat, swap), коротко глянем на Btrfs с её подтомами и снапшотами, и научимся опознавать устройства через lsblk и blkid. Отдельно про выравнивание - тему, на которой режутся даже опытные.

Как это работает
Таблица разделов - это маленькая структура в начале диска, которая говорит ядру, на какие куски диск поделён. Историческая схема MBR (она же msdos) живёт в первом секторе, поддерживает максимум 4 первичных раздела и диски до 2 ТиБ. Чтобы получить больше четырёх разделов, один делают расширенным (extended), а внутри него создают логические. Это легаси, но оно всё ещё встречается на старых и совместимых системах.
GPT - современная схема. Она хранит таблицу в начале и дублирует её в конце диска, поддерживает диски сильно больше 2 ТиБ и до 128 разделов по умолчанию. Каждый раздел и сам диск имеют свой GUID. На любой машине с UEFI вы используете GPT, и в 2026 это выбор по умолчанию практически везде. MBR оставляем только там, где железо или гипервизор требует BIOS-загрузки.
Файловая система - это уже способ организации данных внутри раздела: где каталоги, где inode, где журнал. Раздел без ФС - просто сырое пространство. Команды семейства mkfs создают эту структуру. Важно понимать: разметка диска и создание ФС - два разных шага, и mkfs стирает всё, что было в разделе.
Выравнивание (alignment) - про то, чтобы начало раздела совпадало с физическими границами носителя. У современных дисков физический сектор 4 КиБ (Advanced Format), а у SSD есть страницы и блоки стирания. Если раздел начинается не на границе, каждая запись задевает два физических блока вместо одного - падает скорость и растёт износ SSD. Современные инструменты по умолчанию выравнивают разделы на 1 МиБ (сектор 2048), и это правильное поведение, которое не надо ломать руками.
Команды и примеры
Сначала посмотрим, что вообще есть в системе. lsblk показывает дерево блочных устройств, blkid - метки и UUID с типами ФС.
Код: Выделить всё
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,UUID
sudo blkid
sudo blkid /dev/sda1
Код: Выделить всё
sudo apt install fdisk gdisk parted dosfstools xfsprogs btrfs-progs
Код: Выделить всё
sudo dnf install util-linux gdisk parted dosfstools xfsprogs btrfs-progs
Код: Выделить всё
sudo fdisk /dev/sdb
# g - новая таблица GPT (o - старая MBR)
# n - новый раздел, Enter на дефолтных границах (выравнивание на 2048)
# t - сменить тип (например 19 - Linux swap, 1 - EFI System)
# p - показать таблицу
# w - записать и выйти
parted работает и в интерактиве, и одной строкой - удобно для скриптов:
Код: Выделить всё
sudo parted /dev/sdb mklabel gpt
sudo parted -a optimal /dev/sdb mkpart primary ext4 1MiB 100%
sudo parted /dev/sdb print
Теперь создаём файловые системы:
Код: Выделить всё
sudo mkfs.ext4 -L data /dev/sdb1
sudo mkfs.xfs -f -L fast /dev/sdb1
sudo mkfs.vfat -F 32 -n BOOTEFI /dev/sdb1
Swap создаётся отдельной парой команд:
Код: Выделить всё
sudo mkswap -L swap /dev/sdb2
sudo swapon /dev/sdb2
swapon --show
Код: Выделить всё
sudo mkfs.btrfs -L pool /dev/sdb1
sudo mount /dev/sdb1 /mnt
sudo btrfs subvolume create /mnt/@home
sudo btrfs subvolume snapshot /mnt/@home /mnt/@home_snap
sudo btrfs subvolume list /mnt
- Запустили mkfs не на тот раздел - данные стёрты без подтверждения. Всегда сверяйтесь с lsblk перед mkfs, ориентируйтесь на размер и метку, а не только на букву.
- Сделали MBR на диске больше 2 ТиБ - доступно только 2 ТиБ, остальное пропадает. На больших дисках только GPT.
- Ручное выравнивание на сектор 63 (старый дефолт) на SSD - просадка скорости и износ. Не трогайте дефолтные 1 МиБ без причины.
- Раздел EFI отформатировали в ext4 - UEFI его не увидит. Раздел ESP всегда vfat (FAT32).
- Изменили таблицу разделов на смонтированном диске и ждёте, что ядро сразу подхватит. Нужен partprobe или перезагрузка.
- Прописали в fstab имя /dev/sdb1, а после перезагрузки диск стал sdc - система не грузится. Используйте UUID из blkid.
- Добавьте к стенду чистый виртуальный диск (например /dev/sdb) или создайте loop-устройство из файла через losetup.
- Создайте на нём GPT-таблицу и два раздела: 512 МиБ и остаток - инструментом на выбор (fdisk, gdisk или parted).
- На первом разделе создайте mkfs.ext4 с меткой lab, на втором - mkfs.xfs.
- Проверьте результат через lsblk -f и blkid, запишите UUID обоих разделов.
- Смонтируйте оба раздела во временные точки и убедитесь, что запись работает.
- Переразметьте диск под Btrfs, создайте подтом и снимите с него снапшот, выведите список подтомов.
- В чём ключевые отличия MBR от GPT по числу разделов и предельному размеру диска?
- Какой командой и с каким ключом создаётся раздел EFI System и почему именно такая ФС?
- Чем mkfs.xfs принципиально отличается от mkfs.ext4 в части изменения размера ФС?
- Что такое выравнивание раздела и к чему приводит его нарушение на SSD?
- Какие две команды нужны, чтобы подготовить и активировать swap-раздел?
- Что даёт copy-on-write при создании снапшота подтома в Btrfs?