• Stars
    star
    290
  • Rank 142,981 (Top 3 %)
  • Language
    C#
  • Created over 8 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hyper-V Switch – A simple GUI to enable or disable Hyper-V without uninstallation, allowing the use of other virtualisation solutions.

Hyper-V Switch

A simple GUI to enable or disable Hyper-V without uninstallation, allowing the use of other virtualisation solutions.

Website: http://unclassified.software/apps/hypervswitch


Update in 2022:

It seems like virtualisation technology has caught up on this topic. Current versions of VMware and VirtualBox should run just fine on Windows systems with Hyper-V enabled. This is documented in the FAQ of WSL (Windows Subsystem for Linux). I can verify this running 64-bit Windows and Linux guests in VMware 15.5.6 at the same time as a 64-bit Android system in the Android emulator that comes with Visual Studio and .NET MAUI. On Windows 10 22H2. Even on an Intel Core i7-3770 processor, one generation older than VMware’s original minimum requirements. So this tool is now probably obsolete for most users.


Hyper-V is Microsoft’s virtualisation solution that can be installed with Windows. Visual Studio device emulators for Windows 10 Mobile rely on Hyper-V for the guest system. While this may work in most cases, it has the major disadvantage that Hyper-V is running permanently when installed, unlike application hypervisors like VMware or VirtualBox. With the Hyper-V hypervisor already running, these other virtualisation solutions cannot work properly, for example 64-bit support is no longer available and performance is degraded because the VT-x CPU hardware extensions are not available inside a VM guest (which your entire Windows desktop will then be). When using device emulators for Android or other VM solutions for other work, Hyper-V interferes badly with those virtualisation applications.

The only option that Microsoft allows is uninstalling the Hyper-V role from Windows. This takes a short time and then restarts the system. It is also a bit hidden within the classic control panel in a lenghty list of features. When installing it again, you need to know which features to select.

Another solution is to configure the BCD boot configuration file to set a parameter that enables or disables Hyper-V on system startup. This parameter can be set with the command line tool bcdedit.exe and Administrator privileges. Again, this is not an intuitive way to work with multiple virtualisation solutions.

Hyper-V Switch automates the second described procedure, reading and writing the BCD file, displaying the current state and offering a one-click action to toggle Hyper-V and restart the computer. The restart is still required because to toggle Hyper-V usage, Windows needs to be booted either without permanent virtualisation or as a virtualised guest from the beginning. Also this information is only available (and can be changed) with Administrator privileges.

To avoid the UAC (Administrator) confirmation for every start of this program, you can create a scheduled task to run this program file, set no trigger, activate the “Highest privileges” option and then create a batch file to run something like schtasks /run /tn HyperVSwitchTaskName.

More Repositories

1

MultiSelectTreeView

A WPF TreeView control with support for multiple selection.
C#
181
star
2

AsyncTcpClient

An asynchronous variant of TcpClient and TcpListener for .NET Standard.
C#
152
star
3

msgpack.js

A minimal yet complete MessagePack implementation for JavaScript. msgpack.org[JavaScript]
JavaScript
143
star
4

T-Clock

Highly configurable Windows taskbar clock
C
41
star
5

NetRevisionTask

Injects the current VCS revision of a working directory in a custom format into a .NET assembly build. Based on the .NET Revision Tool, integrated as an MSBuild task, for .NET Framework and .NET Core.
C#
33
star
6

TxTranslation

Tx Translation & Localisation for .NET and WPF
C#
28
star
7

FieldLog

Fast and comprehensive logging tool for .NET applications
C#
21
star
8

EasyPdfSigning

Easy digital signing of PDF documents without rebuilding them. Allows multiple signing.
C#
19
star
9

NetDllExport

Exports static methods in a managed DLL as library functions that can be called from an unmanaged Windows application.
C#
19
star
10

TodoHighlighter

Visual Studio extension that places red boxes behind all the “TODO”s in the editor window.
C#
19
star
11

NetRevisionTool

Injects the current VCS revision into a .NET assembly build.
C#
15
star
12

DotnetMakeDeb

Creates a .deb Debian binary package from a specification file through the dotnet CLI command or as standalone command-line tool.
C#
13
star
13

ViewModelKit

Makes WPF ViewModel classes smart by default.
C#
11
star
14

CecilExplorer

Mono.Cecil object model explorer
C#
9
star
15

MiniWebCompiler

Compiles JavaScript code and SCSS stylesheets for the web, in a simple and clean GUI for Windows. https://unclassified.software/apps/miniwebcompiler
C#
5
star
16

FlashConsoleWindow

Flashes the console window entry in the taskbar and changes the integrated progress bar (Windows Vista+).
C++
3
star
17

DeepConvert

Converts a data type to another data type, smarter than the standard Convert class, including collections and their items as well as object properties (duck typing). With special support for DateTime conversions.
C#
3
star
18

psbuild

Automated, local building of Visual Studio solutions and calling external tools like unit tests, source code commit, obfuscation, digitally signing, file publishing and transfer.
PowerShell
3
star
19

SettingsAdapterFactory

Generates dynamic types that implement an interface with properties that bind to a settings store and implement INotifyPropertyChanged.
C#
2
star
20

DotnetSshDeploy

Deploys websites and applications to SSH servers through the dotnet CLI command or as standalone command-line tool.
C#
2
star
21

Frontfire1

The Frontfire Web Frontend Framework offers essential styles and effects combined with a consistent set of interactive widgets and layout utilities.
JavaScript
2
star
22

GitRevisionTool

Prints out the current Git revision info of a working directory and automatically writes it into your .NET project for the build.
C#
1
star
23

NewMailNotification

Thunderbird new e-mail notification UI helper, designed to work with the Mailbox Alert add-on.
C#
1
star
24

GitInstaller

Installs or updates Git components on a developer computer. http://unclassified.software/apps/gitinstaller
C#
1
star