
Интерактивная консольная утилита fdisk предназначена для работы с дисками в linux с помощью терминале с любыми типами носителей hdd, ssd, usb (флешки) и т.п.. Входит в состав пакета util-linux. Присутствует практически во всех дистрибутивах линукс по умолчанию. Я буду рассматривать примеры использования в Debian.
- Опции и синтаксис fdisk
- Работа с дисками. Просмотр всех разделов
- Интерактивный режим
- Основные команды
- Просмотр таблицы разделов
- Создание таблицы разделов
- Разбивка диска для linux
- Тип раздела
- Загрузочный раздел
- fdisk удаление раздела
- Запись изменений на диск
- Форматирование разделов
- Работа с dos разделами. Тип таблиц MBR
- Резюме
Опции и синтаксис fdisk
Операции с дисками могут привести к потере данных! Будьте внимательны перед применением изменений! Делайте резервные копии важной информации!
Запускаем терминал и после указания имени самой утилиты задаём опции, если требуется и путь до устройства.
| 1 | fdisk опции путь_до_устройства |
Список основных опций:
- -B — Не позволяет стирать первые 512 байт на диске чтобы избежать повреждения загрузочной записи;
- -l — вывести все разделы на выбранных устройствах. Если устройства не заданы, то отображается информация обо всех устройствах которые указаны в файле /proc/partitions (если он есть).
- -c — Переключение режимов. Включение и выключение DOS-совместимого режима работы (рекомендуется).
- -u — Установка формата вывода размера разделов. По умолчанию используется sectors (сектора) можно использовать cylinders (цилиндры)
- F — Показать свободное место.
Работа с дисками. Просмотр всех разделов
Для обзора всех дисков системы используйте команду с применением опции -l (listing — перечисление).
| 1 | sudo fdisk -l |
Будет представлен полный список всех дисков и партиций компьютера. Диски показываются по именам; /dev/sda, /dev/sdb, /dev/sdc и так далее по алфавиту.
Если дисков и разделов много и они не помещаются на одном экране можно выводить информацию частями командой:
| 1 | $ sudo fdisk -l | more |
Управлять можно с помощью курсорных клавиш.
Чтобы отобразить все разделы конкретного диска укажите команду с опцией -l и имя интересующего устройства. Например, посмотрим разделы жесткого диска /dev/sda;
| 1 | $ sudo fdisk -l /dev/sda |
Интерактивный режим
Работа в программе осуществляется в интерактивном режиме. Для того, чтобы войти в него укажите имя команды и путь до устройства. Например, для работы с диском sdb нужно указать команду:
| 1 | sudo fdisk /dev/sdb |
Сразу рассмотрим первую команду. Это справка. Для отображения всех доступных команд и опций в этом режиме введите маленькую латинскую букву m.

Основные команды
Давайте подробнее рассмотрим доступные команды.
Работа с разбиением диска в стиле DOS (MBR):
- a — установить/сбросить флаг загрузочного раздела
- b — редактировать вложенную BSD метку диска
- c — установить/сбросить флаг совместимости с dos. Рекомендуется отключить и работать в режиме GPT.
Доступные для всех типов разделов:
- l — показать таблицу известных типов разделов
- n — добавить новый раздел
- p — выдать список видимых разделов
- t — изменить тип раздела
Прочие:
- m — распечатать список команд (эта справка)
- u — изменить единицу измерения показываемых размеров
- x — дополнительные функции (экспертный режим)
Сохранение и выход:
- w — записать таблицу разделов на диск и выйти
- q выйти без сохранения сделанных изменений
Создание меток:
- g — Создать новую пустую таблицу разделов GPT
- G — Создать новую пустую таблицу разделов SGI (IRIX)
- o — Создать новую пустую таблицу разделов DOS
- s — Создать новую пустую таблицу разделов Sun
Просмотр таблицы разделов
Для отображения всех разделов и просмотра типа таблицы на диске используйте команду p.

В моем примере на устройстве нет разделов а тип указан как dos.
Создание таблицы разделов
Linux fdisk создание разделов. Для работы с новым диском я изменю формат таблицы с DOS на GPT. Для этого применим команду g.

Теперь с помощью команды p отобразим содержимое и убедимся, что новая пустая таблица GPT создана.
Разбивка диска для linux
Давайте предположим, что у вас есть практическая задача. Нужно установить дистрибутив операционной системы основанной на ядре линукс. Для этого разделим диск на необходимые разделы.
Создать разделы на жестком диске linux с помощью утилиты fdisk можно используя команду n. Для примера я сделаю тестовую конфигурацию с разными типами разделов под установку операционной системы, чтобы наглядно показать работу программы.
Итак открываем устройство в интерактивном режиме. В моем случае это /dev/sdb.
| 1 | sudo fdisk /dev/sdb |
Смотрим на его параметры командой p и видим, что размер у него 20Gb, тип таблицы — GPT.
- Загрузочный UEFI — 250 Мб
- Раздел подкачки — 1 Гб
- Корневой раздел — 8Гб
Раздел для пользователей — все оставшееся место.
Указываем команду n. На первом шаге нужно выбрать номер который будет присвоен партиции (разделу). Можно выбрать от 1 до 128 либо оставить по умолчанию — 1. Я оставлю 1 и нажимаем «Enter».

