LL10 Virtualization Intro

In this lab we will install a VMWare virtual machine on our host OS and then install Ubuntu as a guest OS in VMWare.  

First note — please read this page and all sub-pages in this lab — TWICE to get a full understanding.  

Second note — Do not install Ubuntu with the Ubuntu Textbook’s instructions as we will install the Ubuntu Desktop OS into VMWare or another Virtual Machine (VM).  To this extent, please read this and all subsequent pages in their entirety before proceeding so that you have the big picture. 

Also you may notice that Ubuntu has launched the next Desktop LTS OS’s (14.04 and 16.04) but we will remain with 12.04 LTS since our text maps to the 12.04 version.  I comprehensively recommend you install and implement the 32 bit version  of 12.04 since it is the most robust.

Required Reading:  Getting Started with Ubuntu Linux 12.04 Prolog & Chapters 1-3.

Ubuntu Desktop (for general use and DB10)

Note many topics in Chapter 3 can be skimmed as it is only necessary to be aware of the functionality’s existence and users can return to read this material as necessary.  It is important to understand the menu system (top menu, launcher and Dash for search), graphical file navigation and management, system settings and specifically networking, Office applications, and Ubuntu One cloud integration.  Multimedia (photos, music & videos) is optional.

Also, please explore the Ubuntu Desktop Guide as necessary here: https://help.ubuntu.com/12.04/ubuntu-help/index.html

Note you may and probably will have to review previous material as necessary.  

I will not be assigning additional reading from the Getting Started with Ubuntu Linux text however you should minimally peruse the table of contents and understand what is available as you will need this resource in the future.

Virtualization & Virtual Machines (VM) Background

A VM appears to the end-user to be complete physical machine. What this means is a VM abstracts the hardware components up a level as it is itself a process running on a machine and provides this hardware abstraction to guest operating systems.  Ok, let’s see if I can distill this further.  A VM is a process running on a system (i.e. it is an application being run by an OS on a computer).  We will call the actual physical computer the “Host” computer and the VM will be called the “Guest”.  The host has an architecture (e.g. Intel) and the host OS (e.g. Windows, Mac or Linux) abstracts the details of the host architecture to provide a consistent platform for its applications (e.g. MS Word, Google Chrome, etc.).  You know this as you can install and update applications on your computer and then later add a new printer or some other hardware device as the OS manages the interface.  When you added the new hardware device everything still works and as an example, you did not have to update your word processor to work with the new printer.  The host OS handled this interface.

Ok, so now we install a VM (the VM is an application running on the host OS just like MS Word) and this VM provides an exact architectural replica so that we can install a guest OS in the VM.    Now once we install a VM on a host OS, and install a guest OS in the VM, we can install applications in the guest OS.  In the guest instance, neither the OS nor the applications realize they are in a VM as they simply see the normal interface (i.e. the OS sees the architecture and the applications see the OS).  Now if the word processor installed in the guest OS wants to print a file, it asks the guest OS to print the file exactly as presented above.  The guest OS uses the interface as presented by the VM to print the file.  The guest OS is unaware the VM is actually an application running on the host OS so the VM asks the host OS to print the file using the same system call that a word processor running on the host would use. Hardware Virtualization speeds this process up by creating hooks allowing the guest VM residing in application space on the host VM to access the host’s hardware directly.


For further reading on VMs please see: http://en.wikipedia.org/wiki/Virtual_machine

Virtual Machine Graphic

Virtual Machine Uses

So why do we do use VMs?  They offer many advantages that include:

Isolation – if a VM or a program in a VM crashes, it does not compromise other processes running on the host OS.  To provide an example you are familiar with, if you are running a system with no VMs and your MS Word crashes, your Chrome Browser should not crash.  A VM is simply another application on the host OS so if the guest VM, its guest OS or one of its programs crashes, your system should remain intact.  Microsoft Windows was probably not a good example – 🙂

Security – see isolation description above but consider if your guest VM/OS/Browser were to get a virus.  The VM/OS is simply an application (i.e. just another file) with no access to your host system so the threat is sand-boxed.

Greener or less power consumption – our computers are powerful and can multi-task so we can use computing resources more effectively.

Software development – see isolation above.

Uniform desktop support – this is my favorite as every client is running the same architecture.  Honestly, this is the only way I can teach the this CISS 100 Ubuntu component but there are still slight variations.

Here is a very general overview… not as good as the previous YouTube video from another faculty that was recently taken down but it is nice to hear it from someone else sometimes. Also this video uses Oracle’s free Virtual Box so it is nice to show this option.

Installation Background & Overview

Please read through all documents in their entirety before you begin your installation but first the big picture – you will:

1. Install or setup your VM on your host system/OS.  This will require that you register, download and VMWare Fusion for Mac OSX or VMWare Player or Workstation for Windows. You will also need to save the product or license key from the VMWare VMAP download page.

Note there are other VM options however I strongly urge you to choose VMWare as I can only support other options on a limited basis. Should VMWare fail on your system, my first recommendation will be to try another VMWare product (instructions about previous VMWare versions in this presentation) followed by Virtual Box or the built in Windows 7/8/10 VMs.

2.  Download Ubuntu

3. Verify the the Ubuntu download’s MD5 Hash

4. Install the guest Ubuntu OS in your VM

5. Explore your new VM

In this LL10’s submenu you will find VM (VMWare, VirtualBox, Virtual PC, HyperV etc.) & Ubuntu OS installation instructions for the items listed above.  We will install the VM first and –  as a first option we will use the VMWare. 

If you have an old computer that you are no longer using or expect to use you may turn this into a dedicated Ubuntu Linux box and this will work well but be sure to get everything you need off it.

So without further ado, let’s jump in.

Again, most problems come from rushing through this installation, not following the instructions or a lack of attention to detail but again, no one has ever taught you these exact principles as Comp Sci is not taught in our High Schools….

Again, please read through all documents in their entirety before beginning and you may want to perform your downloads in the background (while making coffee, dinner, overnight, before you leave for the night or go skiing, etc.) as they can take some time depending on your connection speed.  Having said this you may wish to quickly read through this document and get some downloads going as you encounter them.  Also, it may be beneficial to download at the College or Library if their download speeds exceed your home download speed.  To this extent I provide the Ubuntu Download instructions here so that you can begin the download and the Ubuntu download is common component for all installations (e.g. all Virtual Machines and USB installations).

Again, note we are installing Ubuntu in a VM not directly on your Hard Drive as installing on your Hard Drive will erase your system.

Leave a Reply