I seriously doubt this now. Inspired by CoreConfigurator, I tried a couple of other tools with a GUI on Windows 2008 Server Core. I was surprised that most of them worked. I tried two file management tools, a Registy Editor, Microsoft’s Process Explorer, and (that was the fun part) Firefox. I was also tempted to install Office 2007, but I left this exercise to other jokers.

server_core_freecommander Installing those tools wasn’t a big deal. All you have to do is to launch the setup files. As file managers, I tried FreeCommander and Xplorer. Both are free Explorer alternatives. Most of the features worked flawlessly. With some I had problems though. For example, I wasn’t able to map a network drive with both tools. However, when I mapped a share on the command prompt I was able to access it with both file managers.

server_core_regalyzer I also tried the Registry tool, RegAlyzer, which I reviewed a couple of days ago. Since editing the Registry is often the only way to change Server Core settings, it can be quite useful to have a powerful Registry editor at hand. It proved already to be quite useful a couple of times since I started exploring Server Core.

Microsoft’s Process Explorer worked as well without problems. I suppose, most of the other Sysinternal tools can be used on Server Core, too. So I started wondering if there are any GUI-based programs that don’t work. There are certainly such tools. For instance, I wasn’t able to install Terminals, an RDP client. But I somehow think that it won’t be a big deal to adapt it to Server Core.

server_core_firefoxI was quite surprised, though, that I was able to launch Firefox on Server Core. The other tools were rather simple management tools, but a web browser is something different. However, I only tried the portable edition of Firefox. I know, it comes close to a sin to install a web browser on a system that was developed to offer better security. Well, you know me, I am into graphical user interfaces.

When I first heard that Microsoft plans to offer a GUI-less Windows version, I wondered how this could possibly work. Their first operating system having a GUI (Windows 1-3) were DOS-based and the graphical interface was just an add-on. Later, Microsoft decided to give up this concept and created an OS that was unthinkable without a GUI. This move was quite smart and lead to Microsoft’s monopoly.

With Server Core, they are trying somehow to turn back the clock. But now we have the opposite situation. Windows Server 2008 is an operating system that was designed to be managed by a graphical user interface, but Server Core is supposed to be operated only with a CLI. And like the first Windows versions that were unable to deny their DOS-based nature, Server Core can’t hide that it is still Windows. In my post about Server Core and VMware, I demonstrated how an easy thing such as changing the mouse pointer can get quite complicated. All Windows settings are stored in a database, i.e. the Registry. This makes sense as long as you have GUI tools to access this database.

This is quite unlike Linux where you don’t need GUI tools because all settings are in simple text files. Basically, Linux is a GUI-less OS and X-Windows is just an add-on. I have read a couple of times that Microsoft came out with Server Core because customers were asking for it. The truth is, however, that Server Core was born at a time when Microsoft was afraid of Linux. So they tried to copy some of its features. Componentization, Server Manager and PowerShell are other products of this process. Whereas those solutions were more or less successful adoptions, Server Core is not.

All they did was to delete some GUI tools. GUI tools need a lot of disk space and memory, so Server Core seems to be a slim OS. This is supposed to reduce attack surface, Server Core’s alleged biggest advantage. However, I doubt somehow that removing a couple of GUI tools will improve security significantly. Server Core is still Windows, it is not Linux. Windows admins will surely get tired of messing around with the Registry and with typing longwinded commands and will just install GUI tools from third parties. This will probably weaken security.

Subscribe to 4sysops newsletter!

Coming back to my question in the heading of this post, no, Server Core is not really a GUI-less OS. Like other current Windows versions, it is a GUI-based operating system which just lacks some GUI tools that can be added easily.

5 Comments
  1. Dan Shappir 14 years ago

    I think you misunderstand what Server Core is intended to be. As you discovered Server Core is not (contrary to popular belief) GUI-less windows. Rather its a version of Windows where various GUI components and services have been left out. As such, some GUI applications will work on it and some won't, depending on the services they require.

    For example, this page on MSDN lists the DLLs that are included in Server Core:
    http://msdn2.microsoft.com/en-us/library/ms723876.aspx
    Note that gdi32.dll (Graphics support) is included as well as shell32.dll. OTOH comctl32.dll (the common controls) is not.

    Over the years Windows has become a tangled web of services, with various services utilizing other services, often in unexpected ways. For example, code in ntdll.dll might invoke a function in shell32.dll. In Server Core Microsoft did their best to "clean house" - move services to better locations and cut out anything they could.

    Creating a real GUI-less version of Windows is a much bigger project. This is what we may get eventually as MinWin:
    http://en.wikipedia.org/wiki/Windows_7#MinWin

  2. Dan, it seems like we agree on what Server Core is and what it's not. Another not so Microsoft-friendly description would be that it is just Windows Server 2008 with limited functionality or simply Windows Server 2008 Basic.

    We are not on agreement about Microsoft’s intentions though. I think, they really wanted to create a GUI-less OS, but they failed. Server Core came into existence because of the Linux threat. There is no doubt about that. But the main difference is that Linux is a fully-functional server system without the GUI. Microsoft was only able to remove a part of the GUI, and thereby, they had to limit functionality significantly. So you could say that they failed in two disciplines.

    Microsoft has to completely redesign Windows if they really want to compete with Linux in this field. Maybe MinWin will lead in this direction. We will see.

  3. Mark Dean 11 years ago

    I've been doing a lot of work with Core Edition over the last year.

    I think another way to describe what Core Edition is would be to say it is Windows without the Desktop components, in particular, the explorer-based desktop shell. For many years I used to run Windows servers with the explorer shell specified as cmd.exe (registry change) and while not entirely the same as Core Edition, it did do the one thing that I wanted-and the main thing I like Core Edition so much: it keeps the interactive logons by sysadmins down to almost zero. Windows admins have developed a bad habit of every time they need to do something to a server they logon to it. This increases the likelihood of all kinds of bad things happening and it isn't necessary, whether you use the command line or GUI tools, there's rarely any reason to actually logon to a Windows Server desktop to administer it.

    As you've pointed out, there are still enough components to install many items (I've installed SQL Server and a number of other MS servers) and also have an interactive environment.

    However, I think they've achieved a nice compromise. They've reduced the footprint of Windows and reduced the amount of patches needed. When I've installed a fresh install of a non-Core 2008 Server, Windows update shows some 80 patches needed. Core edition: 20. And less if I hadn't installed .Net.

  4. igor 9 years ago

    Thanks for the article!
    Google Chrome full version installs and works fine on Windows Server 2012 Core installation. Just execute the same ChromeSetup.exe

  5. katherine moss 8 years ago

    It would be funny if one copied the comctl.dll component from another computer to a core installation and saw if that fixed the problem you were having.

Leave a reply

Please enclose code in pre tags

Your email address will not be published. Required fields are marked *

*

© 4sysops 2006 - 2022

CONTACT US

Please ask IT administration questions in the forums. Any other messages are welcome.

Sending

Log in with your credentials

or    

Forgot your details?

Create Account