fdisk (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
fdisk
. Дата последней синхронизации: 1 февраля 2022. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
Файловые системы
GPT fdisk (Русский)
Parted (Русский)
Разметка диска
fdisk из пакета util-linux
- интерактивная консольная утилита, которая может создать таблицу разделов и разделы на жестком диске и управлять ими. В таблице разделов описано разбиение жесткого диска на разделы.
Эта статья объясняет
fdisk(8)
и связанную с ней утилиту
sfdisk(8)
.
Совет
Для базовых функций разметки можно использовать
cfdisk(8)
с текстовым пользовательским интерфейсом.
Установка
fdisk
и связанные с ним утилиты входят в состав пакета
util-linux
, который является частью
мета-пакета
base
.
Список разделов
Чтобы просмотреть таблицы разделов и разделы на
блочном устройстве
, вы можете запустить fdisk, указав устройство (например:
/dev/sda
),
/dev/nvme0n1
,
/dev/mmcblk0
, и т.д.):
# fdisk -l /dev/sda
Примечание
Если устройство не указано,
fdisk
покажет все разделы из
/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
.
Перемещение разделов
Важно
Разделы нельзя использовать в процессе их перемещения. Поскольку перемещение требует перезаписи всего раздела на диске, это медленная и потенциально опасная операция. Настоятельно рекомендуется создавать резервные копии! Согласно man-странице
sfdisk
, «эта операция рискованна и не является атомарной».
Чтобы переместить раздел, необходимо иметь свободное пространство в том месте, куда будет перемещён раздел. При необходимости можно освободить место, уменьшив разделы и файловые системы на них. Смотрите
Parted (Русский)#Сжатие разделов
. Чтобы переместить раздел:
# echo '+
секторы
,' | sfdisk --move-data
устройство
-N
номер
Где
секторы
— количество секторов для перемещения раздела (
+
означает перемещение вперёд),
устройство
— устройство, на котором находится раздел, а
номер
— номер раздела. Обратите внимание, что если вы добавляете новый раздел в середине или в начале диска, вам, скорее всего, потребуется изменить нумерацию разделов. Смотрите
#Сортировка разделов
или режим "extra functionality" в
fdisk
.
Советы и рекомендации
Сортировка разделов
В ситуации, когда, например, новый раздел создаётся между двумя существующими или раздел удаляется, нумерация разделов может перестать соответствовать их реальному расположению на диске, и для исправления можно выполнить сортировку. В этом примере используется
/dev/sda
.
# sfdisk -r /dev/sda
Если вы не используете
постоянные имена для блочных устройств
, то вам может понадобиться обновить файлы конфигурации, в которых используется нумерация разделов, в частности
/etc/fstab
и/или
/etc/crypttab
.
Примечание
Перед использованием новых разделов ядро должно перечитать обновлённую таблицу. Перезагрузитесь или попросите ядро
перечитать таблицу разделов
.
Смотрите также
Managing partitions in Linux with fdisk