User Tools

Site Tools


services:eecsvm

EECSVM Service

The EECSVM service allows students to use virtual machines required by courses they are taking. The service is only available to students enrolled in courses requiring this service, and the respective faculty. Once a course completes, the student VMs will deleted to ensure there is enough space for use the next term.

Users will use VirtualBox to access virtual machines from either a lab workstation, or, remotely using a set of servers available in remotelab.

The lab machines which will support EECSVM service locally include:

Lab Cores per Workstation Memory
LAS1002 6 16 GB
LAS1002b 6 16 GB
LAS1004 16 32 GB
LAS1006 12 32 GB
WSC105 6 16 GB
WSC106 12 16 GB
WSC108 12 16 GB

(*) LAS1006 hosts (ea01-ea78) appear in remotelab, and can be used remotely. These hosts are often used for labtest during the day, and remote sessions may be interrupted. They may not be the best choice for remote access unless in the late evening, weekends, or holidays.

The following servers are available in remotelab for supporting remote use of the EECSVM service:

Server Cores per Server Memory
rose 20 256 GB
ruby 20 256 GB
scarlet 24 256 GB

NOTE: Due to Microsoft restrictions, Windows VMs must only be used by students who are sitting at a workstation in a lab on campus. You must not use Windows VMs remotely. Please respect this policy.

Check If You Have Access

To determine whether your account has access to the EECSVM service:

% eecsvm access
You have access to EECSVM service.

List Available Virtual Machines

To list available virtual machines that you can install:

% eecsvm list available

Available VMs To Install:

3482-w24-win10
4421
flarevm
kali-linux-2024.4-virtualbox-amd64
metasploitable2
metasploitable3-ubuntu14
metasploitable3-win2k8
SEED-Ubuntu20.04
ubuntu-24.04.2-lts-server
windows11

Available VM Bundles To Install:

eecs3481-alomari
eecs3482-alomari
eecs4484-alomari

Single VMs can be available (such as Ubuntu), or a VM bundle can be available (eg. “eecs3481-alomari”). A VM bundle is just a way to install several VMs at once.

Install A Virtual Machine

After listing the available virtual machines, install a virtual machine like this:

% eecsvm install ubuntu-24.04.2-lts-server
Installing ubuntu-24.04.2-lts-server ...
Virtual machine 'ubuntu-24.04.2-lts-server' is created and registered.
UUID: e00def12-af80-4c38-854e-49a1bcaf0cbc
Settings file: '/eecs/vm/user/jas/ubuntu-24.04.2-lts-server/ubuntu-24.04.2-lts-server.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 95e2c8be-f5f0-43f8-9a1f-ee9a31b6b505

Ubuntu server is installed immediately. It takes very little time.

Installing a Virtual Machine Multiple Times

If you need to install multiple copies of the same VM (say, 3 copies of Ubuntu), then you can give each install its own name:

% eecsvm install ubuntu-24.04.2-lts-server ubuntu1
Installing ubuntu1 ...
Virtual machine 'ubuntu1' is created and registered.
UUID: 2577f6d7-99c3-4818-ace2-cd88dd46ed69
Settings file: '/eecs/vm/user/jas/ubuntu1/ubuntu1.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: da90b8d3-054e-4414-877b-faacce7c1bb5

% eecsvm install ubuntu-24.04.2-lts-server ubuntu2
Installing ubuntu2 ...
Virtual machine 'ubuntu2' is created and registered.
UUID: 67417f56-7064-471a-8918-31796dec8abc
Settings file: '/eecs/vm/user/jas/ubuntu2/ubuntu2.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 09c32bb6-59a4-4764-982c-697e0651415a

% eecsvm install ubuntu-24.04.2-lts-server ubuntu3
Installing ubuntu3 ...
Virtual machine 'ubuntu3' is created and registered.
UUID: 0096fab4-1759-4d5b-9852-bd7ad58de15b
Settings file: '/eecs/vm/user/jas/ubuntu3/ubuntu3.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 153c6fb2-3898-477a-b401-4738b517652d

Optional Installation Options

Other options which you can use when installing a VM with “eecsvm install” include:

  • -f = force the install to overwrite a previous install
  • –immutable = changes that you make to the VM will be lost on exit (without this, the changes you make will be preserved).
  • –netname “<network-name>” - By default, each VM will only share the network with other instances of the same VM. Using this option, you can install various VMs which will share the same private network.

