我想将转换后的.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/sdc
或pv /dev/sdb --sync > /dev/sdc
将数据从一个驱动器复制到另一个驱动器。