Windows 10 works slowly on Virtualbox. How to speed up?

The problem: Windows 10 works slowly on Virtualbox virtual machine, while Windows 7 is fast and snappy. You may see similar situations on the Internet forums. People often ask “Why is my Windows 10 so slow on virtualbox VM? I have Core i7, 16 GB of RAM, I assigned 4 cores of CPU and 4 GB of RAM to the virtual machine but the CPU usage is 100% all the time! Svchost.exe process is loading CPU to 100%”  Let us see what are the possible reasons of low performance and how to speed up Windows 10 on virtual machine. 

Update Virtualbox to the latest version

Do not forget that a lot of bugs can be fixed in new version. Especially when it deals with the fresh version of Windows (Windows 10 for now). For example a lot of users were experiencing the problem of 100% CPU load by svchost.exe process on Windows 10 guest OS lately. This issue disappeared after updating Virtualbox to the version 5.0.16 r105871:

update virtualbox

Update 2019! Virtualbox version 6.0 works with Windows 10 much better. The only condition is to have a modern platform. On my Z390 AORUS PRO with Core i7 9700K it works just fine whereas the same VBox version on my old PC with Core2Quad Q9500 works slow as hell.

Use optimal (or default) settings for virtual machine

Often users tweak settings of virtual machine believing that they boost performance. But in fact ignorant tweaking can reduce performance. In this case you can see svchost.exe loads the CPU to 100% and very slow response of GUI.

Tip 1: Turn off your virtual machine. Go to its Settings and try to change the quantity of processors. Note that the performance can decrease if you assign all physical cores to the virtual machine. So assigning 2 cores of 4 available is usually the best variant.

Tip 2: Try to set all values to their defaults for Windows 10 guest operation system:

windows-10-slow-work-on-virtualbox

If you are unsure whether this or that option was enabled or disabled by default you can create a new virtual machine for the same guest OS and see the default parameters. Then just delete the new machine when you don’t need it.

In most cases would be optimal to use default settings. Do not change default settings of the virtual machine unless you are 100% sure what you are doing!

Turn Off Windows Defender

In most cases people use Virtual Machines to develop software, to test operating systems and so on. If you are not using VM for surfing you can disable protection. It would save CPU resources greatly especially when it is about Windows 10 on Virtualbox.

this app is turned off by group policy

Enable virtualization technology

If you have the virtualization technology setting in your BIOS / UEFI enable it:

Enable virtualization technology

Use fixed disk size

When setting up a new virtual machine you can choose between dynamically allocated and fixed size disk types. A dynamically allocated disk can save disk space of your drive but it takes more time for Virtualbox to write to. A fixed-size disk uses all allocated space immediately, takes longer to create but works faster. We recommend to use fixed-size disk to speed up Windows 10 on Virtualbox:

windows 10 slow virtualbox: fixed-size disk
Use a fixed-size disk to speed up Windows 10 on Virtualbox

Install Virtualbox Guest additions

Guest Additions is the driver pack for virtual machine. It serves to improve performance of the guest OS. Please don’t forget to install it. You can do it at any time. Just click on Devices Insert Guest Additions CD Image and launch VBoxWindowsAdditions.exe:

windows 10 slow on virtualbox: install guest additions
Install Guest Additions

Move virtual disk file to SSD

Windows 10 is designed to be installed on SSD drive. So if you use Windows 10 on virtualbox VM you should place the virtual disk file on your fastest drive. If you have already installed Windows 10 you can move the file to another physical disk of the host system.

Extra steps to speed up Windows 10 on Virtualbox

1) Check virtual machine for malware using AdwCleaner and MBAM and remove all found items.

2) Reset the network interface settings using NetAdapter Repair:

reset network interface

3) Turn off the visual effects you don’t need in the guest OS:

turn off visual effects

The Conclusion

As you might understand the hardware of your host machine matters. If you upgrade to the latest platform and import your existing virtual machines you may find it work much faster on the same version of Virtualbox.

I appreciate your feedback very much. Please, find a minute to share your experience in the comments. Don’t forget to mention your hardware and Virtualbox version. Thank you in advance!

9 thoughts on “Windows 10 works slowly on Virtualbox. How to speed up?”

    • I wrote this article about a year ago. I decided to mention all tips that really helped me to improve performance at least for 30%. I agree that today Windows 10 works slow as hell on VM. But these tips often help to speed it up a bit.

      Reply
      • Thanks for the tips, I’m glad I’m not the only one disappointed by Windows 10 VM performance. With increasing popularity of VMs, you think that MS would have done more to support VMs.

        Reply
      • I just followed the advice to create a new virtual machine with default settings, and the speed is night and day, it is actually usable now.

        Reply
  1. What about Windows 10 UpDates, they took forever.
    I saw that manually downloading the kb*** file reduces time, but why M$ is launching one ServicePack every week or less. Of course M$ hides it is a ServicePack, they called acumullative update… but it changes the version number of Windows 10 and most times it is more than half a gigabyte on size.
    Not to mention the need for ‘good’ developers to have every possible version of Windows 10, so can test software on any possible version of Windows 10, that makes 33bit/64bit * home/pro/enterprise (six man versions) and that multiplied by the number of mayor versions (1507/1703/1709/1803… etc) and each one multiply by the number of ServicePacks (near one per week), etc… that gives a beautiful number of needing neat five hundred virtual machines, each with a partition of at least 64GiB (tested, with 32GiB updates fails to install because there is not enough space for old+new system files, and it do not tell you you need more space, just fails and revert back, a lot of time lost)…

    So how on the hell can have 32 terabytes (500 versions of Windows 10 * 64GiB each) of disk to store fixed size virtual machines, there is no other option to use “dynamic size” (each Windows, without pagefile, hiber, swap takes near 20GiB if it is ‘clean’ and without 3rd party apps).

    Developers (at least ‘good’ ones) need to ensure their apps will work well whatever version of Windows 10 has the person that will use it, or either do not say the app is Windows 10 compatible.

    Now imagine, 4 hours to update one guest, multiply that per 500 (actually it is now near 600), so 4*600=2400 hours, so 100 full days needed and they (M$) create a new version of Windows 10 near every week, so add 6 machines every week… unviable at all mantain updated all of them… not to mention how dare can be complicated to update old windows 10 versions without changing the verion on the update process, blocking each KB that can be seen as ServicePack, etc… too much time consuming.

    So, is there a easier way to update Windows 10, or at least a way much faster… what about doing it like Linux does on some distros, just replacing files with never versions and cleaning up old version upon first good reboot, all done in background I/O times? When M$ will learn how updates must be deployed? NEVER EVER! for sure.

    M$ pretends to kill all people, i now only sleep 15 minutes per week, so i will die in less than a year, but that is what is caused by M$.

    Reply
  2. I wish this MS monopoly never existed, I hope it goes away A.S.A.P. I payed for the Win10 with the hope of a less buggy OS, a faster one and with probably evolutionary modern solutions but all it is now is nothing+nothing+waste.

    Reply
  3. It is worth to check if it helps to set the chipset of the VM to “ICH9” (instead “PIIX3”).
    In this way, I was able to reduce the host CPU load of Win10 in idle (=guest system) from 60% to about 15%. Host: “Fujitsu Esprimo P710 E85 +” / Win7 / VirtualBox 6.0.12

    Reply
  4. For me changing Graphics controller from VBoxVGA (default) to VBoxSVGA (available with Guest Additions installed) and increasing VRAM to 256 MB helped greatly, now I barely notice it’s a virtualized OS.

    Reply

Leave a Comment