Вот пример, который автоматизированный инструмент использует для изменения размера раздела в сети, за один прогон:
sgdisk -d 1 -n 1: 2048: 0 -c 1: -u 1: E485F29F-A1F4-4953-9DD8-799EAEA0119B -t 1: 0700 /dev /xvda
Вот список параметров для команды sgdisk:
- -d 1 удалить первый раздел
- -n 1:2048:0 говорит о создании нового раздела "номер 1" с начальным сектором 2048. Конечный сектор = "0", что означает "использовать все доступное пространство для этого раздела
- -u устанавливает уникальный guid для этого раздела (это характерно для разделов GPT); Вы можете использовать "R" для GUID, чтобы установить случайное значение. Вы также можете получить идентификатор текущего раздела через
gdisk /dev/xvda; p
вывод, чтобы использовать тот же UID
- -t 1:0700 означает, что первый раздел имеет тип-код '0700'.
/dev/xvda был диском, который мы переделили.
Таким образом, он сразу удаляет и создает новый раздел на своем месте.
PS. Несколько замечаний по типу '0700'. От мужчины SGDISK(8)
-t, --typecode=partnum:{hexcode|GUID}
Change a single partition's type code. You enter the type code using either a two-byte hexadecimal number, as
описанный ранее, или полностью указанное значение GUID, например, EBD0A0A2-B9E5-4433-87C0-68B6B72699C7.
Здесь вы найдете лучшее объяснение того, что означает «0700» - http://www.rodsbooks.com/gdisk/walkthrough.html
«Но подождите, - говорите вы, - я думал, что на диске есть раздел FAT!"Это действительно так. Windows использует один код GUID для всех своих разделов данных, будь то FAT или NTFS. В прошлом тот же код использовался в Linux для его разделов данных. (Подробнее об этом в ближайшее время ....) Таким образом, в этом случае несколько разных кодов MBR преобразуются в один код GUID GPT. GPT fdisk использует несколько произвольно код 0x0700 (или, точнее, EBD0A0A2-B9E5-4433-87C0-68B6B72699C7) для всех этих целей.
В моем случае я считаю, что это был раздел ext4 в Linux, но typecode раздела не означает тип файловой системы, поэтому «0700» больше похож на универсальный тип для sgdisk. По крайней мере, в тех случаях, которые я видел.
PPS. Вам может потребоваться запустить partprobe
для ядра, чтобы узнать об изменении разделов без перезагрузки системы.