As documented:
Usage: VBoxManage internalcommands <command> [command arguments]
Commands:
loadmap <vmname|uuid> <symfile> <address> [module] [subtrahend] [segment]
This will instruct DBGF to load the given map file
during initialization. (See also loadmap in the debugger.)
loadsyms <vmname|uuid> <symfile> [delta] [module] [module address]
This will instruct DBGF to load the given symbol file
during initialization.
sethduuid <filepath> [<uuid>]
Assigns a new UUID to the given image file. This way, multiple copies
of a container can be registered.
sethdparentuuid <filepath> <uuid>
Assigns a new parent UUID to the given image file.
dumphdinfo <filepath>
Prints information about the image at the given location.
listpartitions -rawdisk <diskname>
Lists all partitions on <diskname>.
createrawvmdk -filename <filename> -rawdisk <diskname>
[-partitions <list of partition numbers> [-mbr <filename>] ]
[-relative]
Creates a new VMDK image which gives access to an entire host disk (if
the parameter -partitions is not specified) or some partitions of a
host disk. If access to individual partitions is granted, then the
parameter -mbr can be used to specify an alternative MBR to be used
(the partitioning information in the MBR file is ignored).
The diskname is on Linux e.g. /dev/sda, and on Windows e.g.
\\.\PhysicalDrive0).
On Linux or FreeBSD host the parameter -relative causes a VMDK file to
be created which refers to individual partitions instead to the entire
disk.
The necessary partition numbers can be queried with
VBoxManage internalcommands listpartitions
renamevmdk -from <filename> -to <filename>
Renames an existing VMDK image, including the base file and all its extents.
converttoraw [-format <fileformat>] <filename> <outputfile>
Convert image to raw, writing to file.
converthd [-srcformat VDI|VMDK|VHD|RAW]
[-dstformat VDI|VMDK|VHD|RAW]
<inputfile> <outputfile>
converts hard disk images between formats
repairhd [-dry-run]
[-format VDI|VMDK|VHD|...]
<filename>
Tries to repair corrupted disk images
debuglog <vmname|uuid> [--enable|--disable] [--flags todo]
[--groups todo] [--destinations todo]
Controls debug logging.
passwordhash <passsword>
Generates a password hash.
gueststats <vmname|uuid> [--interval <seconds>]
Obtains and prints internal guest statistics.
Sets the update interval if specified.
WARNING: This is a development tool and shall only be used to analyse
problems. It is completely unsupported and will change in
incompatible ways without warning.
Another interesting one, if we want to create and boot a virtual machine from a USB device. Steps are:
Usage: VBoxManage internalcommands <command> [command arguments]
Commands:
loadmap <vmname|uuid> <symfile> <address> [module] [subtrahend] [segment]
This will instruct DBGF to load the given map file
during initialization. (See also loadmap in the debugger.)
loadsyms <vmname|uuid> <symfile> [delta] [module] [module address]
This will instruct DBGF to load the given symbol file
during initialization.
sethduuid <filepath> [<uuid>]
Assigns a new UUID to the given image file. This way, multiple copies
of a container can be registered.
sethdparentuuid <filepath> <uuid>
Assigns a new parent UUID to the given image file.
dumphdinfo <filepath>
Prints information about the image at the given location.
listpartitions -rawdisk <diskname>
Lists all partitions on <diskname>.
createrawvmdk -filename <filename> -rawdisk <diskname>
[-partitions <list of partition numbers> [-mbr <filename>] ]
[-relative]
Creates a new VMDK image which gives access to an entire host disk (if
the parameter -partitions is not specified) or some partitions of a
host disk. If access to individual partitions is granted, then the
parameter -mbr can be used to specify an alternative MBR to be used
(the partitioning information in the MBR file is ignored).
The diskname is on Linux e.g. /dev/sda, and on Windows e.g.
\\.\PhysicalDrive0).
On Linux or FreeBSD host the parameter -relative causes a VMDK file to
be created which refers to individual partitions instead to the entire
disk.
The necessary partition numbers can be queried with
VBoxManage internalcommands listpartitions
renamevmdk -from <filename> -to <filename>
Renames an existing VMDK image, including the base file and all its extents.
converttoraw [-format <fileformat>] <filename> <outputfile>
Convert image to raw, writing to file.
converthd [-srcformat VDI|VMDK|VHD|RAW]
[-dstformat VDI|VMDK|VHD|RAW]
<inputfile> <outputfile>
converts hard disk images between formats
repairhd [-dry-run]
[-format VDI|VMDK|VHD|...]
<filename>
Tries to repair corrupted disk images
debuglog <vmname|uuid> [--enable|--disable] [--flags todo]
[--groups todo] [--destinations todo]
Controls debug logging.
passwordhash <passsword>
Generates a password hash.
gueststats <vmname|uuid> [--interval <seconds>]
Obtains and prints internal guest statistics.
Sets the update interval if specified.
WARNING: This is a development tool and shall only be used to analyse
problems. It is completely unsupported and will change in
incompatible ways without warning.
I think some of the most useful ones are:
repairhd
converthd
So, if we want to convert Qemu's virtual-disk format (QCow) to VDI/VMDK/VHD, the steps are as follow (assume the qemu' image file is called home.qcow):
qemu-img convert -f qcow home.qcow -O raw home_raw.img
vboxmanage internalcommands converthd -srcformat RAW -dstformat VDI home_raw.img home.vdi
or
VBoxManage convertfromraw -- format VDI home_raw.img home.vdi |
Another interesting one, if we want to create and boot a virtual machine from a USB device. Steps are:
- Verify which device the usb drive is attached to (e.g, /dev/sdd)
- Do: VBoxManage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /dev/sdd
- Start VirtualBox and mount the file usb.vmdk in the storage (or, create a new Virtual Machine and attach the file usb.vmdk as the first storage)