Lately there seems to be an increasing number of people that want to run Windows 2008 R2 Server as their primary OS on their laptop or desktop systems as opposed to Windows Vista or Windows 7.  I’ve been doing this for some time now, and I thought I’d share my experience.   I first started out running Windows 2008 about 2 years ago and then when I received a new laptop at work, I moved to Windows 2008 R2.  There are many good web sites out there that give you information on how to do this, and much of what I have learned in this process has come from reading those sites and experimenting with various setups.  The following 2 sites in particular have a lot of good information:

http://www.win2008r2workstation.com/

and

http://www.win2008workstation.com/

The first question is probably why would anyone want to do this?  I suppose everyone has their own reasoning – but mine was a practical one.  The nature of my work makes having a test lab indispensible. Having that test lab with you where ever you go is priceless.  I have tried accessing labs remotely, both at work and at my home through my router using a DDNS service, but it was never a consistent experience and not very satisfactory.  In my work I cannot guarantee high-bandwidth connectivity.  Sometimes I can’t guarantee connectivity at all.  So, I set out to review my options with my new laptop using Windows 7.  I am a big fan of Windows 7 and use it at home (Windows Media Center is awesome), but there was one issue I couldn’t overcome with it.   At the time of this post, Microsoft Virtual PC does not currently offer support for 64 bit guest operating systems.  There is a 64 bit version of Microsoft Virtual PC, but it does not allow you to install a 64 bit operating system into a virtual machine.  The big advantage of 64 bit is the vastly larger amount of addressable memory it provides.  Now, most of my virtual machines are for testing and have relatively low amounts of memory, but I didn’t want this limitation.  Also, there can be some differences between behaviors of different platform builds of the same product – I wanted to be able to install both.  Some competitor products support 64 bit (VirtualBox and VMWare Player), but I wanted to stay with our own software.  So I decided to move forward with Windows 2008 R2 so I could use Hyper-V for testing – and I haven’t looked back since. 

So first, a little about my setup.  I currently use a Lenovo W500 laptop with 2 - 2.53 GHZ cores, 8 GB of RAM, and an extra hard drive in the expandable bay (ultra bay) that replaces my CDROM drive.  I never use the CDROM and use a virtual CD/DVD drive instead and carry ISO files of the software I use in my lab.  This secondary hard drive is where all my VHDs reside for my lab.  It is an internal 1 TB SATA II drive.  I previously used an eSATA drive which provided good performance, but the internal drive is bigger and so much more convenient.   All I need to do is start Hyper-V Manager or run a PowerShell script I’ve created to launch a VM to test a new feature or work through a support scenario.  Again, knowing it is always there and available – with consistent performance – is what I like best.

As for the look and feel, most people wouldn’t know I am not running Windows 7 without running “winver” to show it is in fact Windows 2008 R2.  You can configure Windows 2008 R2 to look just like Windows 7 complete with the Aero desktop.  I even have my desktop wallpaper rotating every 10 minutes like you can in Windows 7.  You can have sound, wireless, and most all of your applications. 

So what doesn’t work?  I can’t really say how games perform because I am not much of a gamer and the few I do play are on dedicated gaming consoles.  But from my experience, the only thing that doesn’t work with the ease of Windows 7 is:

  • Bluetooth
  • Sleep/Suspend (when using Hyper-V)
  • Installers that check for OS Version (like the Zune installer)

Now, there are a lot of resources on the web that discuss the level of Bluetooth support you can get with Windows 2008 R2 – and I know you can get some functionality, but it sounds like it has been somewhat painful.  For me, I don’t care because I am not a big Bluetooth user – I  use a regular wireless mouse and a USB headset.  For the sleep/suspend, that was a bit harder.  Windows 2008 R2 can go into sleep/suspend mode, but I moved to Windows 2008 R2 for Hyper-V and that is the reason I can’t have suspend/sleep mode. 

Sleep and hibernate power features are not available when you enable Hyper-V technology on a Windows Server 2008-based portable computer
http://support.microsoft.com/kb/954418

I physically shutdown my system when I am done working.  Windows 2008 R2 does fully support the various power modes, so if I choose I can reduce power consumption with the Balanced or Power Saver power plan, or I can create my own power plan.  In the end this wasn’t a deal breaker for me and it was a price I was willing to pay. 

The other concern most people have is finding driver support.  In my experience, most all of the drivers that work for Windows 7 have worked fine with Windows 2008 R2.  The kernels are the same or nearly the same.  If you are using Windows 2008, then the Vista drivers should work for you.  The only driver I’ve had a problem with was the Bluetooth driver, but it wasn’t worth the time to me to dig into if further.  Therefore, I downloaded all the drivers from my laptop vendor’s website (Lenovo) and let the driver manager line them up.

