The main difference between all those solutions is the same reason as why there are so many car companies - it is a big market and everyone thinks they can do it better.
As for your comparison points, everyone will give different answers. Typically, if you just want to mess around and know what you are doing, I would recommend Virtual Box. If you want to do more advanced things, I would recommend VMWare Workstation, if you do not know what you are doing, but just want to virtualise, I would recommend Microsoft Virtual PC.
Qemu is not virtualisation, it is emulation. this means it is slower, but it has its moments and its niche that other products do not fit in to.
As for your direct points:
Virtualization
The process of running a machine virtually, this is the general name of the topic.
Virtual Machine
A name for a single machine that runs virtually on a host.
Hypervisor
A hypervisor is a virtualisation technology which allows for the greatest performance by attempting to run as thin as possible on top of the bare metal hardware.
Paravirtualization
This term is very awkward and is subjective to different people. Typically, most modern virtualisation technology, even those that use a Hypervisor also use paravirtualisation for a few hardware components (e.g. networking controller.). My definition (which I am happy to be corrected on) is presenting virtual hardware which is different to the physical hardware it is actually connected to.
Hardware Virtualization
(typically) Support for virtualisation is built in to the processor directly which increases the performance. For example, in the early days of virtualisation, it was performed via emulation which has extra overhead. Hardware virtualisation is basically a bunch of "shortcuts" inside the processor that allow virtual machines to run a lot faster - in some cases, almost at the same speed as a native machine.
I hope this helps!
Probably not, or at least, no easy, well-supported way.
See http://en.wikipedia.org/wiki/X86_virtualization#Software-based_virtualization which says
The initial version of x86-64 (AMD64) did not allow for a
software-only full virtualization due to the lack of segmentation
support in long mode, which made the protection of the hypervisor's
memory impossible, in particular, the protection of the trap handler
that runs in the guest kernel address space.[12][13]:11 and 20
Revision D and later 64-bit AMD processors (as a rule of thumb, those
manufactured in 90 nm or less) added basic support for segmentation in
long mode, making it possible to run 64-bit guests in 64-bit hosts via
binary translation. Intel did not add segmentation support to its
x86-64 implementation (Intel 64), making 64-bit software-only
virtualization impossible on Intel CPUs,
Best Answer
Why is this question voted down? It's a good question.
As Vasily said, you can do this using VirtualBox. I have the same setup on my work PC: I have Ubuntu & Win 7 on different partitions on the same hard drive. I can boot into either using grub, or I can run Windows as a guest under Ubuntu as host. I've found that Symantec's hard drive scan tends to monopolize my hard drive, causing a bottleneck (2 OSs simultaneously hammering a single spinning disk).
Here's how you can do it:
1) Install VirtualBox on the Linux image you want to use as host. (I didn't use apt-get to install because I wanted it to work after Oracle inevitably breaks something with an update).
2) Depending on your system configuration, you may need to go into BIOS and enable VTx. I did.
3) Use this site (link) as a guide to setting up:
a) your virtual machine
b) your virtual disk image as a raw disk access to the partition where your other OS is installed. Raw disk access tells your host OS to directly use that partition, rather than using a file on your host OS's hard drive as the hard drive. Make sure you get the partition numbers right! Things can go very wrong on this step if you blindly copy commands you find on the internet, so I'll leave you with a warning to RTFA and RTFM (link TFM).
4) When I did this, I found at this point that Windows was having problems booting as a guest, so I booted Windows natively and burned a system repair disk.
5) Then I restarted, booted the guest OS from the repair disk, and let it do its thing (it just repaired the boot sector - the article above has you create a virtual one). Windows started working after this step!
6) I then re-activated Windows from the guest (it found a different hardware fingerprint and complained loudly at me), I installed VirtualBox's guest extensions, and and haven't had any problems since (~1 month ago).
PS: After doing this, booting into Windows natively automatically repairs the installation and I need to repeat step 5 the next time I boot the Windows VM; this isn't a big problem for me though, because I only ever have to boot Windows natively again once (when I decommission my PC).