What is a Virtual Machine?
A virtual machine, or VM, is a piece of software that emulates an operating system from within your computer. For example, you might be using Windows on your laptop while a course requires you to work in Ubuntu. You can either install Ubuntu on your computer, or you can run an Ubuntu VM on your Windows laptop. When you do this, your laptop will provide the VM with some of its resources so that Ubuntu can run as if it were its own computer. The physical machine that is hosting the virtual machine is referred to as a host, while virtual machines are referred to as guests.
Virtual machines are great for:
- Experimenting with new operating systems safely, as the guest VM will not impact the host machine
- Ensuring a consistent environment for course development, to reduce the chance of software conflicts and simplify technical support
- Quickly testing software on multiple systems through convenient file sharing between the guest and host.
You may also find yourself with a single, powerful host machine and realize that you need many separate servers. Rather than buying many lightweight computers, you could run many guests off of a single host. The School of Computer Science uses virtual machines in this way to host the OpenStack service, where students and researchers can launch virtual machines on the powerful SCS servers without affecting other users.
Virtual machines use disk images, which are files which represent the contents of a data storage device such as a DVD or hard disk drive, and typically use the .iso file extension. These images can then be configured and packaged as a virtual appliance. These virtual appliances are a great way to ensure consistent operating conditions for programs, as you can distribute these appliances and guarantee that they will work the same under the same conditions.
Hosts machines are able to support virtual machines through the use of something called a hypervisor. A hypervisor is a piece of software which mediates the creation, operation, and monitoring of virtual machines. While there are many hypervisors available, the School of Computer Science uses VirtualBox in the labs and in courses.
VirtualBox is a free, open-source hypervisor that allows users to create and run multiple guest machines off of a single host. Some hypervisors are headless, which means that they run without displaying any graphics to the user. By default, VirtualBox is not headless and provides users with a desktop view for their guest operating systems.
VirtualBox appliances use the .ova file format. These appliances work on all platforms and will typically work with other hypervisors such as KVM, VMWare, or Hyper-V.
Another VirtualBox feature that the SCS makes use of is the VirtualBox Extension Pack. This extension pack provides lots of additional functionality to VirtualBox guests, including enhanced file transfer options, additional hardware support, and more.
For more information on installing VirtualBox, the extension pack, and running your first image, click here.
- Download VirtualBox at VirtualBox.org
- VirtualBox Help, including videos tutorials, installation guides, and troubleshooting tips
Getting Started with VirtualBox and Getting Support
The SCS provides support for problems relating to VirtualBox and course virtual machines. Below are some quick links to help you find the technical support you need:
- Virtual Machine Installation and Technical Support
- Video Guide: Installing and Running VirtualBox
- List of Course Virtual Machines
- Common VirtualBox Problems and Solutions
- List of VM Troubleshooting and Quick-Start Articles
Are you an instructor having problems with your course VM? Contact SCS Technical Staff.
About Course Virtual Machines
The Virtual Machines are all in VirtualBox .ova format (unless otherwise noted). They can usually be opened with other virtualization products (KVM, VMWare, Hyper-V, etc). The naming convention is the course code COMPXXXX of the course it was built for, followed by an optional term designation, such as -F18 for Fall 2018, which represents the term for which it was originally created. Many VMs continue to be used both for future terms, and for different courses. Consult with your Instructor to determine the exact VM you are expected to use for your course!
NOTE: Most of our Virtual Machines use the VirtualBox Extension Pack, so please make sure you add it when you install VirtualBox (see the Virtual Machine Technical Support).
WARNING 1: The Current Course Virtual Machines have been tested with VirtualBox 6.0.10 on Windows 10, Mac OSX and Linux. There are known issues with Windows 10 and pre 5.1.4 versions of VirtualBox. Older Course Virtual Machines are not extensively tested on recent operating systems and newer versions of VirtualBox.
WARNING 2: Microsoft Edge will NOT download these files properly. It will rename the .ova file to a .tar file. You will either need to rename it back to .ova or use another browser such as Chrome or Firefox to perform the download.
Current Course Virtual Machines (2019/2020)
NOTE: Our CURRENT Virtual Machines typically use the credentials username: student / password: student (unless otherwise noted).
user / password
|Staff / Faculty|
UPDATED Sep 10, 2019
|student / student||R. Collier
UPDATED Sep 10, 2019
|student / student||M. Lanthier
UPDATED Sep 10, 2019
|student / student||C. Laurendeau
UPDATED Sep 08, 2017
|fedora / oracle||M. Liu|
NOTE: If you are looking for OLDER Virtual Machines from previous years, there is an archive maintained here.