Tek Eye Logo

Tek Eye

Virtualization Software for Windows

This article is about installing a virtual machine (VM) on a Windows based personal computer (PC) using freely available software. This tutorial applies to all supported versions of Windows. The article provides an introduction to virtualization and some of the terms associated with it.

Free Virtualization Software for Windows

Run Another OS for Free

With the use of free virtualization software it is possible to turn your PC into several computers, each running a free or purchased Operating System (OS). Having access to extra free VMs running on your Windows PC can be useful. The free virtualization software used here is the open source VirtualBox, which is maintained by Oracle.

What is Virtualization and Virtual Machines?

Think of a model racing car, it is not a real car but has the "virtues" (attributes) of a real car (wheels, engine, chassis, body, etc.). Similarly a VM is not a real computer but it behaves like one. Just as a model car can be made to drive with a remote controller, a VM can be run like a real PC using virtualization software (as the remote controller).

Virtualization is a large part of today's computer industry. The modern server or PC is very powerful and capable of running several VMs at the same time. Virtualization is the key to the growth in cloud computing where VMs run within the Internet. Being able to run an OS on a VM has many applications.

Why Use Virtualization?

There are many reasons and advantages for using a VM, here is a list of some of the uses of virtualization:

  • Running software designed for a different OS.
  • Reducing the amount of PCs and servers in an organisation. A modern server can replace several old servers by using VMs running images of the old servers.
  • Replicating complex systems on a single PC or server for testing purposes. (E.g. testing software before deployment that needs to use more than one computer, such as a client and server system, a new web server or multi-computer systems.)
  • Running old, experimental or incompatible software.
  • Training and teaching for new systems and operating systems.
  • Trying out software in a safe environment that will not affect the operation of the actual PC. Including evaluating new software, research on a computer virus or other malicious software (malware).
  • Mimicking a Virtual Private Server (VPS) or physical server to test configuration changes and new or updated scripts. This gives confidence in making the changes to a live VPS or server.
  • Testing mobile Apps on different device combinations. For example the Android SDK provides access to many versions and configurations of mobile devices via virtualization.
  • A single server on the Internet can run several web server VMs at once hosting hundreds of web sites.
  • Database servers and application servers can run on the Internet but appear to be part of a local system.
  • A user's work desktop is stored in the cloud and runs on an employee's personal device in a VM for Bring Your Own Device (BYOD) work policies.

Note: The American spelling of "virtualization" is more common than the traditional British spelling, "virtualisation". This includes use within the United Kingdom itself.

Host Vs Guest OS

When it comes to virtualization the terms host and guest are often mentioned. What is host and guest in virtualization? What is the host and guest OS? The term host refers to the physical (real) computer. The guest is the VM, the pretend computer, running as a program on the host computer. This is done using the virtualization software loaded on to the host. The virtualization software is started and used to run a guest operating system. Thus the PC is hosting a guest VM. Think of it as a PC hosting a party and inviting all the VM guests. Likewise for host vs guest OS. In this article Windows is the host OS running on the real machine. The virtualization software is running and a VM is started which boots the guest OS.

Virtualization Software for Windows

There are several paid for and free virtualization software packages available for Windows. One is VirtualBox, it's a free, stable, feature rich, well established, community supported virtualization package. Professional support for VirtualBox is provided by its sponsor, Oracle. Running VMs on servers and moving systems to those VMs can require specialist knowledge. That's where commercial packages that come with support helps. For a list of virtualization software see the Wikipedia page comparison of platform virtualization software.

Installing VirtualBox

To install the VirtualBox virtualization software for Windows open the download page on the VirtualBox web site. Click on the Windows hosts link.

Get Virtualization Software for Windows from VirtualBox

Run the installer when the download has finished. If not logged in as an administrator you will need to enter the computer admin password when prompted.

When the set up screens appear click Next on each screen to accept the default options. (If required you can select the individual options to turn off any VirtualBox components that are not needed and to install it to a custom location. To turn off an option click the small down arrow in the box just before the option and select the red cross.) Some of these options are discussed below, if in doubt install the complete package.

VirtualBox Install Options Custom Setup dialog

VirtualBox USB Support

If the guest VMs needs access to the USB ports on the host computer then VirtualBox USB Support is needed. Otherwise turn off the installation of the VirtualBox USB driver. Note that VirtualBox automatically handles the keypad and mouse. USB support is for other USB devices that need to be attached to guest VMs.

VirtualBox Bridged Networking or VirtualBox Host-Only Networking

The two options under VirtualBox Networking are used to install VirtualBox network drivers onto the host PC. It is likely that the guest VM will need to communicate with a network, especially if it needs to access the Internet. The two major networking choices for a VM is whether it runs in Host-Only mode or Bridged mode. The differences between the two modes are the visibility of the VM network on the real physical network to which the host computer is connected.

