Parted (Русский) - ArchWiki

Jump to content

# Parted (Русский)

From ArchWiki

Ссылки по теме

- fdisk (Русский)
- gdisk
- Partitioning

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

GNU Parted - это программа для создания и редактирования таблиц разделов. GParted это GUI для неё.

## Установка

Установите parted пакет. Для графического интерфейса, установить gparted пакет, графический интерфейс для parted.

## Использование

Parted имеет два режима: коммандная строка и интерактивный. Parted всегда должен начинаться с:

    # parted device

где `device` это жёсткий диск, который нужно отредактировать (например `/dev/sda`). Если не указать `device` аргумент, parted может предположить какое устройство вы хотите.

### Режим командной строки

В режиме командной строки, он принимает одну или более команд. Например:

    # parted /dev/sda mklabel gpt mkpart P1 ext3 1MiB 8MiB

Примечание: Параметры (такие как `--help`) можно указать только в командной строке.

### Интерактивный режим

Интерактивный режим упрощает процесс разбиения и уменьшает ненужное повторение с помощью автоматического применения всех команд разбиения на указанное устройство.

Чтобы начать работу с устройством, выполните:

    # parted /dev/sdx

Вы заметите что префикс командной строки (`#`) отличается от `(parted)`: это также означает, что новая строка не является командой, которую нужно вводить вручную при запуске команд в примерах.

Чтобы увидеть список доступных команд, введите:

    (parted) help

Когда закончите, или если хотите сделать таблицу разделов или схему для другого устройства, выйдите из parted с помощью:

    (parted) quit

После выхода, префикс командной строки измениться обратно на `#`.

Если вы не указываете параметр команде, Parted подскажет вам его. Например:

    (parted) mklabel
    New disk label type? gpt

## Округление

Поскольку многие системы разделов имеют сложные ограничения, Parted обычно будет делать что-то немного другое, чем вы просили. (Например, создание раздела начиная с 10.352Mb, не с 10.4Mb) Если рассчитанные значения слишком сильно отличаются, Parted попросит у вас подтверждения. Если вы точно знаете, что хотите, или точно видите, что делает Parted, это может помоч указать конечные точки разделов в секторах. (с помощью "s" суффикса) и указать "unit s" команду, чтобы конечные точки раздела отображались в секторах.

В parted-2.4, когда вы указываете начало и/или конец значения с использованием двоичных единиц IEC, например “MiB”, “GiB”, “TiB”, и т.д., parted обрабатывает эти значения как точные и равны тому же числу, указанному в байтах (то есть с суффиксом "B"), в том, что он не дает “полезный” диапозон. Сравните это с запросом на запуск раздела “4GB”, который может фактически разрешиться в некотором секторе до 500MB до или после этого момента. Таким образом, при создании раздела лучше указывать единицы байтов (“B”), сектора (“s”), или двоичные блоки IEC, такие как “MiB”, но не “MB”, “GB”, и т.д.

## Разбиение

### Создание новой таблицы разделов

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

Откройте каждое устройство, таблица разделов которого должна быть (пере)создана с помощью:

    # parted /dev/sdx

Затем, чтобы создать новую GUID Partition Table, используйте следующую команду:

    (parted) mklabel gpt

Чтобы создать новую Master Boot Record/MS-DOS таблицу разделов, используйте:

    (parted) mklabel msdos

### Схемы разделов

Вы можете выбрать количество и размер разделов, на которые должны быть разделены устройства, и какие каталоги будут использоваться для монтирования разделов в установленной системе (также известной как mount points). Смотрите Разбиение#Схема разметки для необходимых разделов.

Следующая команда будет использоваться для создания разделов:

    (parted) mkpart part-type-or-part-label fs-type start end

- `part-type-or-part-label` интерпретируется по-разному в зависимости от таблицы разделов:
  - MBR: параметр интерпретируется как `part-type`, который может быть `primary`, `extended` или `logical`.
  - GPT: параметр интерпретируется как `part-label`, который устанавливает PARTLABEL атрибут раздела. Метка раздела должна быть установлена всегда, так как mkpart не разрешает создавать разделы без метки.
    Примечание: Во многих туториалах в интернете используются команды которые начинаются с `mkpart primary` даже для GPT. Они не правильные, это установило бы "primary" как метку раздела.
- `fs-type` - идентификатор, выбранный из числа перечисленных путем ввода `help mkpart` как наиболее близкое соответствие к файловой системе, которую вы будете использовать. Команда mkpart фактически не создает файловую систему: `fs-type` параметр будет просто использоваться parted чтобы установить 1-байтовый код, который используется загрузчиками для "предварительного просмотра" какие данные находятся в разделе, и при необходимости действовать соответствующим образом. Смотрите также Wikipedia:Раздел_диска#Виды_разделов.

  Совет: Большинство Linux native file systems сопоставимы с тем же кодом типа раздела MBR (0x83), так что совершенно безопасно, например, использовать `ext2` для ext4- форматирования разделов.

