Install Windows 10 in VirtualBox (UEFI)

Some Linux users face a problem of the need to run Windows-specific utilities in Linux. The simplest and reliable way to do that is to use Windows in a virtual machine inside Linux. In this post, you will learn how to install Windows 10 in VirtualBox and make this Windows system completely functional including full-screen mode, shared clipboard, shared folder and other handy features that help integrate Virtual environment and your main system.

Content

VirtualBox is an application developed and maintained by Oracle that allows you to install operating systems in a virtual environment inside other operating systems. Thanks to VirtualBox we can install several operating systems, including Windows 10, in our main Linux system. VirtualBox is very intuitive to use but some tips are required to make an installed system fully functional.

Install VirtualBox on your system

VirtualBox is a very popular application in Linux. So, it is available in most of the official repositories of the most used Linux distributions. You should be able to find it in your Software Center.

However, it is possible that the version in the repositories is a bit out of date. If you want to download the latest version or if you are using Windows or macOS, then you can download it from the VirtualBox website.

Create a new Virtual Machine for Windows 10

To install Windows 10 in VirtualBox it is necessary to create a virtual machine. Click on the New button. You can also do it with the keyboard shortcut CTRL + N.

Create a new virtual machine in VirtualBox

In the opened window, you have to type the name of a new virtual machine. If you type the name Windows 10, VirtualBox will complete the rest of the fields. However, if it does not detect everything correctly, you can modify some of the fields. Then click on the Next button:

Typing the name of the new virtual machine in VirtualBox

Next, you have to define the size of the RAM that the new virtual machine will use. For Windows 10 the recommended size is at least 3Gb. Then, click on the Next button:

Set the RAM size for the virtual machine

After that, you need to choose the virtual hard disk that the virtual machine will use. Normally you have to create a new one. So, choose the second option and click on the Create button:

Create an empty virtual disk for Windows 10

Then you have to choose the type of hard disk. There are three options, choose the first one (VDI):

Choose the virtual disk type

In the next window, choose Dynamically Allocated. This way the virtual disk will use only the amount of space that is taken by the virtual system instead of the maximum allocated space. This option helps to use the disk space more effectively:

Creating a new virtual hard disk

Finally, you have the option to set the path where the virtual hard disk file will be located and its size:

Set the virtual hard disk size and location

After this, the virtual machine will be created.

Configuring VirtualBox for Windows 10 installation

There are a few more things to be adjusted before you can use it to install Windows 10.

First, from the main VirtualBox window select the Windows 10 virtual machine and click on the Settings button:

Open the Windows 10 virtual machine settings

Now you will see the options of this virtual machine. On the left side click on the System section and then the Motherboard tab, and enable EFI because Window 10 requires the EFI mode:

Configuring the new virtual machine

Then, in the Processor tab increase the number of processor cores to be used by the virtual machine. Check how many cores VirtualBox will allow you to use without warning. In my case, I have 4 cores and VirtualBox allows me to allocate 2 cores for the virtual machine without any harm for my main system:

Set more cores to the Windows 10 virtual machine

After this, click on the Display section and increase the amount of Video Memory for the virtual machine. I recommend 128Mb minimum. Also for Windows 10, you need to enable 3D and 2D Video Acceleration:

Windows 10 virtual machine display settings

Now, it is necessary to define the location of the ISO file of the Windows 10 ISO image. Click on the Storage section, and select the small disk icon that says Empty. Then, click on the disk image on the right side and select your Windows 10 ISO image:

Set the Windows 10 ISO location

Next, click on the Ok button.

Download Windows 10 ISO

In case you do not have the Window 10 ISO image, you can download it from the Microsoft website:

Download Windows 10

Then, add this ISO image to VirtualBox as shown above.

Install Windows 10 in VirtualBox

Now you can start the virtual machine. Select it and click on the Start button:

Start the Windows 10 virtual machine

VirtualBox mouse pointer Capture

When you start the virtual machine you will be asked if you want the guest system (Windows 10) to capture the events of the mouse and keyboard. Read the instructions on how to use mouse integration with VirtualBox and agree to Capture:

Capture the mouse pointer in VirtualBox

The rest of the process is the standard Windows 10 installation.

Windows 10 installation

First, choose the language, keyboard layout, and time format:

Choose the system language for Windows

After that, click on the Install Now option:

Install now option of Windows 10