For example, to overwrite a previous Ubuntu install, and to create an immutable VM which uses the network name “mynet”:

% eecsvm install -f --immutable --netname mynet ubuntu-24.04.2-lts-server ubuntu1
Installing ubuntu1 ...
Virtual machine 'ubuntu1' is created and registered.
UUID: 4e038be3-a871-44bb-a25a-ca90cbf57031
Settings file: '/eecs/vm/user/jas/ubuntu1/ubuntu1.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: ca1771c7-e9a3-4c9a-9373-9842d144326d

Installing a Virtual Machine Bundle

To install a virtual machine bundle, pass the bundle name to the “eecsvm installbundle” command. For example, to install the EECS3482 Bundle:

% eecsvm installbundle eecs3482-alomari
Installing bundle eecs3482-alomari  ...
Installing kali ...
Virtual machine 'kali' is created and registered.
UUID: dfa82c7a-23c8-4132-bfdf-c39922b5ff98
Settings file: '/eecs/vm/user/jas/kali/kali.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: ac99f4ec-68e6-4ab8-a5c6-721fe915512a
Installing seed ...
Virtual machine 'seed' is created and registered.
UUID: 8aa22a36-c9fd-4a40-aca0-9225c51871a6
Settings file: '/eecs/vm/user/jas/seed/seed.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 67d7e11d-9dbf-469a-a441-259325030e86
Installing metasploitable3-ubuntu14 ...
Virtual machine 'metasploitable3-ubuntu14' is created and registered.
UUID: eb0da547-df9f-44ba-9838-12bc1215bf83
Settings file: '/eecs/vm/user/jas/metasploitable3-ubuntu14/metasploitable3-ubuntu14.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: f9990525-5538-4a64-8cf6-49cac97bd657
Installing metasploitable3-win2k8 ...
Virtual machine 'metasploitable3-win2k8' is created and registered.
UUID: 54e13c70-1d5f-4955-95a6-bc430775c2d6
Settings file: '/eecs/vm/user/jas/metasploitable3-win2k8/metasploitable3-win2k8.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: bb899898-a7b5-44f4-a2a7-33c765a5ea05

Here, we can see that several VMs were installed: Kali, SEED, and Metasploitable3 Windows, and Ubuntu versions. What you don't see here is that they are all configured to use the shared network “secnet”, so all of these VMs will share a private network.

Check Which Virtual Machines You Have Installed

To check which virtual machines that you have installed:

% eecsvm list installed

User installed VMs:

kali
metasploitable3-ubuntu14
metasploitable3-win2k8
seed

Delete a Virtual Machine

To delete a virtual machine:

% eecsvm delete kali
Deleting VM kali ...

Starting a Virtual Machine

To start a virtual machine, start the VirtualBox GUI using the “virtualbox” command, then click on the VM on the left side of the display (underneath the VM name it will say: “Powered Off”), then click “Start” on the right side of the display:

% virtualbox

You can also start the VM from the command line:

% vboxmanage startvm kali
Waiting for VM "kali" to power on...
VM "kali" has been successfully started.

WARNING: On some older O/S, the VirtualBox guest additions do not work. In these cases, when you click on the VM window, your mouse will be locked to that window, and you will not be able to exit it unless you hit the right CTRL key on your keyboard.

Stopping A Virtual Machine

You can stop a running virtual machine from the VirtualBox GUI. Right-click on the VM in the left side of the display, and choose “Stop” then your shutdown option. The VM will be shut down.

You can also shut down your VM from the command line:

vboxmange controlvm kali shutdown

Check Your Virtual Machine Storage Quota

To see how much space you have available in your EECSVM quota:

% eecsvm quota
Quota:  0.0 of 39062.5 MB used

By default, you have a 40 GB storage quota. When you install VMs, the original VM disk does not count toward your quota. For example, if you install an Ubuntu VM from the repository, it will take up very little of your space, no matter how big the default install is. Anything you add to the VM will be counted toward your VM quota. If you run out of space, you won't be able to get more, so use your space wisely.

Reset Your EECSVM Environment

If you would like to clear your EECSVM storage, and VirtualBox settings, use the “eecsvm reset” command. Please make sure you have exited VirtualBox:

% eecsvm reset

*** WARNING ***

This operation will delete ALL of your virtual machines, and 
VirtualBox configuration.  This operation is NOT recoverable.