- `start` это начало раздела от начала устройства. Он состоит из числа, за которым следует unit, например `1MiB` означает начало с 1 MiB.
- `end` конец раздела от начала устройства (not из `start` значения). Он имеет тот же синтаксис, что и `start`, например `100%` означает конец в конце устройства (использовать все оставшееся пространство).

Совет: На диске с MBR таблицей разделов оставьте не менее 33 512-байт секторов (16.5 KiB) свободного нераспределенного пространства в конце диска, чтобы конвертировать между MBR и GPT.
Важно: Важно, чтобы разделы не перекрывали друг друга: если вы не хотите оставлять неиспользуемое место в устройстве, убедитесь, что каждый раздел начинается там, где заканчивается предыдущий.
Примечание: parted может выдать предупреждение вроде:

    Warning: The resulting partition is not properly aligned for best performance.
    Ignore/Cancel?

В этом случае прочтите Partitioning (Русский)#Выравнивание разделов и следуйте #Выравнивание чтобы исправить это.

Следующая команда будет использоваться для отметки раздела, содержащего `/boot` директорию как загрузочную:

    (parted) set partition boot on

- `partition` - номер раздела, который должен быть отмечен (смотрите вывод команды `print`).
- `esp` это назначения для `boot` на GPT. [1]

This article or section needs expansion.

Reason: Explain the `boot`, `legacy_boot` и `esp` флаги и их различное использование в MBR и GPT. (Discuss in Talk:Parted (Русский))

#### UEFI/GPT примеры

В каждом случае специальный загрузочный EFI system partition (Русский) is required.

При создании нового системного раздела EFI используйте следующие команды (рекомендуемый размер - не менее 260 MiB):

    (parted) mkpart "EFI system partition" fat32 1MiB 261MiB
    (parted) set 1 esp on

Оставшаяся схема разделов полностью зависит от вас. Для другого раздела, использующего 100% оставшегося пространства

    (parted) mkpart "my partition label" ext4 261MiB 100%

Для `/` (20 GiB) и `/home` (все оставшееся пространство) разделов:

    (parted) mkpart "root partition" ext4 261MiB 20.5GiB
    (parted) mkpart "home partition" ext4 20.5GiB 100%

Для `/` (20 GiB), swap (4 GiB), и `/home` (все оставшееся пространство) разделов:

    (parted) mkpart "root partition" ext4 261MiB 20.5GiB
    (parted) mkpart "swap partition" linux-swap 20.5GiB 24.5GiB
    (parted) mkpart "home partition" ext4 24.5GiB 100%

#### BIOS/MBR примеры

Для минимального одного основного раздела, использующего все доступное дисковое пространство, будет использоваться следующая команда:

    (parted) mkpart primary ext4 1MiB 100%
    (parted) set 1 boot on

В следующем случае, 20 GiB `/` будет создан раздел, за которым последует `/home` раздел, используя все оставшееся пространство:

    (parted) mkpart primary ext4 1MiB 20GiB
    (parted) set 1 boot on
    (parted) mkpart primary ext4 20GiB 100%

В последнем примере, `/boot` (100 MiB), `/` (20 GiB), swap (4 GiB), and `/home` (все оставшееся пространство) разделы будут созданы:

    (parted) mkpart primary ext3 1MiB 100MiB
    (parted) set 1 boot on
    (parted) mkpart primary ext3 100MiB 20GiB
    (parted) mkpart primary linux-swap 20GiB 24GiB
    (parted) mkpart primary ext3 24GiB 100%

### Изменения размера разделов

Важно: ext2/3/4 разделы, размер которых изменяется, должны быть размонтированы и не использоваться. Трудно и опасно пытаться редактировать корневую файловую систему в работающей ОС; вместо этого используйте live media/rescue систему.
Примечание:

- Вы можете переместить конец раздела только с помощью `parted`.
- В parted v4.2 resizepart может потребоваться использование #Интерактивный режим.[2]
- Эти инструкции применимы к разделам, имеющим ext2, ext3, ext4, или btrfs файловые системы.

Если вы увеличиваете раздел, вы должны сначала изменить размер раздела, а затем изменить размер файловой системы на нем, в то время как для сжатия файловая система должна быть изменена перед разделом, чтобы избежать потери данных.

#### Увеличение размера разделов

Чтобы увеличить размер (в интерактивном режиме parted):

    (parted) resizepart number end

Где `number` - номер раздела, который вы увеличиваете, и `end` - новый конец раздела (который должен быть больше старого).

Затем чтобы увеличить (ext2/3/4) файловую систему на разделах:

    # resize2fs /dev/sdaX [size]

