Я могу использовать sgdisk -b /dev/sdx
для сохранения карты разделов GPT диска в файл. Я хочу создать такой файл для GPT с одним разделом определенного размера. Единственный способ, который я вижу, чтобы сделать это, — это отформатировать диск в инструменте типа GParted, а затем использовать gdisk
для сохранения GPT.
Есть ли способ, желательно в GParted, настроить таблицу GPT с нужными мне разделами, а затем сохранить ее в файле, а не записывать на диск?
Другие нежелательные варианты:
- Вручную отредактируйте дамп из
sgdisk
. Слишком сложно сделать все правильно. - Создайте диск VirtualBox нужного размера, отформатируйте его, затем экспортируйте с помощью
sgdisk
. Это займет целую вечность для диска размером 440 ГиБ, который мне нужен.Редактировать: На самом деле, это быстро, если использовать динамически выделенный виртуальный диск, но это неуклюжее решение.
решение1
Я понимаю, что ваш вопрос связан с таблицей разделов и разделами, а не с данными. Если это верно, то ваш ответ уже есть на страницах руководства для parted
издесь.
По сути, создайте скрипт команд, parted
необходимых для создания вашей схемы gpt, а затем
parted --script /dev/sdx [script commands]
Его можно поместить в скрипт оболочки и выполнять по мере необходимости, возможно, передав устройство в качестве аргумента скрипту.
Редактировать после комментария:Согласно информации на man sgdisk
странице, чтобы получить вывод sgdisk для «фантомного» диска, используйте опцию «-P», которая выполняет задачу(и) в памяти, но не фиксирует изменения на диске.
Я только что попробовал это с USB и, кажется, это работает.
sudo sgdisk -p /dev/sdb
Disk /dev/sdb: 31653888 sectors, 15.1 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 2016C547-548B-482E-8810-A5E7A1466CED
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 31653854
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 31651839 15.1 GiB 0700 IDEA #old name
sudo sgdisk -P -c 1:random -p /dev/sdb #change the name
Setting name!
partNum is 0
REALLY setting name!
Disk /dev/sdb: 31653888 sectors, 15.1 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 2016C547-548B-482E-8810-A5E7A1466CED
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 31653854
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 31651839 15.1 GiB 0700 random #name changed
повторное выполнение
sudo sgdisk -p /dev/sdb
Number Start (sector) End (sector) Size Code Name
1 2048 31651839 15.1 GiB 0700 IDEA #change not written
Изменение также отражено в выходных данных
sudo sgdisk -P -c 1:random --backup=phantomDisk /dev/sdb