fdisk (Русский)
fdisk из пакета util-linux - интерактивная консольная утилита, которая может создать таблицу разделов и разделы на жестком диске и управлять ими. В таблице разделов описано разбиение жесткого диска на разделы.
Эта статья объясняет fdisk(8) и связанную с ней утилиту sfdisk(8).
Установка
fdisk и связанные с ним утилиты входят в состав пакета util-linux, который является частью мета-пакета base.
Список разделов
Чтобы просмотреть таблицы разделов и разделы на блочном устройстве, вы можете запустить fdisk, указав устройство (например: /dev/sda), /dev/nvme0n1, /dev/mmcblk0, и т.д.):
# fdisk -l /dev/sda
/proc/partitions.Резервное копирование и восстановление таблицы разделов
Вы можете захотеть сделать резервное копирование таблицы разделов и схемы разделов диска перед их изменениями. Вы также можете использовать резервное копирование для копирования одинаковых разметок разделов на другие диски.
Вы можете использовать sfdisk для таблиц разделов GPT и MBR, чтобы сохранить разметку разделов вашего устройства в файл с параметром -d/--dump. Выполните следующую команду для устройства /dev/sda:
# sfdisk -d /dev/sda > sda.dump
Файл должен выглядеть примерно так для одного раздела ext4 размером 1 ГиБ:
sda.dump
label: gpt label-id: AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE device: /dev/sda unit: sectors first-lba: 34 last-lba: 1048576 /dev/sda1 : start=2048, size=1048576, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=BBF1CD36-9262-463E-A4FB-81E32C12BDE7
Чтобы позже восстановить эту разметку, вы можете выполнить:
# sfdisk /dev/sda < sda.dump
Создание таблицы разделов и самих разделов
Первый шаг в разметке диска — создание таблицы разделов. После этого создаются собственно разделы в соответствии с желаемой схемой разметки. Смотрите статью Разметка диска, чтобы решить, что выбрать для использования: MBR или GPT.
Перед началом вы можете сделать резервную копию вашей текущей таблицы разделов и схемы.
В недавних версиях fdisk отказались от устаревшей системы использования цилиндров в качестве стандартной единицы измерения, как и от совместимости с MS-DOS по умолчанию. fdisk автоматически выполняет выравнивание по 2048 512-байтовым секторам (1 МиБ), что должно быть совместимо со всеми расширенными форматами HDD и подавляющим большинством SSD. Это означает, что с настройками по умолчанию вы получите правильное выравнивание.
Чтобы использовать fdisk, запустите программу с именем блочного устройства, которое вы хотите изменить. В этом примере используется /dev/sda:
# fdisk /dev/sda
Это откроет интерактивный режим fdisk, где вы можете вводить команды.
Создание новой таблицы
Чтобы создать новую таблицу разделов и удалить всю текущую информацию о разделах, введите o для таблицы разделов MBR или g для таблицы разделов GUID (GPT). Пропустите эти шаги, если необходимая таблица уже была создана.
Создание разделов
Создайте новый раздел с помощью команды n. Вам нужно будет ввести тип раздела, номер раздела, начальный сектор и конечный сектор.
Тип раздела
При исплоьзовании MBR fdisk спросит тип раздела. Введите p для создания первичного раздела или e для создания расширенного. Может быть до четырёх основных разделов.
fidsk не спрашивает ID типа раздела и по умолчанию использует 'Linux filesystem'; вы сможете изменить его позже.
Номер раздела
Номер раздела — это номер, присвоенный разделу, например, раздел с номером 1 на диске /dev/sda будет /dev/sda1. Номера разделов могут не совпадать с реальным порядком разделов на диске, в этом случае их можно отсортировать.
Рекомендуется использовать номер по умолчанию, который предложит fdisk.
Первый и последний сектор
Первый сектор должен быть указан в абсолютном выражении с использованием номеров секторов. Последний сектор может быть задан с использованием абсолютного положения в секторах или в виде позиций, измеряемых в кибибайтах (K), мебибайтах (M), гибибайтах (G), тебибайтах (T) или пебибайтах (P).
Позиция последнего сектора может быть задана в:
- в абсолютном выражении от начала диска. Например,
40Mв качестве первого сектора указывает позицию 40 МиБ от начала диска. - в относительном выражении, предваряя размер символами
+размерили-размер. Например,+2Gуказывает на позицию через 2 ГиБ после начального сектора, а-200Mуказывает на позицию 200 МиБ перед последним доступным сектором.
Нажатие Enter без ввода значения использует значение по умолчанию, которое является началом самого большого доступного блока для первого сектора и концом того же блока для последнего сектора.
- При разметке всегда рекомендуется использовать значения по умолчанию для первого и последнего секторов раздела. Кроме того, стоит указывать относительные размеры разделов с помощью нотации
+размер{M,G,T,P}и не использовать разделы меньше 1 МиБ. Такие разделы всегда будут выровнены в соответствии со свойствами устройства. - На диске MBR оставьте неразмеченными как минимум 33 512-байтовых сектора (16,5 КиБ) в конце диска на случай, если вам понадобится преобразовать MBR в GPT.
-
Системный раздел EFI требует тип
EFI System. -
GRUB требует раздел загрузки BIOS с типом
BIOS bootпри установке GRUB на диск с разметкой GPT. - Рекомендуется использовать
Linux swapдля любого раздела подкачки, так как systemd будет автоматически монтировать его.
Повторяйте эту процедуру, пока не получите желаемые разделы.
Изменение типа раздела
У каждого раздела есть определённый тип. MBR использует partition ID; GPT использует GUID типов разделов.
Нажмите t, чтобы изменить идентификатор типа раздела. Используемое по умолчанию значение Linux filesystem должно быть подходящим для большинства случаев.
- Введите
Lдля просмотра списка внутренних кодов fdisk. - При использовании GPT рекомендуется следовать Discoverable Partitions Specification, поскольку systemd-gpt-auto-generator(8) будет монтировать их автоматически.
Загрузочный раздел
Вы можете отметить раздел как загрузочный, введя a.
Запись изменений на диск
Для записи новой таблицы на диск и выхода используйте команду w.
Перемещение разделов
Чтобы переместить раздел, необходимо иметь свободное пространство в том месте, куда будет перемещён раздел. При необходимости можно освободить место, уменьшив разделы и файловые системы на них. Смотрите Parted (Русский)#Сжатие разделов. Чтобы переместить раздел:
# echo '+секторы,' | sfdisk --move-data устройство -N номер
Где секторы — количество секторов для перемещения раздела (+ означает перемещение вперёд), устройство — устройство, на котором находится раздел, а номер — номер раздела. Обратите внимание, что если вы добавляете новый раздел в середине или в начале диска, вам, скорее всего, потребуется изменить нумерацию разделов. Смотрите #Сортировка разделов или режим "extra functionality" в fdisk.
Советы и рекомендации
Сортировка разделов
В ситуации, когда, например, новый раздел создаётся между двумя существующими или раздел удаляется, нумерация разделов может перестать соответствовать их реальному расположению на диске, и для исправления можно выполнить сортировку. В этом примере используется /dev/sda.
# sfdisk -r /dev/sda
Если вы не используете постоянные имена для блочных устройств, то вам может понадобиться обновить файлы конфигурации, в которых используется нумерация разделов, в частности /etc/fstab и/или /etc/crypttab.