If you have a valid Windows 10 license, you can add it on the following screen. If not, you can click on the option I don’t have a product key and continue in a trial mode:

Activate Windows license screen

If you downloaded the ISO from the Microsoft website, it will contain several types of systems. You can select whatever version you prefer. I select Windows 10 PRO:

Selecting the Windows 1O version to install screen

Accept the terms of the license and continue:

Windows 10 License terms

As the hard disk is newly created and has no partition created you will have to choose the Custom: Install Windows only option:

Choose the type of Windows installation

In this screen, you will only have to select the only visible disk and click on the Next button. The installer will create and format the partition automatically:

Select the disk to install Windows

Then, it will start the installation:

Windows 10 is being installed

The Windows 10 installer will restart virtual machine several times. This is normal. After the restart, you will need to provide the information on your region:

Provide the region information for Windows 10 installation

Keyboard layout:

Provide the keyboard layout for Windows 10 installation

Then, you can choose to configure it for personal or business use. Likely, you will need to choose for personal use:

Windows 10 Personal or Business set up choice

Next, you can log in to your Microsoft account or skip it by choosing Offline account:

Windows 10 Microsoft sign-in screen

Type the name of the user who will use the system:

Set the user name

Set a password for the system:

Set a password for the system

If you do not use multiple Windows 10 devices, you can skip this section:

Configure multiple devices option on Windows 10

The following screen corresponds to the Cortana configuration. Probably, you won’t need it in a virtual machine, so you can also skip this section:

Configuring the Windows 10 digital assistant

Configure your privacy settings. I usually disable all options in this screen:

Disable the tracking and advertising in Windows 10

Finally, you have to wait about half an hour to complete the install and then you will be able to log in to your Windows 10 in VirtualBox:

VirtualBox Windows 10 first log in

At this stage, Windows 10 is correctly installed but it is not fully functional. So, you need to do a few additional steps to get maximum from your Windows 10 in VirtualBox.

Fix the screen resolution for Windows 10 in VirtualBox

One of the first things you will notice is that this Windows screen is too small and not adapted to the size of your screen (see the image above). To fix that and also enable some additional features, you need to install VirtualBox Guest Additions.

Install VirtualBox Guest Additions

Go to Devices in the VirtualBox menu of the running Windows 10 and click on the Insert Guest Additions CD image option:

Insert Guest Additions CD image in VirtualBox

Then, in your Windows 10 system, open the file manager and go to This PC on the left side. In the Devices and Drives section, you will find the VirtualBox Guest Additions CD:

VirtualBox Guest Additions CD in the Windows 10 file manager

Once you have entered the image, you will see many different files. If the installed Windows 10 is 64-bit, you have to install the VBoxWindowsAdditions-amd64 file but if the system is 32-bit then you have to install VBoxWindowsAdditions-x86. Most Likely, you have the 64-bit system. So, install it by double-clicking on the file:

Install the VirtualBox guest additions in Windows 10

During the installation, keep all options by default:

Start the process of installing the VirtualBox Guest Additions

Note: The screen will blink several times during the installation process. This is normal and there is nothing to worry about, just wait for the installation to finish.

Once the installation is complete, it is necessary to restart the system to apply the changes:

Reboot the system to complete VirtualBox Guest Additions installation

When you start your system, your Windows 10 screen will adapt to the size of your real screen:

Now Windows 10 adapts its screen resolution to the size of your screen

Test full-screen mode

You can even view this Windows 10 in the full-screen mode. To that end, go to the View menu and click on the full-screen mode option or simply press the keys right CTRL + F:

Enabling the full-screen mode in VirtualBox

So, you can enjoy full-screen mode. To exit from the full-screen use the same shortcut right CTRL + F.

Enable Shared Folder

When working with virtual machines it is also convenient to share files between the host and the guest systems. This can be achieved with a Shared Folder.

To enable it, go to the Devices menu and in the Shared Folders category click on the Shared Folders Settings option:

Shared folder option in the VirtualBox menu

In the opened window, select the Machine Folders option and click on the small folder icon on the right side:

Add a shared folder to VirtualBox

In Folder Path field, choose the path of the folder you want to share. In my case, I usually share my Public folder. If you want to increase the security of the folder you can check the Read-Only option to prevent Windows 10 from modifying the contents of this folder. This way only Linux system can modify this folder. It is also better to make the folder mount automatically and make it permanent:

VirtualBox shared folders settings

