You can boot into ubuntu, and BOOT an EXISTING Windows Partition in a VM. I've done this with VMWARE before. I.e machine had Windows, now machine has Linux + Windows in separate partitions. I boot Linux, load VMware and boot the physical partition with windows (i.e a real disk running through a VM)
It worked fine for me. However it is tricky, and you need to first boot Windows and create another hardware profile and boot that one, since all your drivers will change on first boot. Have not tried it with VirtualBox but it seems it needs a "fake" virtual disk pointing to the physical one. Interestingly VMware doesnt, it can talk to a physical disk or partition.
Try this :
http://www.bluemind.org/tips-a-tricks/9-linux/29-virtualbox-using-physical-bootable-partition.html
Finally, remember creating a virtual disk will be the most efficient, since a VM is designed to run virtual machines in its proprietory disk structure in a file, not a physical disk. Although some would argue its trivial since its emulating a PC either way. Oh yes, and NEVER tell a VM to boot your primary partition that the VM Host is on. Unless you really wanna see suprises...