fdisk (Русский)

From ArchWiki
Jump to: navigation, search

Состояние перевода: На этой странице представлен перевод статьи fdisk. Дата последней синхронизации: 17 августа 2018. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Tango-preferences-desktop-locale.pngЭта страница нуждается в сопроводителеTango-preferences-desktop-locale.png

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

fdisk из пакета util-linux - интерактивная консольная утилита, которая может создать таблицу разделов и разделы на жестком диске и управлять ими. В таблице разделов описано разбиение жесткого диска на разделы.

Эта статья объясняет fdisk(8) и связанную с ней утилиту sfdisk(8).

Совет: Для основных функций разделения можно использовать cfdisk(8) с текстовым пользовательским интерфейсом.

Установка

Для использования fdisk и связанных с ним утилит требуется пакет util-linux, который является частью группы base.

Список разделов

Чтобы перечислить таблицы разделов и разделы на устройстве, вы можете выполнить следующее, где устройство - имя подобное /dev/sda:

# fdisk -l /dev/sda
Примечание: Если устройство не указано, fdisk покажет все разделы из /proc/partitions.

Резервное копирование и восстановление таблицы разделов

Вы можете захотеть сделать резервное копирование таблицы разделов и схемы разделов диска перед их изменениями. Вы также можете использовать резервное копирование для копирования одинаковых разметок разделов на другие диски.

Через dd

Tango-go-next.pngThis article or section is a candidate for moving to Disk cloning#Using dd.Tango-go-next.png

Notes: dd не является частью util-linux и не имеет ничего общего с fdisk. (Discuss in Talk:Fdisk (Русский)#)

Таблица разделов MBR хранится в первых 512 байтах диска. Она состоит из 4 частей:

  1. Первые 440 байт содержат код начальной загрузки (загрузчика).
  2. Следующие 6 байтов содержат сигнатуру диска
  3. Следующие 64 байта содержат таблицу разделов (4 записи по 16 байт каждая, по одной записи для каждого первичного раздела).
  4. Последние 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
Важно: Восстановление MBR с несоответствующей таблицей разделов сделает ваши данные нечитабельными и почти невозможными для восстановления. Если вам просто нужно переустановить загрузчик, посмотрите их соответствующие страницы, так как они также используют область совместимости DOS: GRUB или Syslinux.

Если вы хотите только восстановить загрузчик, но не записи первичной таблицы разделов, просто восстановите первые 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). Пропустите эти шаги, если необходимая таблица уже была создана.

Создание разделов

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Поместить каждый шаг в подраздел. (Discuss in Talk:Fdisk (Русский)#)

Создайте новый раздел с помощью команды n. Вам нужно будет ввести тип раздела, номер раздела, начальный сектор и конечный сектор.

Когда будет предложено, укажите тип раздела, введя p для создания первичного раздела или e для создания расширенного. Может быть до четырех основных разделов.

Первый сектор должен быть указан в абсолютном выражении с использованием номеров секторов. Последний сектор может быть задан с использованием абсолютного положения в секторах или с использованием символа + для указания позиции относительно начального сектора, измеренной в секторах, в килобайтах (K), в мегабайтах (M), в гигабайтах (G), в терабайтах (T) или в петабайтах (P); например, после +2G последний сектор будет указывать точку 2Гб после начального сектора. Нажатие клавиши Enter без ввода указывает значение по умолчанию, которое является началом самого большого доступного блока для начального сектора и конца того же блока для конечного сектора.

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Предложить использование Discoverable Partitions. (Discuss in Talk:Fdisk (Русский)#)

Выберите тип идентификатора раздела. По умолчанию 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), чтобы использовать ее. Перезагрузите систему или сообщите ядру, чтобы оно перечитало таблицу разделов..

Смотрите также