This article is all about finding a virtualization personal project. If you're looking for a job in cybersecurity, or transitioning from IT to cybersecurity, and someone asks you what you're up to or what you're working on, your answer should never be "nothing."

In this personal project ideas series, I'll give a few ideas for projects you can use to become familiar with specific IT items.

Virtualization was huge when it became mainstream, and it's only grown from there. Take advantage of it to learn a few things, not just with virtualization either.

How To Find Out If Your System Can Run Virtual Machines

Here are a few ways to see if your system can run virtual machines:

  • Look at your CPU box or manual
  • Look up your CPU online
  • Use a program like Speccy, CPU-Z, or SecurAble
  • Intel users can run tests
  • AMD users can run tests
  • Boot into your BIOS and look for the V settings
Virtual Machine Settings in BIOS

You can use 1 or all of the above solutions. Be sure to check Microsoft's FAQ on BIOS as well.

What is a Virtual Machine?

A virtual machine, or VM, is a virtual system installation that runs inside a real computer. Each VM gets assigned a portion of the specified CPU and RAM from your computer's overall available pool.

Nearly all operating systems can be installed within a VM setup, and you can run software within these VMs. For some fun, install an old copy of Windows and be awed by how awful some of them were.

Some GPU-intensive applications, such as games or video editing software, will experience degraded performance because VMs aren't yet ready to handle them. Older or otherwise optimized games can run within a VM, but it will be choppy.

VMs also save the virtual computer's hard drive as a file, and you can save snapshots. This is very useful if you use VMs to test applications, whether they are dangerous or not. If something does go awry, you can restore the snapshot to a previous state. Before you get too snapshot-heavy, know that each snapshot takes up the size of a hard disk.

VM Terms

  • Host - the physical computer that runs VMs
  • Guest - VMs that run on a physical computer
  • Hypervisor - VM host software

That's how you check whether your system can run virtual machines. It's super fun to play with this, and it's a useful skill to learn!

Looking at Hypervisors

This is a decent primer to get started with VirtualBox:

Virtualbox Tutorial | Set up a Virtual Machine for free

What to Use a Virtual Machine For

  • Hands-on practice for your next certification.
  • Safely learn programming languages like Python and PowerShell.
  • Safely test software installations or found scripts online.
  • House one or multiple versions of Windows.
  • House one or multiple versions of Linux.
  • Learn security with Kali Linux.
  • Learn Active Directory, DNS, DHCP, FTP, and more by creating a mini home lab.

Examples of What to Put in the Virtual Machine

Windows Of Course

  • Get started with a free Microsoft OS from Microsoft Developers
  • Claim your free year of Azure to use Server OS

Any Base Flavor of Linux

You can load these ISOs as CD drives in your hypervisor.

Personal Cloud Projects

Web

Other

This section was updated 6/2/19.

  • Play with vsftpd for an amazingly secure and fast FTP server.
  • Play with Postfix for a personal mail server.
  • Set up a personal mail environment with Cyrus IMAP.
  • Play with Docker for a way to create, deploy, and run applications by using containers.

Docker was listed last here, but it's certainly not the least valuable offering. My local web prototyping and deployment software uses Docker so I can vouch for how neat and effective this solution is.

If you don't want to check out those links above, at least check out this intro video from Twitter University:

Introduction to Docker

Conclusion

I've learned quite a bit by starting a virtualization personal project, or should I say, multiple projects installed on my host and a server I created.

What are some things you're interested in that I haven't listed here?