GPT fdisk (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
GPT fdisk
. Дата последней синхронизации: 7 февраля 2024. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
Разметка дисков
fdisk (Русский)
Parted (Русский)
dd (Русский)
GPT fdisk
состоит из программ
gdisk
,
cgdisk
,
sgdisk
и
fixparts
. Они представляет собой набор инструментов для разметки диска, созданный Родом Смитом. Они работают с таблицами разделов GUID (GUID Partition Table, GPT), а не со старыми (но всё ещё распространёнными) таблицами разделов главной загрузочной записи (Master Boot Record, MBR).
gdisk
,
cgdisk
и
sgdisk
имеют одинаковую функциональность, но предоставляют разные пользовательские интерфейсы.
gdisk
— текстовый и интерактивный режим,
sgdisk
— режим командной строки, и
cgdisk
— интерфейс на основе
curses
. Эта статья охватывает утилиты
gdisk(8)
и
sgdisk(8)
.
Совет
Для базовых функций разметки можно использовать
cgdisk(8)
с текстовым пользовательским интерфейсом.
На сайте GPT fdisk есть подробные пошаговые инструкции для
gdisk
,
cgdisk
,
sgdisk
и
FixParts
.
Установка
Установите
пакет
gptfdisk
.
Список разделов
Чтобы просмотреть таблицы разделов и разделы на
блочном устройстве
, вы можете запустить
gdisk
, указав устройство (например:
/dev/sda
,
/dev/nvme0n1
,
/dev/mmcblk0
и т. д.):
# gdisk -l /dev/sda
или с помощью
sgdisk
:
# sgdisk -p /dev/sda
Резервное копирование и восстановление таблицы разделов
Перед внесением изменений в диск вы можете сделать резервную копию таблицы разделов и схемы разделов диска. Вы также можете использовать резервную копию, чтобы скопировать одну и ту же структуру разделов на несколько дисков.
Используя
sgdisk
, вы можете создать двоичную резервную копию, состоящую из защитной MBR, основного заголовка GPT, резервного заголовка GPT и одной копии таблицы разделов. В приведённом ниже примере таблица разделов
/dev/sda
сохраняется в файл
sgdisk-sda.bin
:
# sgdisk -b=sgdisk-sda.bin /dev/sda
Позже вы можете восстановить резервную копию, запустив:
# sgdisk -l=sgdisk-sda.bin /dev/sda
Если вы хотите клонировать структуру разделов вашего текущего устройства (
/dev/sda
в данном случае) на другой диск (
/dev/sdc
), выполните:
# sgdisk -R=/dev/sdc /dev/sda
Если оба диска будут на одном компьютере, вам необходимо рандомизировать GUID диска и разделов:
# sgdisk -G /dev/sdc
Создание таблицы разделов и самих разделов
Первый шаг в
разметке
диска — создание таблицы разделов. После этого создаются собственно разделы в соответствии с желаемой
схемой разметки
.
Перед началом вы можете сделать
резервную копию
вашей текущей таблицы разделов и схемы.
Ниже показано, как использовать
gdisk
для выполнения как создания таблицы разделов, так и создания фактических разделов. Также вы можете использовать основанную на curses версию
cgdisk
, однако следующие инструкции к ней неприменимы. Смотрите
cgdisk(8)
для её использования.
gdisk
автоматически выполняет выравнивание по 2048 512-байтовым секторам (1 МиБ) что должно быть совместимо со всеми
расширенными форматами
HDD и подавляющим большинством
SSD
.
Чтобы использовать
gdisk
, запустите программу с именем
блочного устройства
, которое вы хотите изменить. В этом примере используется
/dev/sda
:
# gdisk /dev/sda
Создание новой таблицы
Важно
Если вы создадите новую таблицу разделов на диске с данными, то все данные на нём будут удалены. Убедитесь, что это действительно то, что вы хотите сделать.
Совет
Перед разметкой NVMe-накопителей и жёстких дисков с расширенным форматом (Advanced Format) проверьте, что они используют
оптимальный логический размер сектора
.
Перед разметкой SSD рекомендуется выполнить
сброс ячеек памяти
.
Чтобы создать новую
таблицу разделов GUID
и стереть все текущие разделы, напишите
o
в строке. Пропустите этот шаг, если нужная вам таблица уже создана.
Создание разделов
Создайте новый раздел с помощью команды
n
. Введите номер раздела, первый сектор, последний сектор и тип раздела.
Примечание
Рекомендации по размеру и расположению разделов можно почитать в статье
Разметка дисков#Схема разметки
.
Номер раздела
Номер раздела — это номер, присвоенный разделу, например, раздел с номером
1
будет иметь путь
/dev/sda1
на накопителе
/dev/sda
,
/dev/nvme0n1p1
на
/dev/nvme0n1
и
/dev/mmcblk0p1
на
/dev/mmcblk0
. Номера разделов могут не совпадать с реальным порядком разделов на диске, в этом случае их можно
отсортировать
.
Рекомендуется использовать номер по умолчанию, который предложит
gdisk
.
Первый и последний сектор
Первый и последний сектор раздела могут быть указаны в виде номеров секторов или в виде позиций, измеряемых в кибибайтах (
K
), мебибайтах (
M
), гибибайтах (
G
), тебибайтах (
T
) или пебибайтах (
P
).
Позиция может быть задана:
в абсолютном выражении от начала диска. Например,
40M
в качестве первого сектора указывает позицию 40 МиБ от начала диска.
в относительном выражении, предваряя размер символами
+
размер
или
-
размер
. Например,
+2G
указывает на позицию через 2 ГиБ после сектора, предложенного по умолчанию, а
-200M
указывает на позицию 200 МиБ перед последним доступным сектором.
Нажатие
Enter
без ввода значения использует значение по умолчанию, которое является началом самого большого доступного блока для первого сектора и концом того же блока для последнего сектора.
Примечание
При разметке указывайте относительные размеры разделов с помощью нотации
+
размер{M,G,T,P}
и не используйте размеры меньше 1 МиБ. Таким образом разделы всегда будут выровнены в соответствии со свойствами устройства.
Совет
Оставьте 1 МиБ свободного места где-нибудь среди первых 2 ТиБ диска (например, используя
+1M
в качестве первого сектора раздела) на случай, если вам понадобится создать
раздел загрузки BIOS
.
Тип раздела
Выберите тип раздела, введя внутренний код gdisk или указав
GUID типа раздела
вручную. Значение по умолчанию
Linux filesystem
(GUID
0FC63DAF-8483-4772-8E79-3D69D8477DE4
, внутренний код gdisk
8300
) должно быть подходящим для большинства случаев.
Совет
Введите
L
для просмотра списка внутренних кодов gdisk.
Рекомендуется следовать
Discoverable Partitions Specification
, поскольку
systemd-gpt-auto-generator(8)
будет монтировать их автоматически. Смотрите
#Отключение автоматического монтирования раздела GPT
, если вы хотите отключить автоматическое монтирование для раздела.
Часто используемые типы разделов
Тип раздела
Точка монтирования
код
gdisk
GUID типа раздела
Файловая система Linux
Любая
8300
0FC63DAF-8483-4772-8E79-3D69D8477DE4
Системный раздел EFI
Любая
1
ef00
C12A7328-F81F-11D2-BA4B-00A0C93EC93B
Загрузочный раздел BIOS
Нет
ef02
21686148-6449-6E6F-744E-656564454649
Linux x86-64 корень (/)
/
8304
4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709
Linux подкачка
[SWAP]
8200
0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
Linux /home
/home
8302
933AC7E1-2EB4-4F13-B844-0E14E2AEF915
Linux /srv
/srv
8306
3B8F8425-20E0-4F3B-907F-1A25A76F98E8
Linux /var
/var
1
8310
4D21B016-B534-45C2-A9FB-5C16E091FD2D
Linux /var/tmp
/var/tmp
1
8311
7EC6F557-3BC5-4ACA-B293-16EF5DF639D1
Linux LVM
Любая
8e00
E6D6D379-F507-44C2-A23C-238F2A3DF928
Linux RAID
Любая
fd00
A19D880F-05FC-4D3B-A006-743F0F84911E
Linux LUKS
Любая
8309
CA7D7CCB-63ED-4C53-861C-1742536059CC
Linux dm-crypt
Любая
8308
7FFEC5C9-2D00-49B7-8941-3EA10A5586B7
systemd-gpt-auto-generator(8)
будет автоматически монтировать раздел только при выполнении определённых условий. Подробнее смотрите
systemd (Русский)#Автомонтирование GPT-раздела
.
Повторяйте эту процедуру, пока не получите желаемые разделы.
Запись изменений на диск
Совет
Используйте команду
c
, чтобы изменить имя раздела (
PARTLABEL
) для удобной его идентификации.
Для записи новой таблицы на диск и выхода используйте команду
w
.
Советы и рекомендации
Преобразование между MBR и GPT
Совет
Подробности можно почитать на сайте Рода Смита:
Converting to or from GPT
.
gdisk
,
sgdisk
и
cgdisk
способны преобразовывать диски MBR и
BSD disklabels
в GPT без потери данных. После преобразования все первичные и логические разделы MBR становятся разделами GPT с правильными GUID типов разделов и уникальными GUID разделов.
После преобразования потребуется переустановить
загрузчик
, чтобы настроить его на загрузку с GPT.
Важно
GPT хранит вторичную таблицу в конце диска. По умолчанию эта структура данных занимает 33 сектора по 512 байт (16,5 КиБ). MBR не имеет подобной структуры данных в конце диска, поэтому последний раздел на диске MBR иногда простирается до самого конца диска и не позволяет выполнить полное преобразование. Если это произошло, необходимо отказаться от преобразования и изменить размер последнего раздела.
Известны проблемы с повреждением резервной копии GPT на ноутбуках с чипсетом Intel, работающих в режиме RAID. Решением является использование AHCI вместо RAID, если это возможно.
Для преобразования таблицы разделов MBR в GPT с помощью
sgdisk
используйте опцию
-g
/
--mbrtogpt
:
# sgdisk -g /dev/sda
Для преобразования GPT в MBR используйте опцию
-m
/
--gpttombr
. Имейте в виду, что преобразовать более четырёх разделов из GPT в MBR невозможно.
# sgdisk -m /dev/sda
Сортировка разделов
В ситуации, когда, например, новый раздел создаётся между двумя существующими или раздел удаляется, нумерация разделов может перестать соответствовать их реальному расположению на диске, и для исправления можно выполнить сортировку. В этом примере используется
/dev/sda
.
# sgdisk -s /dev/sda
Если вы не используете
постоянные имена для блочных устройств
, то вам может понадобиться обновить файлы конфигурации, в которых используется нумерация разделов, в частности
/etc/fstab
и/или
/etc/crypttab
.
Примечание
Перед использованием новых разделов ядро должно перечитать обновлённую таблицу. Перезагрузитесь или попросите ядро
перечитать таблицу разделов
.
Восстановление заголовка GPT
Если основной или резервный заголовок GPT оказался повреждён, можно восстановить его из сохранившегося заголовка с помощью
gdisk
. В данном примере используется
/dev/sda
.
# gdisk /dev/sda
Выберите
r
для опций восстановления и преобразования (только для экспертов). Далее выберите
b
: использовать резервный заголовок GPT (воссоздать основной)
d
: использовать основной заголовок GPT (воссоздать резервный)
После этого используйте команду
w
для записи новой таблицы на диск и выхода.
Расширение диска GPT
После увеличения диска (например, в аппаратном
RAID
-массиве или на диске
виртуальной машины
) вновь добавленное место можно будет использовать не сразу, так как GPT хранит свои данные в конце диска. Необходимо переместить резервный заголовок GPT в новый конец диска.
Запустите
sgdisk
с опцией
-e
/
--move-second-header
, например:
# sgdisk -e /dev/sda
После этого
посмотрите список разделов
, и вы должны увидеть появившееся свободное место.
Отключение автоматического монтирования раздела GPT
systemd-gpt-auto-generator(8)
будет автоматически монтировать разделы в соответствии с
Discoverable Partitions Specification
. Иногда это нежелательно.
Автоматическое монтирование можно отключить путём добавления атрибута раздела
63
(«do not automount»).
Запустите
gdisk
, например:
# gdisk /dev/sda
Введите
p
для просмотра списка разделов и посмотрите номера разделов, для которых вы хотите отключить автоматическое монтирование.
Введите
x
(экспертные команды).
Введите
a
— команду установки атрибута. Введите номер нужного раздела и затем номер атрибута
63
. После этого под строкой
Set fields are:
должно появиться
63 (do not automount)
. Нажмите
Enter
для завершения изменения атрибутов. Повторите этот шаг для всех нужных разделов.
После завершения используйте команду
w
для записи новой таблицы на диск и выхода.
Также можно использовать
sgdisk
с опцией
-A
/
--attributes=
; смотрите
sgdisk(8)
. Например, для установки атрибута
63
разделу
/dev/sda2
выполните:
# sgdisk -A 2:set:63 /dev/sda
EFI-приложение gdisk
Его нет в пакетах, но Род Смит предоставляет собранное бинарное приложение EFI на
SourceForge
. Скачайте
gdisk-efi-*.zip
и распакуйте архив. Для использования скопируйте
gdisk_x64.efi
в
системный раздел EFI
и запустите его с помощью вашего
загрузчика
или через
UEFI Shell
.
gdisk_x64.efi
позволяет редактировать таблицу разделов ещё до загрузки операционной системы. Он используется так же, как и двоичный файл
gdisk
в Linux.
Примечание
gdisk_x64.efi
не умеет работать с файловыми системами, так что он не сможет делать резервную копию таблицы в файл или восстанавливать таблицу из файла резервной копии.
Смотрите
README-efi.txt
для более подробной информации.
Смотрите также
GPT fdisk Tutorial
- официальный сайт GPT fdisk.
Страница GPT fdisk на SourceForge