Table of Contents
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.
These lab workstations support EECSVM service:
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.
If you see, “You do not have access to EECSVM service.”, then you are not enrolled in a course to which access has been granted. You can email tech if you have any questions. If you have just enrolled in a course, it make take up to 24 hours before you're granted access.
If you see, “EECSVM service is not available on this system.”, then you are trying to access EECSVM service from a system which is not in the above list of workstations or servers.
List Available Virtual Machines
To list available virtual machines that you can install:
% eecsvm list vms 3482-w24-win10 4421 flarevm kali-linux-2025.1c (alias: kali) metasploitable2 metasploitable3-ubuntu14 metasploitable3-win2k8 SEED-Ubuntu20.04 ubuntu-24.04.2-lts-server (alias: ubuntu) windows11
List Available Virtual Machine Bundles
If you are enrolled in a course to which multiple virtual machines will be installed, a VM bundle has likely already been created for the course. A VM bundle allows you to install multiple virtual machines with specific installation options with a single command.
To list available virtual machine bundles:
% eecsvm list bundles eecs3481-alomari: --netname secnet SEED-Ubuntu20.04 seed eecs3482-alomari: --netname secnet kali-linux-2025.1c kali --netname secnet SEED-Ubuntu20.04 seed --netname secnet metasploitable3-ubuntu14 --netname secnet metasploitable3-win2k8 eecs3482-rts: --netname secnet kali-linux-2025.1c kali --netname secnet metasploitable3-ubuntu14 --netname secnet windows11 eecs4484-alomari: --netname secnet SEED-Ubuntu20.04 seed --netname secnet flarevm
For example, you can see that the “eecs3482-alomari” bundle includes Kali Linux, SEED, and Metasploitable Ubuntu and Windows versions.
Install A Virtual Machine
After listing the available virtual machines, install a virtual machine like this:
% eecsvm install ubuntu-24.04.2-lts-server ubuntu-24.04.2-lts-server VM: Virtual machine 'ubuntu-24.04.2-lts-server' is created and registered. UUID: 3d9d73f1-f655-453a-8555-aa38f84fd350 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: eebee866-d94d-4751-81ad-f538962e14be
Ubuntu server is installed immediately. It takes very little time.
In the listing of available VMs, you can see that ubuntu-24.04.2-lts-server is also aliased to just “ubuntu”. This means you can install it like this as well:
% eecsvm install ubuntu ubuntu VM: Virtual machine 'ubuntu-24.04.2-lts-server' is created and registered. UUID: 69d452a3-d2d5-4f93-98ac-65c6ce921884 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: 5e33e04b-53c2-4e60-b17b-0669b9a390dc
Installing a Virtual Machine Multiple Times
If you need to install multiple copies of the same virtual machine (say, 3 copies of Ubuntu Server), then you can give each install its own name:
% eecsvm install ubuntu ubuntu1 ubuntu VM: Virtual machine 'ubuntu1' is created and registered. UUID: 8ccb442a-4e77-4b01-bf04-20573072de7e Settings file: '/eecs/vm/user/jas/ubuntu1/ubuntu1.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 354c50c3-d424-4582-881d-60fcd2623092 % eecsvm install ubuntu ubuntu2 ubuntu VM: Virtual machine 'ubuntu2' is created and registered. UUID: ab673026-1ba9-4166-82b0-dcc7da5c35d0 Settings file: '/eecs/vm/user/jas/ubuntu2/ubuntu2.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 42d86496-d566-4f19-b8ab-68a42e07fdd6 % eecsvm install ubuntu ubuntu3 ubuntu VM: Virtual machine 'ubuntu3' is created and registered. UUID: 61aeaf0e-b0a7-4e17-9efc-702e312f1040 Settings file: '/eecs/vm/user/jas/ubuntu3/ubuntu3.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: e9456026-7214-4ed0-b7d2-4be551af7fa8
Optional Virtual Machine Installation Options
Other options which you can use when installing a virtual machine with “eecsvm install” include:
- –force Force install even if the VM is already installed.
- –immutable Mark VM disk as immutable (changes thrown away on exit).
- –netname NAME Attach the VM to VirtualBox 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 --force --immutable --netname mynet ubuntu ubuntu1 ubuntu VM: Virtual machine 'ubuntu1' is created and registered. UUID: 3565008e-f109-486a-b47d-dc6b4df96d66 Settings file: '/eecs/vm/user/jas/ubuntu1/ubuntu1.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 34f31b21-f166-40c5-ae14-9a8b619ac5f8
If you haven't used –force, the the system would not have been able to re-install the VM since it is already installed:
% eecsvm install --immutable --netname mynet ubuntu ubuntu1 ubuntu VM: error: VM ubuntu1 already exists. Repeat install command and add --force to reinstall.
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-alomari bundle:
% eecsvm installbundle eecs3482-alomari Installing bundle eecs3482-alomari ... kali-linux-2025.1c VM: Virtual machine 'kali' is created and registered. UUID: cbecf8ce-82d8-4a57-902b-fab703cba247 Settings file: '/eecs/vm/user/jas/kali/kali.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: fc52bb41-15d1-4e50-ae17-5bcfb3ffbf0a SEED-Ubuntu20.04 VM: Virtual machine 'seed' is created and registered. UUID: 4bf8a938-5763-4a49-bb34-d0e11b0e9037 Settings file: '/eecs/vm/user/jas/seed/seed.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 44f7da66-2b92-4a46-8df2-89c05a067200 metasploitable3-ubuntu14 VM: Virtual machine 'metasploitable3-ubuntu14' is created and registered. UUID: aa47dfd9-4d31-4a73-9a3f-528eb0e15de0 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: 38197c23-6888-4d5d-8663-fb67b36b98dd metasploitable3-win2k8 VM: Virtual machine 'metasploitable3-win2k8' is created and registered. UUID: 8bdb8e93-fe59-40a9-a5be-f9217aece9ff 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: 78655949-b181-40de-ae97-12e4eb8835b8
Here, we can see that several virtual machines 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, 10.0.2.0/24.
Check Which Virtual Machines You Have Installed
To check which virtual machines that you have installed:
% eecsvm list installed 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 virtual machine 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 virtual machine 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 virtual machine 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 virtual machine 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: 98.1 of 195312.5 MB used
By default, you have a 20 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 please 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 your VirtualBox configuration. This operation is NOT recoverable. Please ensure that VirtualBox is NOT running. Do you wish to proceed (YES/[no]) ?YES Deleting /cs/home/jas/.config/VirtualBox ... Deleting VMs ... Done
Access Your EECS Home Directory From Inside Your Virtual Machine
Your EECS home directory can be shared with virtual machines. The method of accessing it will vary 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:
- 1) The VirtualBox “Guest Additions” package is installed, and
- 2) The “vboxsf” group exists (“Virtualbox Shared Folder”).
- 3) the user who should be able to access your EECS home directory is in the vboxsf group. You enter this command on the guest VM:
% sudo usermod -aG vboxsf $(whoami)
Windows
- 1) The VirtualBox “Guest Additions” package must be installed.
- 2) Your home directory is accessible as Windows share “\\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 my-custom-ubuntu ubuntu VM: Virtual machine 'my-custom-ubuntu' is created and registered. UUID: 6e317972-2718-46c8-aa9e-501cf8c1c5ba 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: 6ceff68d-d00a-44dd-958d-714085bcfeed
Next, start the VM, and make any required adjustments. For example, you could install various software packages, and configure the VM in custom ways.
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: Once a user has installed a VM from the repository, 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 in the EECSVM area is not backed up. If you corrupt your VM 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 corruption and 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 are done.
- If you're using a lab workstation, please check the pcmode schedule to ensure that the workstation that you choose 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, the 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. Likewise, since installation of updates will consume your quota, it is not recommended to install updates unless necessary.
- For additional VirtualBox assistance, refer to the VirtualBox online documentation.
- For more information on VirtualBox command line options, use command “vboxmanage”.
Here's additional information on the currently installed VMs for use with the EECSVM service:
Currently Installed VMs
VM Images
Name | Description | Username/Password |
---|---|---|
3482-w24-win10 | 3482 Winter 24 Windows 10 VM | na |
4421 | 4421 VM | na |
flarevm | Windows 11 FlareVM with default packages | u: common, p: common |
kali-linux-2025.1c | Kali Linux | u: kali, p: kali |
metasploitable2 | Metasploitable 2 | u: mfsadmin, p: mfsadmin |
metasploitable3-ubuntu14 | Metasploitable 3 | u: vagrant, p: vagrant |
metasploitable3-win2k | Metasploitable 3 | u: vagrant, p: vagrant |
SEED-Ubuntu20.04 | SEED | u: seed, p: dees |
ubuntu-24.04.2-lts-server | Generic Ubuntu 24.04.2 LTS Server VM | u: common, p: common |
windows11 | Generic Windows 11 | u: common, p: common |
VM Bundles
Name | Description |
---|---|
eecs3481-alomari | SEED |
eecs3482-alomari | Kali, SEED, Metasploitable3 Ubuntu, Metasploitable3 Windows |
eecs3482-rts | Kali, Metasploitable3 Ubuntu, Windows 11 |
eecs4484-alomari | SEED, FlareVM |