7

We want to run our Ubuntu 64bit web server virtualized/emulated on a Windows 64bit host. Intended use is to distribute the VM to customers who might not have "elevated" or "admin" rights on the Windows machine. The system should be portable, i.e. run from a USB pen drive.

Because of this restriction, we ended up with QEMU which does not require special Windows rights to run. The drawback is that the Linux system only reaches 1/10 of the speed compared to running it in Virtualbox.

Is there any way to speed up QEMU on Windows 64bit hosts?

  • I had a look at KQEMU, but it is a service, so it can't be started by "normal" Windows users. Additionally, it seems to be end-of-life and 64bit support is experimental.
  • The WinKVM project also seems to be no longer actively developed, and probably also requires admin rights on the Windows host.

This is my QEMU commandline, maybe someone sees a possibility for improvement:

"C:\Program Files\qemu-2.1.0\qemu-system-x86_64.exe"
-drive "file=C:\disk1.vmdk,index=0,media=disk"
-drive "file=C:\disk2.vmdk,index=1,media=disk"
-smp 4
-net nic,vlan=0,macaddr=52-54-00-B3-47-55,model=rtl8139
-net user,hostfwd=tcp::9000-:80
-m 1024
Martin Heide
  • 81
  • 1
  • 1
  • 2
  • 3
    If you want to use QEMU/KVM, you get rid of the Windows host and use a Linux host. That's the only way. If you really must have Windows, then you virtualize with something else. – Michael Hampton Aug 22 '14 at 13:56
  • 1
    Unfortunately our customers are mostly Windows users. Do you know a solution that does not require "elevated" or "administrator" rights on the Windows host? – Martin Heide Aug 22 '14 at 17:54
  • Any specific reason that you cannot have a bootable Linux USB drive? – thkala Aug 23 '14 at 10:58
  • 2
    Yes: Our users are mostly Windows users, and they want to work with other software at the same time, e.g. MS office or CAD programs. Using a bootable USB drive would totally switch context and they would have to find suitable Linux programs for their tasks. Our customers are not IT experts, so forcing them to use another OS is generally not a good solution. And if your IT department doesn't give you admin rights, it will most likely also prevent you from booting from USB. – Martin Heide Sep 01 '14 at 10:14

5 Answers5

4

Go to "Turn Windows features on or off", and check the Windows Hypervisor Platform. Pass --accel whpx to QEMU. It works on my computer, and I don't have Pro or the May 2020 update.
If this is necroposting, sorry about that.

0x1a4
  • 41
  • 2
4

Inntran is right here: You can't use VM acceleration without loading a kernel module/driver, which needs administrative privileges.

However, this seems a bad method of software distribution to me: you don't need to deploy a Ubuntu images on every client, you simply need to install a single, shared instance and use it via SSH or via FreeNX/X2Go.

shodanshok
  • 44,038
  • 6
  • 98
  • 162
3

Hyper-V comes natively with recent Windows systems, even client ones.

You need local Administrator rights to enable it, but once enabled, you can give your users the rights to create and run virtual machines without the need to be full administrators, by placing them in the "Hyper-V Administrators" local group.

The performance are really good, because the virtualization technology is exactly the same used on Hyper-V servers (it actually runs under the main OS, although it looks like an application sitting on top of it).

Massimo
  • 68,714
  • 56
  • 196
  • 319
2

As far as I know, you can not access CPU's virtualization extension without a kernel driver.

VirtualBox might be a better answer to your situation. VirtualBox can make use of CPU's virtualization extension, so it's faster than plain QEMU, easier to use as well.

So try to persuade your customers' IT department to install VirtualBox on their machines.

inntran
  • 161
  • 3
0

QEMU on Windows could be accelerated via HAXM, see https://www.qemu.org/2017/11/22/haxm-usage-windows/

Jiri B
  • 497
  • 2
  • 11