63

I would like to make a VirtualBox .vdi image out of my hard drive.

I've found howto's online that describe doing this by first usind DD to create a .raw image, then using VBoxManage to convert the .raw to a .vdi. SO if my HD is 1 TB, this process (temporarily) requires 2TB of space, to store both the .raw and .vdi.

I only have a bit more than 1TB of free space. Is there a way to create a .vdi image of a hard drive, without first having to create a .raw image?

4 Answers4

80

You can directly create an image with VBoxManage convertfromraw. First unmount the device, then:

VBoxManage convertfromraw /dev/sda MyImage.vdi --format VDI

Replace /dev/sda with whatever disk or partition you want to clone.

You may need to do this as root to gain access to the device. If so, then you should change ownership of the finished image.

Giacomo1968
  • 58,727
user235224
  • 916
  • 6
  • 3
14

I tried the accepted solution but for me it failed:

# VBoxManage convertfromraw /dev/sdg /path/to/file.vdi --format VDI
Converting from raw image file="/dev/sdg" to file="/path/to/file.vdi"...
Creating dynamic image with size 0 bytes (0MB)...
VBoxManage: error: Cannot create the disk image "/path/to/file.vdi": VERR_INVALID_PARAMETER

Maybe it couldn't detect the size because the disk was attached through USB?

So instead I got the size of the disk with fdisk -l

Disk /dev/sdg: 160.0 GB, 160041885696 bytes

And then I used the stdin form of convertfromraw

# dd if=/dev/sdg | VBoxManage convertfromraw stdin /path/to/file.vdi 160041885696 --format VDI
Converting from raw image file="stdin" to file="/path/to/file.vdi"...
Creating dynamic image with size 160041885696 bytes (152628MB)...
Daniel
  • 251
2

There are other safer ways to create a file of your current system that Virtualbox can work with. Vdi's are virtualbox specific files and are usually only generated by VB from a fresh virtual hard disk install.

You have many other options.

I recently used disk2vhd to create a .VHD (Microsoft Virtual Hard Disk) that Virtualbox imported beautifully. (Although it was an XP system) I don't think it works well with other OS's.

Alternatively there is Vmwares converter tool that can export your system to a variety of formats that virtualbox as well as other platforms can use. There are open standards for this kind of thing.

http://www.vmware.com/products/converter/features.html

Scandalist
  • 3,119
1

There are several tools that can be useful for your purposes:

VBoxHDTools

Disk2vhd

Simple VHD Manager

VhdxTool

Mount VHD

gdiskdump (for Linux)

etc

Source: Incremental cloning

acgbox
  • 844