Skip to content

E7H31234L/windows-home-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

41 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Windows Home Lab

Build disposable Windows VMs for your home lab License-MIT Version-2.0

Project Board: https://github.com/users/E7H31234L/projects/2

Build disposable Windows VMs for safe testing, Active Directory practice, and development in an isolated home lab environment

Perfect for: IT administrators, security researchers, students learning Windows administration, and developers testing enterprise deployments.


πŸš€ Quick Start

System Requirements

  • OS: Ubuntu 20.04+ (tested on 24.04.1 LTS)
  • CPU: Intel VT-x/AMD-V virtualization support
  • RAM: 16GB+ for concurrent VMs (8GB per VM recommended)
  • Storage: 100GB+ free disk space
  • Network: Internet connection for ISO downloads

Installation

# 1. Install dependencies
sudo apt update && sudo apt install -y qemu-kvm libvirt-daemon-system virt-manager aria2c

# 2. Configure user access
sudo usermod -aG kvm,libvirt $USER
newgrp libvirt

# 3. Verify setup
kvm-ok
sudo systemctl start libvirtd && sudo systemctl enable libvirtd

# 4. Clone repository
git clone https://github.com/E7H31234L/Windows-Home-Lab.git
cd Windows-Home-Lab

# 5. Install dependencies
./scripts/install.sh

Basic Usage

# Download required ISOs
./scripts/utilities/enhanced-downloader.sh 1  # VirtIO drivers
./scripts/utilities/enhanced-downloader.sh 2  # Windows 11 ISO

# Create base image (do this once)
./scripts/create-base/create-win11-base.sh

# Create disposable VMs
./scripts/create-vm/create-win11-client.sh --name "Test-Win11"
./scripts/create-vm/create-win-server.sh --name "AD-Server-01"

# List and manage VMs
./scripts/utilities/list-vms.sh

πŸ“ Project Structure

Windows-Home-Lab/
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ create-base/           # Base image creation
β”‚   β”œβ”€β”€ create-vm/            # Child VM creation
β”‚   β”œβ”€β”€ utilities/            # Management tools
β”‚   └── common/              # Shared functions
β”œβ”€β”€ config/                   # Configuration files
β”œβ”€β”€ docs/                     # Documentation
β”œβ”€β”€ README.md                 # This file
└── LICENSE                   # MIT License

πŸ“š Documentation

Document Purpose
Administration Guide Complete operational procedures
Security Guide Security best practices
Troubleshooting Guide Issue resolution

βš™οΈ Configuration

Customize VM settings in config/paths.conf:

  • Memory allocation
  • CPU cores
  • Network configuration
  • Storage paths

πŸ›‘οΈ Security

  • βœ… Input validation - Prevents malicious input attacks
  • βœ… Error handling - Scripts fail safely instead of silently
  • βœ… Permission checks - Validates group membership and sudo access
  • βœ… Path sanitization - Secure file path handling
  • βœ… Network isolation - VMs use NAT by default

Never run scripts as root - Use sudo with regular user account.


🎯 Use Cases

Enterprise IT

  • Active Directory testing - Safe GPO and AD experiments
  • Software deployment - Test SCCM/MECM packages
  • Security validation - Malware analysis in isolation
  • Patch testing - Validate Windows updates before production

Development & Learning

  • Development environments - Isolated dev/test setups
  • Education - Safe Windows administration practice
  • Certification prep - MCSA/MCSE study environments
  • Cross-platform testing - Windows software on Linux host

Security Research

  • Malware analysis - Disposable analysis environments
  • Penetration testing - Safe Windows target environments
  • Forensics training - Practice incident response
  • Network security - Test Windows security controls

πŸ“„ License

MIT License - See LICENSE file for details.


🌟 Acknowledgments

  • KVM/QEMU - Virtualization foundation
  • Libvirt - VM management API
  • VirtIO - Windows paravirtualized drivers
  • Ubuntu Community - Documentation and support

πŸš€ Ready to build your home lab! Start with the Quick Start guide and explore the Administration Guide for advanced operations.

Remember: With great power comes great responsibility. Use these VMs safely and ethically.

Releases

No releases published

Packages

 
 
 

Contributors