Fix Slow Performance of Windows 10 Guest in VirtualBox

VirtualBox is my virtualization software of choice. It is free and feature-rich, so all my virtual machines are created in VirtualBox. Starting with Windows 10 April 2018 Update (and its pre-release versions), I noticed very poor performance of Windows 10 guests in VirtualBox. Here is how I fixed it.

Let's start with official Windows 10 system requirements, which are as follows.

Processor:1 gigahertz (GHz) or faster processor or SoC
RAM:1 gigabyte (GB) for 32-bit or 2 GB for 64-bit
Hard disk space:16 GB for 32-bit OS 20 GB for 64-bit OS
Graphics card:DirectX 9 or later with WDDM 1.0 driver
Display:800x600

Now, let's create a new Windows 10 machine in VirtualBox and see which settings it will use by default.

Click on the File - > New Machine to open the new machine wizard.

VirtualBox New Machine

Select Windows 10 (32-bit or 64-bit) and fill in the machine name box.

VirtualBox Name Machine

By default, VirtualBox will dedicate 1 GB of RAM for a 32-bit Windows 10 machine, and 2 GB for its 64-bit version. In my case, it is a 64-bit instance.

VirtualBox Machine Memory

The virtual hard drive will get 50 GB of disk space.

VirtualBox Machine Disk

It is OK to use VDI as the hard drive image format. I am using a dynamically expanding virtual disk to save space on my real hard drive. However, using a pre-allocated (fixed size) disk image will speed up your guest OS a little.

VirtualBox Machine Disk Type

VirtualBox Machine Disk Type 2

VirtualBox Machine Disk Type 3

Your virtual machine is now created. It fits the official system requirements, so everything should be fine.

However, after installing Windows 10 on such a virtual machine, you will face extremely poor performance in the guest OS. It will work slow as hell, making you wait for several minutes for simple action such as opening Settings or File Explorer.

Fix Slow Performance of Windows 10 Guest in VirtualBox

The secret is in the CPU configuration of the virtual machine. By default, it is set to single core.

VirtualBox Cpu Cores

While the official system requirements don't mention CPU cores, it looks like Windows 10 needs at least a dual-core CPU to run smoothly. I recommend you to change the Processor parameter to half of your CPU cores. i.e. if your CPU is 8-core, set this parameter to 4.

VirtualBox Increase Cpu Cores

Also, increasing RAM to 3 GB (3072 MB) allows the OS to work better. It is not really necessary, but it's better to make this change if you have enough memory on the host hardware.

VirtualBox Increase Ram

Now, start your Windows 10 virtual machine. You'll notice the difference.

6 thoughts on “Fix Slow Performance of Windows 10 Guest in VirtualBox

  1. David H Johnson

    If you are using Hyper-V in Windows to set up a virtual machine you also need to change the CPU to more than one core before you start your installation.

    Reply
  2. J

    Now if only there was a way to enable Fluent Design in Virtualbox… Unless there is?

    Reply
    1. Sergey Tkachenko Post author

      It is enabled out of the box there. However, it has glitches.

      Reply
      1. J

        Really? Fluent Design transparency or reveal effects have never worked for me in VirtualBox. Even with the VirtualBox extensions installed. Is there some setting I’m not aware of? I’ve been reading about this over at VirtualBox forums a while back and the consensus was that it doesn’t work because VirtualBox graphics drivers don’t support it.

        Reply
        1. Sergey Tkachenko Post author

          Sorry, I was wrong.
          I have managed to get the Fluent Design effects over rdesktop in Linux, but not in VirtualBox.
          You are right, the driver doesn’t provide acceleration.

          Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.