AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing Justsenger/ExHyperV in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler viewExHyperV **A graphical Hyper-V management tool that allows mere mortals to easily master advanced Hyper-V features.** **English** | 中文 --- ExHyperV aims to provide a graphical, easy-to-use configuration tool for advanced Hyper-V features by delving into technical details such as Hyper-V documentation, WMI, and HCS. Due to limited personal time and energy, the project may contain untested scenarios or bugs. If you encounter any hardware/software issues during use, please feel free to report them via Issues! Features will be gradually improved over time. If there is a specific feature you would like to see prioritized, or if you love this project, you can support it via the donation button at the bottom of the document and leave a message! 🎨 Interface Overview ExHyperV uses the WPF-UI framework to provide a smooth, modern user interface experience with sci-fi visual effects. It supports both dark and light themes and automatically switches based on the system theme. Supported languages: Simplified Chinese & English. Click to see more screenshots 🚀 Quick Start --- • Download and Run • **Download**: Go to the Releases page to download the latest version. • **Run**: Extract the archive and run directly. --- • Build (Optional) • Install Visual Studio and ensure the .NET desktop development workload is selected. • Clone this repository using GitHub Desktop or Git. • Open the file with Visual Studio to compile. Alternatively, you can download the .NET SDK, open the project directory, and run: 📖 Technical Documentation This section will be maintained long-term. It is written based on Hyper-V related documentation and development practices, and may contain inaccuracies. --- Introduction to Hyper-V > [!NOTE] > Hyper-V is a high-performance virtual machine manager (Hypervisor) based on Type-1 architecture. When you enable the Hyper-V feature, the host system becomes a privileged virtual machine belonging to the root partition. The created virtual machines belong to child partitions; they are isolated from each other and cannot perceive each other's existence. Virtualization technologies belonging to the Type-1 architecture include Hyper-V, Proxmox (KVM), VMware ESXi (VMkernel), Xen, etc., with performance utilization rates generally above 98%. Virtualization technologies belonging to the Type-2 architecture include VMware Workstation, Oracle VirtualBox, Parallels Desktop, etc., with performance utilization rates around 90%~95%. Based on these facts, you can view virtual machines as isolated small rooms where you can run potentially threatening programs, test system functions, multi-box games, or other uses without worrying about messing up the host system (Except in cases where FLR is not supported in PCIe passthrough, where a VM restart might restart the host, or viruses with lateral movement capabilities—please pay attention to network security). You can enable/disable Hyper-V via the Control Panel or a simple Powershell command (requires Pro or Server edition). After confirming with Y and rebooting, processes like vmms.exe, vmcompute.exe, and vmmem will run continuously in the background, and the Hyper-V Manager icon will appear in the Start menu. --- Scheduler > [!NOTE] > The scheduler coordinates how physical processor CPU time is allocated to virtual machine processors. Hyper-V has three types of schedulers: Classic, Core, and Root. They can be categorized into two types: Manual (Classic, Core) and Automatic (Root). Core can be seen as a variant of Classic that improves security but may reduce performance in some scenarios. The **Classic** scheduler dates back to Windows Server 2008. It is based on the principle of fair allocation using traditional time slicing. It randomly allocates VM processor time to any available logical processor on the host. If host resources are idle, it is more likely to allocate logical processors from different physical cores rather than hyper-threads to achieve better performance. The **Core** scheduler appeared later, introduced in Windows Server 2016 and Windows 10 Build 14393. Its purpose is to mitigate side-channel attacks. Even if host resources are idle, it tends to allocate two threads of the same physical core rather than more physical cores. This strategy helps improve security and VM isolation but significantly reduces the CPU performance allocated to VMs when host resources are idle. Starting from Windows Server 2019, Windows Server defaults to using the Core scheduler. The **Root** scheduler was released in Windows 10 Build 17134. It collects metrics on workload CPU usage and makes automatic scheduling decisions. It is very suitable for hybrid CPU architectures (Big/Little cores). Starting from Build 17134, Windows Hyper-V (Pro) defaults to using the Root scheduler. The system type is independent of the scheduler type; you can switch arbitrarily, effective after rebooting the host. --- Processor (vCPU) > [!NOTE] > The ability of the virtual machine to request execution time on logical processors from the host. Compute Resources Core Count Usually set to even numbers like 2, 4, 8, 16. Increasing vCPUs significantly improves the processing speed of parallel tasks, but too many unnecessary vCPUs may bring scheduling pressure to the Hypervisor. If the total number of VM cores exceeds the host's physical logical core count (overselling), applications requiring immediate response will be greatly affected. Reserve The lower limit percentage of execution time provided for this virtual machine. Reserve Value = Reserve * Core Count. Limit The upper limit percentage of execution time provided for this virtual machine. Limit Value = Limit * Core Count. Weight The priority of this virtual machine in competing for CPU execution time, ranging from 0 to 10000. Advanced Features Host Resource Protection When enabled, it monitors I/O requests communicated through VMBus. If abnormal behavior such as interrupt storms occurs, it…