Сохранение измененной карты разделов GPT в файл в GParted или аналогичных инструментах

Сохранение измененной карты разделов GPT в файл в GParted или аналогичных инструментах

Я могу использовать 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

Связанный контент