Do you wish to proceed (YES/[no]) ?YES
Deleting /cs/home/testuser/.config/VirtualBox ...
Deleting VMs ...
Done

Access Your EECS Home Directory From Inside Your VM

Your EECS home directory is shared with certain VMs. The method of accessing it will be different depending on the O/S:

Linux

With Linux, your EECS home directory will be available as: /media/sf_homes

NOTE: If you are setting up a new virtual machine, or adding additional users to an existing VM, you need to ensure that the user who should be able to access your EECS home directory is in the vboxsf group. Here's one way to handle that under Linux:

% sudo usermod -aG vboxsf $(whoami)

Windows

If the share is available to a Windows VM, it can be mounted as \\vboxsrv\homes

Creating Your Own Virtual Machine

Faculty can create VMs and make them available to their students in consultation with tech.

First, start by installing an existing VM image just like before:

 % eecsvm install ubuntu-24.04.2-lts-server my-custom-ubuntu
Installing my-custom-ubuntu ...
Virtual machine 'my-custom-ubuntu' is created and registered.
UUID: 406608ad-6804-4849-9342-4cab53715ed9
Settings file: '/eecs/vm/user/jas/my-custom-ubuntu/my-custom-ubuntu.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 8fc44cdc-125a-475b-8fe3-5599f3ffc785

Next, start the VM, and all the required components. For example, you could change the system configuration of the VM, or install software packages.

When you're done testing, shut down the VM, and export the VM to tech:

% eecsvm export my-custom-ubuntu

Exporting my-custom-ubuntu (this will take some time) ...
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully exported 1 machine(s).
Export success.

This will automatically package up your VM, put it into a holding directory, and send an e-mail to tech to let them know that you've exported a VM. It's a good idea to follow this up with an email to tech to let us know your intention. Tech will then install your VM into the image repository, and make it available to all users of the EECSVM service.

NOTE: Since all users who use a VM from the repository are linked to the default image, once users start using the image, we can no longer change the base image.

WARNING: While you can install a VM from an ISO image, if you do this, ALL of the disk usage will be counted in your VM quota, and you will likely run out of space.

Other Important Information About EECSVM Service

  • Data is the EECSVM area is not backed up. If you corrupt your disk image, you will need to start again.
  • VirtualBox will not monitor if you are running your VM simultaneously on multiple machines. If you do this, it will cause data loss and you will lose your work and need to start over. Always ensure that you shutdown your virtual machines cleanly, and exit VirtualBox whenever you're done.
  • If you're using a lab machine, check the pcmode schedule to ensure that the machine that you are using will not be rebooted into labtest while you are working. This will interrupt your session, and could corrupt your VM.
  • All supported VMs must run on the current VirtualBox version. If the VM reports that it cannot be used with the latest VirtualBox version, we won't be able to use it.
  • The EECSVM service is intended for education students. This service is not intended for research purposes.
  • At the end of each term, ALL student storage on the EECSVM service will be deleted without notice. Once this happens, your data is not recoverable. Please ensure that you've backed up your data before the start of the next term.
  • Each user can choose which VMs they install in their storage space. Users who install VMs from ISOs will find that they run out of disk space. Additional quota for students is not available.
  • For more information on VirtualBox command line options, use command “vboxmanage”.

Here's information on the currently installed VMs for use with the EECSVM service:

Currently Installed VMs

VM Images

NameDescriptionUsername/Password
3482-w24-win103482 Winter 24 Windows 10 VMna
44214421 VMna
flarevmWindows 11 FlareVM with default packagesu: common, p: common
kali-linux-2024.4-virtualbox-amd64Kali Linuxu: kali, p: kali
metasploitable2Metasploitable 2u: mfsadmin, p: mfsadmin
metasploitable3-ubuntu14Metasploitable 3u: vagrant, p: vagrant
metasploitable3-win2kMetasploitable 3u: vagrant, p: vagrant
SEED-Ubuntu20.04SEEDu: seed, p: dees
ubuntu-24.04.2-lts-serverGeneric Ubuntu 24.04.2 LTS Server VMu: common, p: common
windows11Generic Windows 11u: common, p: common

VM Bundles

NameDescription
ecs3481-alomariSEED
eecs3482-alomariKali, SEED, Metasploitable3 Ubuntu, Metasploitable3 Windows
eecs4484-alomariSEED, FlareVM
services/eecsvm.txt · Last modified: 2025/05/02 14:19 by jas

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki