Switching Between Server Core and Full GUI with Windows Server 2012

By: on May 14, 2012 in Server Core, TechEd 2012, Uncategorized, Windows Server 2012, Windows Server 8

It’s been awhile, so I figured I’d write a more technically-focused post. I’m putting together my TechEd session for Orlando (DBI313: Deploying SQL Server 2012 Using Windows Server Core) which is on Monday, June 11th at 1:15 PM. I’m hoping to show some Windows Server 2012 stuff, and in testing, I did find something interesting which may trip some of you up.

As I hope you already know, with Windows Server 2008 R2, you can configure Windows in one of two ways: with the full-blown user interface or in a Server Core configuration which just gives you a command prompt when logged in. Unlike Windows Server 2008 R2, Windows Server 2012 allows you to switch between Core and full GUI, and even adds what I call a “halfway house” known as MinShell. MinShell allows some GUIs to run – namely MMC snap-ins.

There is one caveat that isn’t well documented. While you can switch between Core and Full, how you started will determine the initial step. If you installed the full GUI, switched to Core, and then want to change back – no problem. If you first install Server Core and then decide to go with a GUI, the payload that has the interface is not installed by default (much like .NET 3.51, as I blogged about here). First, you’ll see the error as shown in Figure 1.

Figure 1. Error when trying to switch to the full UI

Shown in Figure 2, when you examine things with dism, you’ll see the payload isn’t there.

Figure 2. UI payload not enabled

Like .NET 3.51, you’ll have to install the payload as part of the enabling of the UI as shown in Figure 3.

Figure 3. Adding the package

You’re not done just yet. You also have to enable the feature Server-Gui-Shell (either with dism or using PowerShell [Add-WindowsFeature featurename]). An example is shown in Figure 4.

Figure 4. Adding the GUI shell feature

Once you reboot, you will see the full Windows Server 2012 GUI. You may see some instructions that also tell you to enable Server-Gui-MgmtInfra, but as you can see in Figure 5 which was done in testing this blog post, it’s enabled when you add Server-Gui-Shell.

Figure 5. Management tools enabled

Hope this helps some of you out there!

9 Responses

  1. Jason Crider says:

    Do you go as far as to recommend the installation of the Full GUI and then switching to core?

    • Allan says:

      Right now it’s honestly too soon to tell so I’m not making any hard recommendations at this point. Why? At the end of the day, MS – and specifically SQL – is probably only going to support this in a certain way. I can speculate but I can honestly say I have no idea if they’re even going to support going back and forth. Have I tried it and does it work? Yes. Supported? Who knows.

  2. Jason Crider says:

    Gotcha. I just installed a DC as Full and switched to core. About to try going to MinShell and see what it looks like but I’m cautious of what the final item will look like as well.

  3. carlos says:

    I use your post to repair a installation that I canceled in the middle and the server went up only in server core. with your post all went up for GUI and all is functioning (on a virtual machine)
    I apreciate too much all your info here

  4. ihsan says:

    So, what should i do, if i dont have a windows server 2012 in d:?

    • Allan says:

      YOu need access to the files somehow. As with other things, it may go try to grab it from the MS site on the internet but that isn’t really what you want to happen.

  5. Andrew says:

    I am following your instructions but no luck. Here is where it refuses to get past.

    dism command returns the following error at Figure:2

    Error: 0x800f080c

    Feature name ServerCore-FullServer is unknown.
    A Windows feature name was not recognized.

  6. […] Switching Between Server Core and Full GUI with Windows Server 2012 – Make sure you don’t fall foul of this installation ordering gotcha thanks to the insights of Allan Hirt (Blog|Twitter). […]

Leave a Reply