将修改后的 GPT 分区映射保存到 GParted 或类似工具中的文件

将修改后的 GPT 分区映射保存到 GParted 或类似工具中的文件

我可以用来sgdisk -b /dev/sdx将磁盘的 GPT 分区映射保存到文件中。我想为具有一定大小的一个分区的 GPT 生成这样一个文件。我认为执行此操作的唯一方法是在 GParted 等工具中实际格式化磁盘,然后用于gdisk保存 GPT。

有没有办法(最好是在 GParted 中)使用我想要的分区设置 GPT 表,然后将其保存到文件而不是写入磁盘?

其他不需要的选项:

  • 手动编辑转储sgdisk。要把事情做好太难了。
  • 创建所需大小的 VirtualBox 磁盘,对其进行格式化,然后使用sgdisk.我想要的 440GiB 磁盘将花费很长时间。编辑:实际上,如果我使用动态分配的虚拟磁盘,这会很快,但这是一个笨拙的解决方案。

答案1

我了解您的问题与分区表和分区有关,而不是与数据有关。如果这是正确的,那么您的答案已经在parted和的手册页中这里

parted本质上创建一个创建 gpt 方案所需命令的脚本,然后

parted --script /dev/sdx [script commands]

可以将其放入 shell 脚本中并根据需要执行,或许可以将设备作为参数传递给脚本。

评论后编辑:根据该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

相关内容