As I have said, I haven’t looked back and enjoy the power of Windows 2008 R2 and Hyper-V for my lab.  I have all the software you might expect on a client OS plus a lot of server OS software including:

  • 4 instances of SQL Server 2008R2 (2 instances)/2008/2005 (I set these to startup manually and manage them with scripts when I need them)
  • Office 2010 (Word, Excel, PowerPoint, InfoPath, Visio, Project, Outlook, OneNote)
  • Visual Studio 2010
  • Zune (installation package refused to install, but there is an easy workaround found on the web just as easily)
  • Live Messenger and Tools
  • Debugging Tools for Windows
  • MapPoint for North America and Europe
  • NetChess (for network Chess games with my son)
  • Company LOB apps (but I can’t guarantee your company’s apps will work of course)
  • Tax software
  • BitLocker
  • Several applications I wrote
  • Live Writer for blogging
  • and much more…

So what do you need to do to get Windows 2008R2 setup as a workstation?   Start out with the first 3 basic steps:

  • Install Windows 2008R2
  • Apply any service packs and the latest cumulative updates or fixes (pay a visit to Windows Update)
  • Get all the drivers loaded from the hardware vendor for your laptop/desktop (if there isn’t a Windows 2008 or Windows 2008R2 driver, try the Windows Vista or Windows 7 driver respectively)

Once you are here… now it’s time to get it configured the way you want it before loading your applications.   Chances are, your desktop still looks something like this:

image

Well, that isn’t too exciting…  In fact, it’s ugly for a client machine.  First, let’s get the desktop icons we’re used to.  Press START and in the search box (not RUN) type “desktop icons”.   Then you can find this familiar window to add icons to the desktop:

image

Now, let’s make some changes to the configuration to make it behave more like a desktop.  Much of the differences with the Server OS is in the configuration.  So click on START and right click on “Computer” and select “Properties”.  When that window comes up, select “Advanced system settings” on the left margin of the window.   You should get a pop-up window that looks like this:

image

Be sure you are on the “Advanced” Tab, and click the “Settings” button under the Performance section.  In the window that comes up, be sure you are on the “Visual Effects” tab.  We want to change the Windows settings to use resources for the best appearance and not balanced or for performance (unless you don’t want to nice desktop graphics and/or Aero).  Notice the options automatically selected when you chose this option:

image

Ok, now on this window select the Advanced Tab again and make sure we configure the OS to make resource allocations for desktop programs (like a client OS) and not background services (like a server):

image

Now, to get all of this looking and working more like a desktop, we need to add some “features”.  Open Server Manager (Or do START –> Computer –> Right Click –> Select “Manage”) and click on the Features section and add the following features to get the nice desktop experience and to get wireless internet working:

image

We aren’t there yet.  Now in Server Manager, click on Configuration –> Services.  In here, you must enable and set the Themes services to startup type to Automatic and start it:

image

Now, while you are in services, you should also enable the Windows Audio Device which is stopped and set to manual by default and check that the Wireless service installed and started from the features install (WLAN Autoconfig):

image

Now let’s enable Aero by going to Control Panel –> Appearance and Personalization –> Personalization (these steps are slightly different if you are using Windows 2008 and not R2):

image

Now your desktop should be looking better.  In the screen above, I selected “Desktop Background” to setup the slide show for my wallpaper that rotates every 10 minutes. 

If you have chosen to use Windows 2008 R2 for the same reason that I do (an on the go lab), you will need to install the Hyper-V role from the Server Manager –> Roles section:

image

Finally, there are a few items we have to take care of to help with the usability of our new workstation.  First, we don’t want to have to enter a reason every time we shutdown.  So click START –> Run –> type “gpedit.msc” –> click OK and navigate to the following location to disable the shutdown tracker:

image

Also, you are going to want to disable the Internet Explorer Enhanced Security that seems to prompt you for every web page you visit.  Start Server Manager (or START –> Computer –> Right Click –> Manage) and click “Server Manager” in the left hand pane.  On the right, you’ll see a link for “Configure IE ESC” like this:

image

and:

image

And finally, I typically prefer to disable the User Access Control.  To do so, open Control Panel and search on “UAC”:

image

Click and lower the setting…

image

One other modification I’ve made to my system is to install an additional language.  You can download the language packs at the following location:

Windows Server 2008 R2 Multilingual User Interface Language Packs
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=03831393-eef7-48a5-a69f-0ce72b883df2&displaylang=en

At the bottom of that page you can find an ISO file with all the language packs.  To install them on Windows 2008 R2, open Control Panel and select “Clock, Language, and Region: then “Install or uninstall display languages”:

image

Now you can follow the screen and instructions to install one of the language packs on the ISO you downloaded.  You will either need to burn the ISO to a DVD or to use virtual CDROM software like Virtual Clone Drive (http://www.slysoft.com/en/virtual-clonedrive.html) to install the language packs.  Once you are done, you can change the display and input languages by clicking on either “Change display language” or “Change keyboards or other input methods” on the screen above.  I like to have the language bar running on my task bar so I can quickly change between inputs when typing in different languages/character sets:

image

which gives me this on my task bar for easy switching:

image

After all the changes, you should now have a desktop close to the following capable of 3D task switching:

image

image

All that is left is for you to finish configuring desktop, start menu, and other settings to your preference and to install your applications.  Remember, some applications may do an explicit check for OS Version (like the Zune installer), but you can usually find a workaround already documented on the web.

-Jay