Search code examples
hyper-vserver-core

Hyper-V Server Core Guest OS Install


I am new to Hyper-V and Server Core but I am stumped as to how to install a guest OS from an ISO using only PowerShell.

I have downloaded the Hyper-V Server ISO and installed it on my server. It only installs Server Core and does not give me the option for a full GUI option. I configured its network settings, etc and all looks ok. So Server Core installed properly and Hyper-V feature is enabled. I can use PowerShell to create a VM with VHDX and link my Guest OS ISO to it. When I start the VM there is no console UI to install the OS.

How are you supposed to install a guest OS with no console interface to setup the OS?

Note, there is no option under this configuration to enable the OS GUI as some posts have suggested.


Solution

  • First, please don't confuse "Server Core" with "Hyper-V Server". "Server Core" is an installation mode of Windows. Among other things, it can be converted to GUI mode, which is why people keep telling you to just turn the GUI on. Hyper-V Server looks like Server Core but it is not Server Core.

    For your actual problem, you're not going to find a simple out-of-the-box solution. You could work up a complete unattended installation process. You could set up a Windows Deployment Services server and have it install via PXE boot. I think some of the third-party Hyper-V management solutions allow you to connect to the console of a VM from within the local Hyper-V Server.

    Hyper-V Server was designed with headless operation in mind. It was expected that you would use it to configure and perform maintenance on the management operating system and, if desired, the virtual machines as containers. The guest operating systems themselves were not really meant to be managed from within Hyper-V Server. What it's expected that you'll do is use a full GUI, whether another copy of Windows Server or a Windows desktop operating system running Remote Server Administration Tools to remotely connect to Hyper-V Server and manage its VMs.