TLDR;
This post provides an in-depth guide into the process of setting up a Windows OS virtual machine running on Oracle VirtualBox.
You can click here to navigate to VM installation & configuration or here for Windows setup.
Introduction
To get started with data science, one needs access to a machine with an installed graphical operating system (OS) upon which operations and requisite tools will run. Common OS of this type include Windows, macOS and Ubuntu Desktop, among others.
At LuxDevHQ, one is advised to have a laptop with, at minimum:
- Processor (CPU): Core I5
- Base Memory (RAM): 8 GB
- Disk Size (Storage): 500 GB
- Access to stable internet connection.
Most tools in use are compatible with multiple OS but some, such as Microsoft Excel and Power BI, are exclusive to, or work best on, Windows. As such, it is most prudent to use Windows.
Virtual Machine
In my case, I mostly use either Ubuntu or Mac. Subsequently, I had to setup Windows afresh on my machine. To achieve this, rather than purchase a new machine or mess with my current one, I chose instead to install Windows on a virtual machine and set it up there.
A virtual machine (VM) is a "compute resource that uses software instead of a physical computer to run programs and deploy apps" 1. Essentially, one can have multiple operating systems ("guests") running on one physical machine ("host"), possibly on top of another OS.
Benefits of virtual machines include, but not limited to:
-
Machine Limitations
- Situations arise where one needs to work with software that are incompatible either with the host OS or the underlying physical machine.
- Instead of buying a new machine, or resetting an existing one, and setting it up afresh, one can install a VM and configure it to meet the conditions required for running the software.
- This can include setting up a wholly different OS (e.g. Windows) on top of an existing OS (e.g. macOS).
- Such an approach winds up saving on cost, physical space and time, among others.
-
Testing
- Every once in a while, a new software, - or an entirely new OS - comes along with the promise of improving (or even revolutionising) productivity.
- As such, to evaluate said software and ascertain its value, instead of installing on the physical machine - possibly negatively impacting normal operations or the machine itself, one can spin up a VM and run it in an isolated environment.
- This improves security and protects sensitive operations from possible harm.
-
Legacy Support
- Some organisations have legacy systems and applications that run on and require outdated, or quickly fading, technologies.
- In the event that said legacy software is crucial for core operations and the business is unable to migrate to newer / updated software, dedicated virtual environments can be set up with the specifications required.
- This protects from unexpected disruptions, e.g. from unwanted updates, and enables proper planning and resource allocation for when migration will need to occur.
Virtual Machines are not without drawbacks, which include:
-
Performance Retardation
- Running multiple VMs on a single host can degrade performance, particularly on machines with below-par specifications (e.g. RAM, storage, e.t.c.).
-
Cost
- Spinning up a cloud-based VM, or running proprietary virtualisation software, can incur charges for usage.
A virtual machine can be set up locally on a user's machine or deployed globally on a public cloud.
For this post, I will be setting up a Windows VM locally on my machine. In a later post, I will replicate the process in a cloud VM.
Hypervisor / Virtual Machine Monitor (VMM)
Before getting started with a virtual machine, one has to install a hypervisor, which is a software that creates and runs multiple virtual machines on a single physical machine through allocation of underlying physical computing resources to individual VMs as required 2.
Depending on architecture and desired performance, hypervisors are broadly classified into 2 categories 2 3:
-
Type 1 (bare-metal) Hypervisors
- These do not require a host OS and, instead, are installed and run directly on the physical machine ("bare metal").
- Host machine typically does not have any installed OS and the hypervisor itself doubles as a lightweight OS.
- Due to this, such hypervisors have direct access to hardware resources and tend to be scalable, efficient, highly performant and independent of risks inherent to host OS, improving security and stability.
- Conversely, however, such software tend to be proprietary and expensive (though some are free and open source), requiring dedicated hardware and skilled staff to handle setup and management.
- As such, they typically are used in enterprise data centres and by cloud providers such as Amazon Web Services (AWS) and Google Cloud Platform (GCP).
- Examples: VMware ESXi, Microsoft Hyper-V, Kernel-based Virtual Machine (KVM), and Xen.
-
Type 2 (embedded / hosted) Hypervisors
- These run on top of an operating system installed on the physical machines and typically run as applications within the host OS.
- Presence of the host OS means such hypervisors do not have direct access to and control over hardware resources.
- Instead, resources are allocated by an system administrator, with the hypervisor in turn distributing them to the VMs.
- Because of this, they are less efficient & performant and are prone to risks inherent to the host OS, affecting security and stability.
- On the other hand, they are easy to install, configure and operate, thus not requiring any specialised knowledge. Additionally, a number of them are free with at least one being open source.
- Such factors make them ideal for personal, non-enterprise or non-mission critical usage.
- Examples: Oracle VM VirtualBox, VMware Workstation, Parallels Desktop and QEMU.
Ultimately, choice of hypervisor to use boils down to the needs and resources of the user / organisation and the intended usage.
For me, since I just wanted to install Windows on my personal macOS for usage in learning, I went ahead to use VirtualBox since it is free and compatible with most conventional OS. Thus, this guide should be replicable, at least for any OS upon which VirtualBox can run.
VirtualBox
It is defined as "general-purpose full virtualisation software for x86_64 hardware...targeted at laptop, desktop, server and embedded use." 4 It has cross-platform compatibility and is available for personal and enterprise usage.
To get started, head on over to the Downloads page and select the platform package for your particular OS. I am installing on a macOS (Intel) host computer so I selected macOS / Intel hosts.
Upon clicking on the package, you will be prompted to confirm saving of the installer file with a positive response initiating the download. Wait for completion. The duration will depend on the size of the chosen file and the stability & speed of your internet connection.
On completion of download, navigate to the destination folder ("~/Downloads" in my case) and double-click the file to run the installer.
If on a Windows host computer, you will be prompted for User Account Control (UAC) permission. Click Yes to accept. On macOS, double-click on the "pkg" icon to start the installer.
Click Continue from the introduction and Install so as to install the software for all users of the computer (Change Install Location if you wish to install either only for current user or to install to specific disk / directory). On macOS, I was prompted to input my password to validate confirmation.
Installation will run for a short duration then complete successfully if no issue arises. On Windows, click Finish to open up VirtualBox. On Mac, click Close, accept moving of installer to trash if prompted then open VirtualBox from Launchpad or Applications folder in Finder.
When opened, the VirtualBox window will appear as below (Specific appearance might vary based on VirtualBox version and the particular host OS).
Regardless of specific appearance, as long as the application opened without failure, then the VirtualBox installation was successful and you are now ready to install and setup Windows OS.
PS: If you experienced an issue with VirtualBox up until this point, kindly reach out to Oracle Support for assistance.
Windows
Microsoft Windows is a proprietary closed source graphical operating system developed and marketed by Microsoft with the term "Windows" collectively describing several generations of Microsoft OS products 5. The first major version, Windows 1.0, was released in November 1985 and Windows as a whole has grown to become the most used desktop OS globally with Windows 11, the current major release now ranking as the most used Windows desktop OS version as at January 2026.
To install Windows 11 in VirtualBox, one needs a copy of the OS as an ISO file which is the format VirtualBox uses to boot up and install the OS on a virtual machine. We can download the Windows 11 ISO file here. On this page, scroll down to the "Download Windows 11 Disk Image (ISO) for x64 devices" section and select the "Windows 11 (multi-edition ISO for x64 devices)" option then select preferred language (I chose "English (United States)" then click "Confirm".
On confirming, Microsoft will validate your request (should take a few seconds) then reveal the download button which, on clicking, will initiate the actual download.
NB: The ISO file is a relatively large file (~7GB in my case) so ensure you have access to a stable internet connection and adequate space on your machine.
Upon download completion, go back to the VirtualBox window and click on "New". You should see a pop-up modal with a form for creation of a new VM as below.
Name your VM (e.g., Windows 11 (64-bit)). Specify the folder that will store the VM’s files. Choose the downloaded Windows ISO as the installation image. Check "Proceed with Unattended Installation". Click "Next".
This will lead to a pop-up to set up Unattended Guest Installation. Unattended Installation enables a user to configure the installation before starting the VM, and VirtualBox takes care of everything — even creating the default user.
Provide your User Name, Password, Host Name (can only contain alphanumeric characters and hyphens) and Domain Name (default can suffice).
Once filled out, click "Next". This will lead to a pop-up to configure virtual hardware resource dedicated to the VM (minimum of 4GB RAM, 2 CPUs and 40 GB Storage). I would recommend 8GB RAM, 4 CPUs and 80 GB Storage). Once done, click "Next".
Finally, review the set configurations then click "Finish". This will create the new VM and start it up.
Windows will begin installation in the virtual machine. This process took at least an hour to complete and restarted the VM a number of times. As such, I would advise closing any prior running processes and ensure the machine is plugged in so as to prevent premature shutdown while the installation is running.
Upon completion, one will now have a ready to use Windows OS fully setup with default configurations and logged in using the default user defined during the unattended installation setup.
But how then can one start the OS at a later time post-installation? Simply start the VirtualBox application, select the Windows VM from the list of installed virtual machine and click Start in the toolbar at the top to power up the OS.
And with that, you have a fully running Windows OS ready to use for your specific needs.
Guest Additions
With the Windows VM now up and running, one can now optionally install Guest Additions. This is an addon feature within every VirtualBox version that seeks to improve working with installed virtual machines by providing closer integration between host and guest and improving the interactive performance of guest systems.
Some of its features and benefits include:
- Seamless mouse integration.
- Folder and clipboard sharing between a host and VM OS.
- Time synchronisation.
- Automated Guest Logins.
- Improved video support and display capabilities.
- Seamless Windows.
To install the Guest Additions inside of your Windows VM:
- Click on Devices in the toolbar of the running VM and select Insert Guest Additions CD image from the drop down menu.
- Inside the VM, open File Explorer and locate the CD Drive for the VirtualBox Guest Additions on the left hand menu
Click on it and right click on VBoxWindowsAdditions-amd64 to Run as administrator. Click Yes on the UAC prompt that pops up to start installation.
Click Next on the Guest Addition Setup wizard that appears.
Provide the location in which Guest Additions will be installed (the suggested location should be sufficient) then click Next.
Then check the preferred components to install and click Install to begin installation.
Installation will take a few seconds then you will be prompted to reboot the VM so that the installation can take hold. Check Reboot now then Finish to complete the process.
After restart, on the Toolbar, select:
- View -> Auto-resize Guest Display to enable dynamic resolution
- Devices -> Shared Clipboard -> Bidirectional to enable clipboard sharing.
- Devices -> Drag and Drop -> Bidirectional to enable file transfer.
- Devices -> Shared Folders -> Shared Folders Settings to define folders that will be shared with the host OS.
And with that, you will have successfully installed and configured Guest Additions for your Windows VM.
Conclusion
This has been a long article but by the end, we now have a successfully set up Windows OS running in an Oracle VirtualBox virtual machine that can now be configured and used for data science purposes.
I thank you for your patience and resilience for getting to this point and now invite you to share the results of your installations, together with questions you may have, in the comments.
If this article has been beneficial to you, or you know someone who may benefit from it, feel free to share it widely to your friends, colleagues, local communities and social media platforms.
See you in the next one!
-
VMware. (2026, Jan 15). What is a Virtual Machine? https://www.vmware.com/topics/virtual-machine. ↩
-
AWS. (2026, Jan 12). What is a Hypervisor? - Hypervisor Explained https://aws.amazon.com/what-is/hypervisor. ↩
-
GeeksforGeeks. (2025, Dec 08). Hypervisor https://www.geeksforgeeks.org/system-design/hypervisor. ↩
-
Oracle VirtualBox. (2026, Jan 16). Welcome to VirtualBox.org! https://www.virtualbox.org. ↩
-
Wikipedia. (2026, Jan 16). Microsoft Windows https://en.wikipedia.org/wiki/Microsoft_Windows. ↩





















Top comments (0)