GNU Parted (от слов PARTition (раздел) и EDitor (редактор)) — это свободный редактор разделов, используемый для их создания и уничтожения. Он полезен для выделения места под новые операционные системы, перераспределения дискового пространства, копирования данных между жёсткими дисками и создания образов дисков. Он написан Эндрю Клаузеном и Леннертом Буйтенхеком и состоит из библиотеки, libparted, и консольной оболочки, parted, выполняющей также роль примера реализации.
Нововведения:
- Добавлена команда resizepart для изменения размера разделов. Работает даже для смонтированных разделов.
- Добавлена поддержка разделов EAV DASD — ECKD с более чем 65520 цилиндров.
- Добавлена поддержка неявных разделов FBA DASD с единым неизменным разделом.
- Добавлена поддержка распознавания btrfs — теперь она отображается в колонке «file system» вывода parted.
- Добавлен новый флаг типа раздела esp, который выставляет тип 0xEF для MS-DOS. Также отвечает за загрузку на GPT, выставляя UEFI ESP GUID.
- Добавлен новый флаг типа раздела irst, использующийся для Intel Rapid Start Technology. На разделах MS-DOS он выставляет тип 0x84, а на GPT выставляет GUID D3BFE2DE-3DAF-11DF-BA-40-E3A556D89593.
- Теперь можно игнорировать ошибки о разделах, пересекающихся с другими или выходящих за пределы диска. Это позволяет использовать parted для исправления проблем.
- Добавлена поддержка флага prep на GPT для выбора типа загрузочного раздела PowerPC Reference Platform.
Исправления ошибок:
- libparted:
- исправлены таблицы разделов MAC при размере секторов более 512 байт.
- ped_partition_get_path() возвращал «/dev/foo1» вместо «/dev/foo» для петлевых разметок.
- петлевая разметка представляет неразмеченный диск, однако создаёт раздел-пустышку для представления целого диска. Этот раздел загружался прямо в ядро. Не надо так делать.
- петлевая разметка больше не очищается, если вы не создали раздел и не вернули ошибку синхронизации.
- удаляются все старые разделы, даже если новая разметка столько не поддерживает.
- загрузочные сектора fat и ntfs ошибочно определялись как таблицы разделов dos, вместо их обработки как петлевой разметки.
- ранее, если вы игнорировали предупреждение о том, что gpt считает, что размер диска меньше, чем на нём содержимого, то последующие предупреждения для других дисков подавлялись. Теперь parted отображает предупреждения для каждого диска отдельно.
- символическая ссылка /dev/md может изменяться после того, как libparted её разыменовал, вместо банального использования символической ссылки, указанной вызвавшим, как это делается с /dev/mapper
- на multipath-системах новые разделы иногда не создавались с ошибкой «device-mapper: create ioctl failed: Device or resource busy» до перезагрузки системы. Добавлены вызовы dm_udev_wait для синхронизации parted c udev.
- исправлена обработка окончания диска на GPT. Ранее, если резервная копия GPT была не в конце диска и эта ошибка игнорировалась, parted всё равно перемещал её в конец. Теперь при игнорировании этой ошибки резервная копия будет оставаться на месте.
- обработка начала логических разделов непосредственно после EBR. Создание логического раздела со следующего после EBR сектора вынуждало parted жаловаться, что он не сможет уведомить ядро об изменениях, но после перезагрузки всё было в порядке. Теперь parted корректно уведомляет ядро об изменениях, только выставляет длину расширенного раздела в 1 сектор вместо двух, что вызывает его пересечение с логическим разделом.
- исправлено падение при манипуляциях с разделами на dmraid-дисках, на которых используются другие разделы.
- mac: таблица разделов MAC могла иметь размер блока больше, чем уведомляло ядро. При чтении такой таблицы разделов libparted спрашивает, использовать ли больший размер блока. При утвердительном ответе он читал в буфер количество байт больше его длины, вызывая переполнение.
- gpt: исправлена работа gpt_get_max_supported_partition_count на little-endian системах
- диски без pMBR обрабатывались как диски с ms-dos-разметкой, даже если у них были верные GPT-заголовки.
- partprobe
- при вызове для диска, ставшего петлевой разметкой, удаляются все разделы, оставшиеся от предыдущей разметки.
- partprobe теперь сообщает ядру забыть обо всех разделах на устройстве, на котором нет распознаваемой таблицы разделов.
- parted
- исправлена обработка EOF и Ctrl+C. parted отклонял выход при нажатии Ctrl+C и уходил в бесконечный цикл, запрашивая продолжения ввода, когда получал EOF со stdin.
- Исправлено определение файловых систем на секторах размером не 512 байт.
- Исправлены коды синхронизации linux-разделов для сброса разделов > 16.
- Загрузочный сектор FAT не отклоняется как битый, если у него строки system ID.
- Исправлен текст справки для disk_{set,toggle}, теперь показываются флаги диска вместо флагов раздела.
- Исправлена обработка не-ASCII символов в названиях разделов на GTP
- Если размер диска был стократно чётной степенью двойки, размеры, выраженные в процентах, вызывали точное правило размещения и не округлялись до ближайшей половины процента.
- Избегается создание событий udev add/remove для всех неизменённых разделов при записи новой таблицы разделов.
- Исправлена проблема когерентности кэшей путём сброса разделов — блочных устройств. Это было по ошибке отключено в parted 2.0 и приводило к тому, что parted иногда идентифицировал предыдущие типы ФС после вызова mkfs для форматирования раздела в новый тип.
- dos: диапазон случайных сигнатур MBR искусственно ограничивался до 0..999999, и 0 в этот диапазон включён случайно. Теперь используется полный 32-разрядный диапазон, но без 0.
Изменения в поведении:
- При попытках манипуляции со смонтированным разделом, parted вместо ошибки теперь выбрасывает предупреждение, которое можно проигнорировать.
- При создании петлевой разметки автоматически создаётся раздел размером с весь диск.
parted -l
больше не выводит устройства Device Mapper, кроме целых dmraid-дисков.- Добавлен Linux-специфичный код GUID типа раздела (0FC63DAF-8483-4772-8E79-3D69D8477DE4) для файловых систем Linux на GPT-дисках. Этот код типа теперь выставлен как код по умолчанию для новых разделов, содержащих файловые системы Linux.
- Добавлен новый флаг msftdata, идентифицирующий разделы, содержащие ФС NTFS или FAT на GPT-дисках. Этот флаг соответствует коду типа GPT EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 («Microsoft Basic Data»). Поскольку разделы файловых систем Linux изначально использовали данный код типа, этот флаг можно опционально выставить для разделов Linux, чтобы обеспечить соответствие кода предыдущим конфигурациям на случай проблем с новым кодом в каких-либо утилитах. Имейте в виду, что этот флаг нельзя убрать с разделов NTFS и FAT из parted кроме как установив конкурирующий флаг, например, boot (который устанавливает код типа, используемый EFI System Partitions) или msftres (устанавливающий код «Microsoft Reserved»).
Если нет нужного публичного ключа — можете импортировать его: gpg --keyserver keys.gnupg.net --recv-keys 8E45A0223348AAF0
.
Релиз собран с Autoconf 2.69, Automake 1.14.1, Gettext 0.18.3, Gnulib v0.1-139-g98ca2c0 и Gperf 3.0.4.ttt
>>> Источник