In the end, reboot the Windows 10 system to apply the new configuration.

After the reboot, you will find the shared folder in This PC section of the Windows 10 file manager. You can now use it to share files between to your Linux and Windows systems:

VirtualBox shared folder is working in Windows 10

In the case of a Linux system as a guest, the process of enabling the shared folder is little different. Check out my post about How to enable a VirtualBox shared folder for Linux guest systems.

Enable Shared Clipboard

Another productive feature is the sharing of the clipboard between the two systems. That is, when you copy the text in one system, it will also be available in the other.

To enable this feature, you have to install VirtualBox Guest Additions as you have seen above, then go to the Devices menu and in the Shared Clipboard section click on the Bidirectional option.

Enabling the shared clipboard in VirtualBox

Now if you can share the clipboard content on both systems.

Enable files drag and drop

Finally, you can also enable bidirectional drag and drop of files to share them between systems. I recommend using a shared folder for this purpose because a shared folder is more reliable. But you may try the drag and drop too.

To enable it, go to the Devices menu and in the Drag and Drop section click on the Bidirectional option:

Enabling the bidirectional drag and drop in VirtualBox

Now, you can drag a file from your host system and drop it to the Windows 10. It should also work the other way, but it did not work for me. Again, that’s why I recommend using a shared folder.

Conclusion

These were the essential steps to get Windows 10 working in VirtualBox. If you are required to use some Windows application but you run Linux as your main OS, this can be a lifesaver. Install Windows 10 in VirtualBox and running Windows programs inside it is not an ideal solution, but it is very reliable. All Windows programs will work correctly.

You can also try using emulators like Wine, but in my experience, very few Windows applications run well in Wine. Many users also prefer to dual boot Linux and Windows, but I am against such option. So, I think installing Windows in VirtualBox is the best solution to get Windows programs working in Linux.

Average Linux User
Average Linux User I am the founder of the Average Linux User project, which is a hobby I work on at night. During the day I am a scientist who uses computers to analyze genetic data.

Comments




George

Win 10 will not install if I have the EUFI box checked. It get startup.sh scrip errors and it exits the script and goes no further. Without the EUFI I was able to get it installed, but in the past Win 10 has been very unstable starting in VirtualBox.


Mark Lloyd

Windows 10 requires EFI?

My Installation (Win 10 64-bit, Xubuntu host) has been working for several years and does NOT have EFI enabled.

Also, I heard EFI (in VirtualBox) works for Mac OS only.

Ken

Many newer manufactures do not allow MBR boots from the HDD or SSD anymore. For instance, a new Dell will not allow an MBR boot even using legacy options unless its from a USB or other external media. This started around 2018, so if your machine is a few years old, then its still capable of mbr or gpt boots more than likely. The most you can do now in the bios is change to allow legacy for externals, but not internals. They are phasing out mbr boots altogether it seems in favor of the gpt uefi boots.

EFI in Virtual Box works fine in Windows. I use it to create a sysprep image for deployments.






Jason

I just want to say thanks for this tutorial. I'm fairly new to Linux and the only thing that I cannot do to make the complete switch, is use Microsoft Office. I can now always boot into Linux with Virtual Box :)


Xavier

Very detailed information. I've already use VirtualBox, but it is the first time I try to install Win10 on Linux. Using all your recommendations, I got an error message “VT-x/AMD-V hardware acceleration is not available on your system. Certain guests (e.g. OS/2 and QNX) require this feature and will fail to boot without it.” and finally I'm under the UEFI Interactive shell. I'm use an “old” PC (AMD Athlon(tm) 64 X2 Dual Core). Any idea ? Thanks

Ilja Konovalov

Ilja Konovalov

I had this problem too, you need to restart you computer, and during the startup press f2 or delete. You will enter your bios and if you press right arrow you will go ta screen where you can enable something like safe virtual machine. Then click the right arrow a couple pf times until you get to a screen that says exit bios. Select save and exit and your done. This worked for me.

Shijou

Thanks, Ilja, for sharing this hint! I think I have the same problem. I found a setting to enable VM in general but that didn't solve the problem. I don't get the warning about hardware acceleration any more but I still end up in the UEFI interactive shell. I'd be grateful if anyone could share a more detailed description of which option to set to which value.


Learn how to write in Markdown with this Quick Reference.
Notify me of new comments on this post.
* E-mail is used to display Gravatar.