fdisk (Русский)
fdisk из пакета util-linux - интерактивная консольная утилита, которая может создать таблицу разделов и разделы на жестком диске и управлять ими. В таблице разделов описано разбиение жесткого диска на разделы.
Эта статья объясняет fdisk(8) и связанную с ней утилиту sfdisk(8).
Contents
Установка
Для использования fdisk и связанных с ним утилит требуется пакет util-linux, который является частью группы base.
Список разделов
Чтобы перечислить таблицы разделов и разделы на устройстве, вы можете выполнить следующее, где устройство - имя подобное /dev/sda:
# fdisk -l /dev/sda
Резервное копирование и восстановление таблицы разделов
Вы можете захотеть сделать резервное копирование таблицы разделов и схемы разделов диска перед их изменениями. Вы также можете использовать резервное копирование для копирования одинаковых разметок разделов на другие диски.
Через 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.
Повторяйте эту операцию, пока у вас не будет желаемых разделов.
Запись изменений на диск
Запишите таблицу на диск и выйдите с помощью команды w.
Советы и рекомендации
Сортировка разделов
Это применяется, когда новый раздел создается в пространстве между двумя разделами или раздел удаляется. В этом примере используется /dev/sda.
# sfdisk -r /dev/sda
После сортировки разделов, если вы не используете имена постоянных блочных устройств, может потребоваться отредактировать файлы конфигурации /etc/fstab и/или /etc/crypttab.