将分区表添加到现有的 vhdx 分区映像

将分区表添加到现有的 vhdx 分区映像

我有 vhdx 格式的单个分区(不是完整磁盘)的映像。我想用它们创建带有 Hyper-V 的虚拟机。由于映像只是分区,因此机器无法启动。

如何添加磁盘头或将多个 vhdx 分区合并到带有头的单个 vhdx 磁盘。

注意:我有 2 个用例:

来自 WindowsServerBackup(/WindowsImageBackup) 的 vhdx imags linux ext4 分区,使用 dd 从 lvm 快照创建并使用 qemu-img 转换,我知道分区大小,因为源服务器必须正在运行

答案1

如果您可以访问 Linux 机器,那么解决这个问题就相当容易。

创建稀疏文件truncate -s 20GB file.img

将其连接到回送设备losetup --find --show ~/file.img。这会将创建的回送设备的名称返回到控制台。

使用 fdisk/parted 通过上一步中的循环设备在映像中创建所需的分区。

使用 dd 将您拥有的图像内容复制到循环设备的正确分区中

您可能需要做一些其他工作才能使映像可启动,例如安装 grub或者创建并填充 EFI 卷。但这是读者的练习。

完成所有操作后,卸载在此过程中挂载的所有文件系统,然后使用losteup --detach <loop device returned during creation>

相关内容