fdisk (Русский)
fdisk из пакета util-linux - интерактивная консольная утилита, которая может создать таблицу разделов и разделы на жестком диске и управлять ими. В таблице разделов описано разбиение жесткого диска на разделы.
Эта статья объясняет fdisk(8) и связанную с ней утилиту sfdisk(8).
Установка
Для использования fdisk и связанных с ним утилит требуется пакет util-linux, который является частью группы base.
Список разделов
Чтобы перечислить таблицы разделов и разделы на устройстве, вы можете выполнить следующее, где устройство - имя подобное /dev/sda
:
# fdisk -l /dev/sda
/proc/partitions
.Резервное копирование и восстановление таблицы разделов
Вы можете захотеть сделать резервное копирование таблицы разделов и схемы разделов диска перед их изменениями. Вы также можете использовать резервное копирование для копирования одинаковых разметок разделов на другие диски.
Через dd
Таблица разделов MBR хранится в первых 512 байтах диска. Она состоит из 4 частей:
- Первые 440 байт содержат код начальной загрузки (загрузчика).
- Следующие 6 байтов содержат сигнатуру диска
- Следующие 64 байта содержат таблицу разделов (4 записи по 16 байт каждая, по одной записи для каждого первичного раздела).
- Последние 2 байта содержат загрузочную сигнатуру.
Чтобы сохранить как файл mbr_file.img
:
# dd if=/dev/sdX of=/путь/для/файла_mbr.img bs=512 count=1
Вы также можете извлечь MBR с полного образа диска dd:
# dd if=/путь/до/диска.img of=/путь/для/файла_mbr.img bs=512 count=1
Чтобы восстановить (будьте осторожны, это уничтожит существующую таблицу разделов и с ней доступ ко всем данным на диске):
# dd if=/путь/до/файла_mbr.img of=/dev/sdX bs=512 count=1
Если вы хотите только восстановить загрузчик, но не записи первичной таблицы разделов, просто восстановите первые 440 байт MBR:
# dd if=путь/до/файла_mbr.img of=/dev/sdX bs=440 count=1
Чтобы восстановить только таблицу разделов, необходимо выполнить:
# dd if=путь/до/файла_mbr.img of=/dev/sdX bs=1 skip=446 count=64
Чтобы стереть код начальной загрузки MBR (может быть полезно, если вам нужно выполнить полную переустановку другой операционной системы), необходимо обнулить только первые 440 байт:
# dd if=/dev/zero of=/dev/sdX bs=440 count=1
Через sfdisk
Вы можете использовать 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
Создание таблицы разделов и разделов
Первый шаг в разбиение диска - создание таблицы разделов. После этого фактические разделы создаются в соответствии с желаемой cхемой. Посмотрите статью о таблице разделов, чтобы решить что выбрать для использования MBR или GPT.
Перед началом вы можете пожелать сделать резервное копирование своей текущей таблицы разделов и схемы.
В недавних версиях fdisk отказались от устаревшей системы использования цилиндров, в качестве стандартного дисплэй юнита, так же как от совместимости с MS-DOS по умолчанию. fdisk автоматически выравнивает все разделы до 2048 секторов или 1 MiB, которые должны работать для всех размеров EBS, которые, как известно, используются производителями SSD. Это означает, что с настройки по умолчанию вы получите правильное выравнивание.
Запустите fdisk для вашего диска от суперпользователя. В этом примере мы используем /dev/sda
:
# fdisk /dev/sda
Это откроет интерактивный режим fdisk, где вы можете вводить команды.
Создание новой таблицы
Чтобы создать новую таблицу разделов и удалить всю текущую информацию о разделах, введите o
для таблицы разделов MBR или g
для таблицы разделов GUID (GPT). Пропустите эти шаги, если необходимая таблица уже была создана.
Создание разделов
Создайте новый раздел с помощью команды n
. Вам нужно будет ввести тип раздела, номер раздела, начальный сектор и конечный сектор.
Когда будет предложено, укажите тип раздела, введя p
для создания первичного раздела или e
для создания расширенного. Может быть до четырех основных разделов.
Первый сектор должен быть указан в абсолютном выражении с использованием номеров секторов. Последний сектор может быть задан с использованием абсолютного положения в секторах или с использованием символа +
для указания позиции относительно начального сектора, измеренной в секторах, в килобайтах (K
), в мегабайтах (M
), в гигабайтах (G
), в терабайтах (T
) или в петабайтах (P
); например, после +2G
последний сектор будет указывать точку 2Гб после начального сектора. Нажатие клавиши Enter
без ввода указывает значение по умолчанию, которое является началом самого большого доступного блока для начального сектора и конца того же блока для конечного сектора.
Выберите тип идентификатора раздела. По умолчанию Linux filesystem
должно быть хорошо для большинства целей. Нажмите l
, чтобы показать список кодов. Вы можете сделать раздел загрузочным, введя a
.
- При разбиение всегда рекомендуется следовать значениям по умолчанию для первых и последних секторов раздела. Кроме того, укажите размеры разделов с помощью нотации +<размер>{M,G,...}. Такие разделы всегда выравниваются в соответствии со свойствами устройства.
-
Системный раздел EFI требует тип
EFI System
. -
GRUB требует раздел загрузки BIOS с типом
BIOS boot
, когда устанавливаете GRUB на диск. - Рекомендуется использовать
Linux swap
для любого раздела swap, так как systemd будет монтировать его.
Для рекомендаций по размеру и расположения этих разделов смотрите соответствующие статьи.
Повторяйте эту операцию, пока у вас не будет желаемых разделов.
Запись изменений на диск
Запишите таблицу на диск и выйдите с помощью команды w
.
Советы и рекомендации
Сортировка разделов
Это применяется, когда новый раздел создается в пространстве между двумя разделами или раздел удаляется. В этом примере используется /dev/sda
.
# sfdisk -r /dev/sda
После сортировки разделов, если вы не используете имена постоянных блочных устройств, может потребоваться отредактировать файлы конфигурации /etc/fstab
и/или /etc/crypttab
.
/dev/sda1
), чтобы использовать ее. Перезагрузите систему или сообщите ядру, чтобы оно перечитало таблицу разделов..