Virtual Environments
Virtual Environments
Hypervisors
Hypervisors are the software, firmware, or hardware that create and run virtual machines. They come in two types:
- Type 1 Hypervisors: Also known as bare-metal hypervisors, they run directly on the host’s hardware to manage guest operating systems. Examples include VMware ESXi, Microsoft Hyper-V, and Xen.
- Type 2 Hypervisors: These run on a host operating system and provide virtualization services. Examples include VMware Workstation, Oracle VM VirtualBox, and Parallels Desktop.
Virtual Machines (VMs)
What is a VM?
A Virtual Machine (VM) is a software-based computer system emulation. VMs provide the functionality of a physical computer, but they run as a process on a host machine. VMs are essential for isolating and containing vulnerabilities, as they provide a separate environment for running applications without affecting the host system.
Why Use a VM?
- Isolation: VMs allow you to run applications in a contained environment, reducing the risk of system-wide vulnerabilities.
- Testing and Development: VMs are ideal for testing new software or operating systems without additional hardware.
- Resource Optimization: Multiple VMs can run on a single physical machine, efficiently using hardware resources.
Virtual Environment Options
- VirtualBox: A free, open-source virtualization product for enterprise and home use.
- VMware: A popular virtualization platform offering both free and commercial products.
- UTM (MacOS Only): A simple VM management tool for macOS. here
- Parallels (MacOS Only): A commercial solution for running Windows on Mac.
- Bare Metal (Type 1 Hypervisor): For direct installation on hardware. See How to Flash ISO to Hardware
- Docker: A tool designed to make creating, deploying, and running container applications easier.
- Docker Containers for research
- Android Virtual Device (AVD) Emulator: A tool for running and debugging Android applications. It is part of Android Studio and offers a free and open-source solution for Android development.