На втором шаге нужно выбрать сектор, по умолчанию — 2048. Если не хотите менять оставьте это значение и нажмите «Enter».

Третий шаг. Выбор размера будущего раздела. Рассмотрим наиболее простой вариант. Допустимые единицы:
- Кибибайты — K
- Мебибайты — М
- Гибибайты — G
- Тебибайты — T
- Пебибайты — P
Чтобы указать размер нужно поставить знак «+» затем цифру и букву соответствующую нужному значению. Например, для раздела UEFI я сделаю размер 250 Мб, для этого нужно указать значение +250М. Чтобы подтвердить нажимаем клавишу «Enter».

По аналогии создаю оставшиеся разделы.
Теперь проверю, что получилось командой p.

Разбиение диска завершено. Как видно на скриншоте все получилось как задумано.
Тип раздела
Теперь для разделов нужно задать правильный тип. Это можно сделать командой t.

Теперь нужно выбрать номер раздела для которого хотим изменить тип. По умолчанию выбирается последний. Я буду идти по порядку поэтому выберу 1. Нажимаем «Enter».
На втором этапе нужно указать номер который соответствует нужному типу. Чтобы вывести список всех доступных вариантов укажите букву L.

Для пролистывания списка используйте курсорные клавиши. Для выхода введите букву q.
Для моего варианта нужно использовать цифру 1 ее я и укажу.

Далее я также задам нужные варианты для других разделов. Еще раз проверим.

Как видим все изменения проведены верно.
Загрузочный раздел
Если вы используете тип таблицы dos (MBR) то для правильной работы системы загрузочный раздел должен быть отмечен как boot. Для того чтобы указать данную метку используйте команду — «a». Она же применяется для удаления данного флага.

На скриншоте отображена информация. С помощью команды
fdisk удаление раздела
Для того, чтобы удалить раздел используйте команду d. Для примера возьмем диск 12 Гб разделённый на два раздела по 8 и 4 Гб.

Я удалю второй раздел размером 4 Гб. Для этого в интерактивном режиме дадим команду d. Далее нужно указать номер удаляемого раздела, в моем случае 2. Подтверждаем нажатием клавиши “Enter” и раздел удален.
Запись изменений на диск
Все действия которые мы производим в программе не применяются сразу на диск. Это делается для минимизации ошибок.
После того как мы сделали все настройки и проверили, что все разметили так как хотели можно применить все изменения. Для этого укажите команду w.

Как видим на скриншоте все изменения применены и диск размечен.
Форматирование разделов
Утилита fdisk не умеет производить форматирование диска поэтому будем использовать утилиту mkfs. Читайте подробный обзор утилиты mkfs.
В качестве примера будем использовать диск на котором есть 4 размеченных раздела. Отформатируем их.
Первый UEFI для него нужна файловая система fat. Команда:
| 1 | sudo mkfs -t fat dev/sdb1 |
Затем раздел swap. Для него используем команду:
| 1 | sudo mkswap /dev/sdb2 |
Далее корневой раздел root и домашний каталог home отформатируем в файловую систему ext4. Команда:
| 1 | sudo mkfs -t ext4 /dev/sdb3 |
| 1 | sudo mkfs -t ext4 /dev/sdb4 |
Работа с dos разделами. Тип таблиц MBR
Для работы с MBR разберём пример разметки диска. Особенность данного типа таблицы является то, что мы не можем сделать более 4 основных разделов. Поэтому, если нужно больше, создается расширенный раздел и в нем добавляются дополнительные.
Для начала создаем новую таблицу. Для этого выполняем команду o.

Далее разметим диск. Для большей наглядности я сделаю 8 разделов, 3 основных, 1 раширенный и 4 логических. Первый сделаю загрузочным.
Создание разделов dos отличается от uefi только тем, что нужно указывать какой это будет раздел. Итак, после команды n ставим нужное значение:
- p — primary (основной)
- e — extendet (расширенный)

Таким образом создаем необходимое количество разделов. Как видно на следующем скриншоте я добавил 3 основных и один расширенный раздел (Extendet).

Теперь добавлю еще три дополнительных логических раздела. При вызове команды n больше не предлагается выбрать тип раздела. Все остальные добавляемые диски будут обозначаться как логические и относиться к расширенному разделу.

Итого получилось 8 дисков. Теперь для первого диска нужно поставить флаг — загрузочный. Для этого даем команду a и указываем номер раздела.

С помощью команды p проверяем, что получилось.

Как видим все получилось как и планировалось.
Резюме
Прежде всего через терминал удобен просмотр дисков в linux с помощью fdisk. Утилита подходит и для разметки дисков лучше использовать более удобные инструменты такие как Gparted или утилита командной строки cfdisk.