For Host-Only Networking the clue is in the name. VMs that use Host-Only networking can only network with the host and other VMs running on the host, they also have access to the Internet. The VMs cannot be seen by other computers on the real physical network.

For Bridged Networking the VMs can appear as machines on the physical network. A VM running on a host can be visible to another machine running on the real network.

Generally Host-Only networking covers most standalone virtualization requirements. If all the VMs are running in one host and do not need to communicate outside that machine Host-Only Networking is adequate. Add Bridged Networking for more complex requirements. If in doubt start using Host-Only to begin with. The VirtualBox networking options are very flexible and configurable. See the VirtualBox Networking documentation for full details.

VirtualBox Python Support

VirtualBox can be controlled via a Python API. For a standalone Windows machine Python support is not generally required. Running VirtualBox on a production server may require control via scripts. Python support provides that ability.

Ready to Install

At the end of the set up screens click the install button. You may need to accept Windows security or User Account Control (UAC) messages.

Run VirtualBox

When the installation complete dialog appears Start VirtualBox is checked. Click Finish and VirtualBox loads. A new VM can be created ready to install a guest OS by selecting the New icon.

VirtualBox first run

Getting a Guest OS

The guest OS is commonly installed from an ISO file download. Bootable ISO files can be on an external USB or SSD drive which VirtualBox can access. An installation DVD or CD, e.g. a Windows install disc and the associated install key, can be used. There are lots of free operating systems available. See DistroWatch for information on popular Linux and Unix style operating systems.

Installing a Guest OS

With access to an OS install disk or ISO file a new VM can be created. Various options can be configured for a guest VM. Start by selecting the OS type and version. Then select the memory size required. The more memory the VM has the more memory the host PC loses when the VM is running. However, the more memory an OS has the better it generally runs. For example Windows XP can run with 128 MB, but doubling that to 256 MB is recommended. If running a VM to run other software look at the memory requirements of that software.

Next the hard drive options are chosen. Default options can be accepted. Usually the option "Create a virtual hard drive now" is kept when installing from a disc or ISO, and using the VDI (Virtual Disk Image) format. Choosing a dynamically allocated disk saves on physical disk space. The VDI files can be very large.

Optionally Enabling PAE in VirtualBox for Some 32-bit Operating Systems

Some 32-bit versions of operating systems require Physical Address Extension (PAE) enabled for the VM. If a 32-bit operating system fails to boot in the VM try enabling PAE. To enable PAE select the VM in VirtualBox and click the Settings icon (or Settings from the Machine menu). In the settings dialog click on System in the left hand list and then on the Processor tab. Check the Extended Features to Enable PAE/NX.

Start the VM to Install the Guest Operating System

VirtualBox VM Powered Off

Select the created VM and press the green start arrow icon. Select the disk drive with the install media or browse to the location of the ISO file (ISO files are mounted by VirtualBox to appear as though they are discs in a drive). VirtualBox will boot the VM which runs in a window on the desktop but behaves like a physical computer. The normal install procedure for the selected OS is then followed.

Installing an XP VM

Once the guest OS has installed use the menu on the VM window to control the VM and access other options. Start by taking a Snapshot via the Machine menu option to allow going back to a previous known state, e.g. a just installed state. The Machine menu also provides the options to power off the machine as if a physical power button had been pressed.

VirtualBox Guest Additions

VirtualBox is shipped with software that provides helpful features when working in the guest VM on the host. The Guest Additions are worth installing. See the Guest Additions documentation for further information. Especially helpful is the integration of the mouse. It stops the need to use the right control key to release the captured mouse pointer.

Summary

  • VirtualBox is virtualization software for Windows and other operating systems. It allows VMs to run on all supported versions of Windows, from Windows Vista to Windows 10, as well as other operating systems.
  • VirtualBox is available to download and install for free from VirtualBox.org.
  • VMs can be created to install and run other operating systems on your machines, via free ISO files or commercial install discs.
  • A VM is a guest and the machine it is running on is the host.
  • VMs operate like normal PCs when running in a VirtualBox window.
  • VirtualBox Guest Additions help with integrating the VM guest with the physical host.
  • Full documentation is available to help configure networking and other options and learn all of VirtualBox's features.
  • VMs allow trying out other operating systems and running other software without cluttering up or damaging an existing system.

Author:  Published:  Updated:  

ShareSubmit to TwitterSubmit to FacebookSubmit to LinkedInSubmit to redditPrint Page

Do you have a question or comment about this article?

(Alternatively, use the email address at the bottom of the web page.)

 This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

markdown CMS Small Logo Icon ↓markdown↓ CMS is fast and simple. Build websites quickly and publish easily. For beginner to expert.


Articles on:

Android Programming and Android Practice Projects, HTML, VPS, Computing, IT, Computer History, ↓markdown↓ CMS, C# Programming, Using Windows for Programming


Free Android Projects and Samples:

Android Examples, Android List Examples, Android UI Examples



Tek Eye Published Projects