如何以自动化的方式更改 qcow2 映像上的分区名称?

如何以自动化的方式更改 qcow2 映像上的分区名称?

qemu-img我已经使用和调整了 Debian qcow2 映像的大小virt-resize。这会破坏映像,因为它将分区从 sda1、sda14 和 sda15 重命名为 sda1、sda2 和 sda3。我正在寻找一种工具,可以让我将这些名称改回来,同时也可以让我保持流程的自动化。我正在使用Ansible我的自动化。

我看过了,它似乎没有virt-resize能力保留分区名称,这意味着这似乎是非常糟糕的设计。但这可能只是我是一个菜鸟。我发现virt-rescue它似乎可以完成这项工作,但它是交互式的,所以我无法自动化它。

有什么建议么?

答案1

从问题的上下文来看,我假设 GPT。这可以通过 sfdisk 完成:

sfdisk --dump /dev/sdx > partitions.sfdisk # dump partition table into human readable format
sed -i 's|sdx2|sdx14|g' partitions.sfdisk # make your changes
sfdisk /dev/sdx < partitions.sfdisk # write changed partition table to device

但是,我必须告诉您:此更改的必要性是管理员版本的代码气味。设备名称在过去确实很重要。如今,系统的所有相关部分(引导加载程序、安装程序等)都应该使用 UUID 或标签。

相关内容