我有 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>