Ubuntu: How to use a real partition with Windows 7 installed, in a virtualbox vm?


My Ubuntu 12.04 is installed on /dev/sda5 and Windows 7 on /dev/sda1. When I am running Ubuntu, I would like to use Virtualbox to run Windows 7 in a VM. The Windows 7 partition is 1 TB and is half full, i.e. large, so I don't want to copy it into a virtual hard disk.

I have read that it is possible to use a real hard disk for a Virtualbox VM, but the various instructions I have found differ from each other, and I can't seem to get it to work. Does anyone know a way to make it work in Ubuntu 12.04 and Virtualbox 2.1.12_Ubuntu r77245 (the latest Ubuntu installed the repos)?

Please post how it works for you as I want to retry any method that might work.


The command you want is

VBoxManage internalcommands createrawvmdk -filename Win7.vmdk -rawdisk /dev/sda -partitions 1  

This will create a special VMDK virtual disk file (Win7.vmdk) which is actually a pointer to the host disk partition /dev/sda1.

In theory, you can then use this as the disk file for a VM to run directly from the actual disk partition, but...

  • (a) I've never tried this, so don't know how reliable it is
  • (b) you may get problems with Windows Activation depending on your license key and whether Windows decides that the detected 'hardware' has significantly changed


Yes you can do that with the internal createrawvmdk command, which will not create an entire disk image, but a pointer to the actual hardware.

There are two ways to do that

  • A. Full disk image (of /dev/sdb)

    sudo VBoxManage internalcommands createrawvmdk -filename sdb.vmdk -rawdisk /dev/sdb  
  • B. Partition image

    As @StarNamer showed, you ca use only one or few partitions.

    To create image of just one (/dev/sda1) partition:

    sudo VBoxManage internalcommands createrawvmdk -filename sda1.vmdk -rawdisk /dev/sda -partitions 1  

    To create custom partition table which will map /dev/sda2 and /dev/sda1 in that order:

    sudo VBoxManage internalcommands createrawvmdk -filename sda2_1.vmdk -rawdisk /dev/sda -partitions 2,1  

Most striking difference will be that full disk image will use bootloader and partition table exactly as they are in your disk, so in theory (I did that previously only in qemu) you will be able to setup OS from your virtual machine. And from my limited experience I can say that full disk image will work exactly as qemu -hda /dev/sdb

Further reading:


There is an Disk option called "Immutable", so in theory if you select this option for the vmdk linking to your raw disk, it should not change the original partition.

To do so open "Virtual Media Manager" found under "File", select your image and click "Modify" (You have to make sure this image is not attached to any machine, otherwise you get an error). Now you can set the media type to "Immutable".

I have not tested this, though. If anyone does (of course with a test setup) it would be good to report back here.

Has anyone considerations which speak against this idea?


For several years now, I have been running dual-booted Windows and Ubuntu with the Ubuntu Partition also booting into Windows VirtualBox to take advantage of the touch-screen capabilities that Linux hasn't yet mastered.

I set it up with instructions similar to below;

The new machines can simultaneously handle both OSs better than single systems on old machines.

Downside: You need to save the instructions you use for setup in case an update disables the VirtualBox connection (my current problem).

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »