如何将 vboxmanage clonemedium 的输出导入 dd

如何将 vboxmanage clonemedium 的输出导入 dd

我想将转换后的.vdi文件导入/dev/sda。我的box.vdi是 2TB,我的硬盘也是 2TB,但我进行转换的系统只有 128GB。所有资源(参考文献1参考文献2) 我可以发现我需要将它写入一个中间文件,然后dd将该.img文件写入/dev/sda

当我运行:vboxmanage clonemedium box.vdi /dev/null --format=RAW;我得到:VBoxManage: error: Cannot create destination file "/dev/null": VERR_ALREADY_EXISTS;与尝试写入相同/dev/sda

答案表明我可以使用管道,但是我收到了错误error: unknown option: -,并且该答案来自旧版本的 VirtualBox。

# vboxmanage clonemedium  box.vdi - --format=RAW | dd of=/dev/null

Oracle VM VirtualBox Command Line Management Interface Version 7.0.12
Copyright (C) 2005-2023 Oracle and/or its affiliates

VBoxManage: error: unknown option: -

Usage - Create a clone of a medium:

  VBoxManage clonemedium <uuid | source-medium> <uuid | target-medium> [disk | dvd | floppy] [--existing]
      [--format= VDI | VMDK | VHD | RAW | other ] [--variant=Standard,Fixed,Split2G,Stream,ESX]
# vboxmanage clonemedium  box.vdi --format=RAW | dd of=/dev/null              
Oracle VM VirtualBox Command Line Management Interface Version 7.0.12
Copyright (C) 2005-2023 Oracle and/or its affiliates

VBoxManage: error: Mandatory output file parameter missing

答案1

一个足够好的解决方案是使用将文件vboxmanage internalcommands createrawvmdk --filename mapped_drive.vdi --rawdisk /dev/sdX映射.vdi到物理驱动器。然后,您可以将映射驱动器和要克隆的驱动器附加到新的虚拟机上。虚拟机内部将出现两个驱动器,您可以使用dd if=/dev/sdb of=/dev/sdcpv /dev/sdb --sync > /dev/sdc将数据从一个驱动器复制到另一个驱动器。

相关内容