Или увеличить Btrfs файловую систему:

    # btrfs filesystem resize /dev/sdaX [size]

Где `sdaX` обозначает раздел, который вы увеличиваете, и `[size]` - новый размер раздела. Примечание; `[size]` опциональный, по умолчанию: заполнить оставшееся место на разделе.

#### Сжатие разделов

Чтобы сжать ext2/3/4 файловую систему на разделе:

    # resize2fs /dev/sdaX size

Примечание: В отличие от parted, resize2fs(8) использует K, M, G и T что обозначает KiB, MiB, GiB и TiB. Документация e2fsprogs неверно ссылается на кибибайты, мебибайты, гибибайты и тебибайт как "степень двойки килобайты, мегабайты, гигабайты, терабайты".

Чтобы сжать Btrfs файловую систему:

    # btrfs filesystem resize /dev/sdaX size

Где `sdaX` обозначает раздел, который вы сжимаете, и `size` - новый размер раздела.

Затем сожмите раздел (в интерактивном режиме parted):

    (parted) resizepart number end

Где `number` - номер раздела, который вы сжимаете, и `end` - новый конец раздела (который должен быть меньше старого конца).

Когда закончите, используйте resizepart команду из util-linux сообщающая ядру о новом размере:

    # resizepart device number size

Где `device` - устройство, на котором находиться раздел, `number` - номер раздела и `size` - новый размер раздела, в 512-байт секторах.

## Предупреждения

Parted will always warn you before doing something that is potentially dangerous, unless the command is one of those that is inherently dangerous (e.g. rm, mklabel and mkpart).

### Выравнивание

При создании раздела, parted может предупредить о неправильном выравнивании раздела, но не поможет с правильным выравнивание. Например:

    (parted) mkpart primary fat16 0 32M
    Warning: The resulting partition is not properly aligned for best performance.
    Ignore/Cancel?

Предупреждение означает, что начало раздела не выровнено. Введите "Ignore" что проигнорировать, вывести таблицу разделов по секторам, чтобы увидеть, где она начинается, и удалить/пересоздать раздел с начала сектора округляя до увеличения степени до 2, пока предупреждение не прекратится. В качестве одного из примеров, на флешке с секторами 512B, Parted найдёт разделы начинающиеся на секторах которые кратны 2048, что соответствует выравниванию в 1 MiB.

Если вы хотите parted может попытаться рассчитать для вас правильное выравнивание, укажите начальную позицию как 0% вместо некоторого конкретного значения. Чтобы сделать один большой ext4 раздел, ваша команда должна выглядить так:

    (parted) mkpart primary ext4 0% 100%

## Советы и приемы

### Dual boot с Windows XP

Если вы имеете Windows XP разделы которые вы хотите переместить с диска на диск, а также ваш загрузочный раздел, вы можете легко сделать это с помощью GParted и оставаться на Windows счастливым, просто удалив следующий ключ реестра ДО перемещения раздела:

    HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

Ссылка на источник здесь.

### Проверка выравнивания

На существующем размеченном диске, вы можите использовать parted чтобы проверить выравнивание разделов на диске. Например, проверить выравнивание раздела 1 на `/dev/sda`:

    # parted /dev/sda
    (parted) align-check optimal 1
    1 aligned

## Устранение проблем

### Раздел FAT32 после изменения размера, не распознается в Windows

По состоянию на декабрь 2018 г, в parted была ошибка, patched in git 2016-04-15, но всё ещё присутствовала в Arch Linux (и ряду других дистрибутивов) из-за того, что не было официального релиза parted с 2014-07-28.[3] Эта проблема была решена в upstream после выпуска новой разделенной версии в 2019-08-12, и решена в Arch с 3.3-1 выпуска parted в 2019-10-11.[4]

Для старых сборок, однострочный обходной путь был упомянут в отчете об ошибке, но в отчете также указывалось, что он не работал должным образом для всех. [5][6]

Следует отметить, что этот вопрос во многом не коснулся gparted, поскольку проект включил патч в свою сборку от gparted версии 0.26.0-1 (выпущенной в 2016-04-29).[7]

### gparted на Wayland вызывает ошибку "cannot open display: :0"

Установить xorg-xhost.

Данная проблема возникает потому, что `xwayland` получает отказ в доступе от gparted запущенном от имени `root`. разработчики gparted реализовали [8] небольшой обходной путь, который временно добавляет `root` в список пользователей, которым разрешёно подключаться `xwayland` пока приложение запущено.

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

- GNU parted - Parted User's Manual
- How to align partitions for best performance using parted
- Resize an ext3/ext4 partition
- Official GParted forums

Categories:

- File systems (Русский)
- System recovery (Русский)
- Commands (Русский)
- GNU (Русский)

Hidden category:

- Pages or sections flagged with Template:Expansion