Upgrading Windows Server 2012 to Windows Server 2012 R2 on Hyper-V hosts

Introduction

I recently did a VMware to Hyper-V migration on two of our virtualization hosts. Everything has been working great, but now that Windows Server 2012 R2 is out I decided to give it a try. There are also cool new features in the new Hyper-V version, so why not upgrade. Here’s a link for 10 great new features in Windows Server 2012 R2 Hyper-V:

http://www.infoworld.com/slideshow/104337/10-great-new-features-in-windows-server-2012-r2-hyper-v-220067

For me, the most interesting features are VM Direct Connect and Copy / Paste between Host and VM via Shared Clipboard. Online VM exporting and cloning & Online VHDX resizing also seems like usable features.

 

 

Upgrade

Enough with the features, it’s time to upgrade! As usual I started out in a virtual test environment. The process was actually very easy and pain-free. Here are my steps:

 

· Inserted/mounted Server 2012 R2 media

· Chose upgrade

· Windows ran its own Windows Compatibility Report

· Told me to reboot

· I also received the following notification:

“Setup has detected one or more virtual machines which are part of a replication relationship. To avoid replication failures, upgrade the Replica server before upgrading the primary server. Once the Replica server is upgraded, any uncommitted failover operations will be committed, test failover virtual machines will be deleted, and the recovery history of the Replica virtual machines will be deleted. Setup has detected that one or more virtual drives are directly attached to physical devices. You might need to reconnect the virtual drives to these devices after the upgrade is complete”.

 

· I did a planned failover on one of the virtual machines on the replica server and then resumed the setup. Now every virtual machine had the same primary server.

· Upgraded the replica server. Upgrade went fine, no problems with virtual drives directly attached to physical devices. (Nothing to worry about, apparently it has to do with connected/mounted .iso to vm’s:

http://social.technet.microsoft.com/Forums/windowsserver/en-US/2d669709-f7d0-4bdc-974b-e0f5ab5552df/warning-compatibility-issue-during-upgrade-von-2008-r2-to-2012)

· One of the virtual machines had problems with replication (Fig 1) after the upgrade: 

 

clip_image002

 

Fig 1. Replication health

 

 

From event viewer:

 

Could not replicate changes for virtual machine ‘server 2012 r2’ as the Replica server ‘hyper1’ on port ‘443’ is not reachable. The operation timed out (0x00002EE2). (Virtual Machine ID 54519BBA-5127-4D5E-B9C3-D988BB6591F7)

 

Nothing critical, the server was just not able to replicate when the other server was down due to the upgrade. I reset the statistics and resumed replication. Everything went back to normal.

 

Now it was time to upgrade the other server, which basically follows the same concept. Just to test, I didn’t even shut down the virtual machines before the upgrade. The Server setup was smart enough to tell me to shut down the virtual machines before attempting an upgrade however. I was also told to restart the server before upgrading. I did both and resumed setup. As this server was the primary server and not the replica server, I could ignore the message about first upgrading the replica server (already done).

 

That’s it. It was really that simple 🙂

 

 

Production environment

The upgrade procedure in the production environment was obviously about the same as in the virtual test environment. Here are my steps:

 

· Shut down the virtual machines on the Hyper-V host

· Paused replication on both Hyper-V hosts. This way I didn’t have to worry about which server was primary and which was replica. (I didn’t find any information about this online so I just tested this theory. Worked great 🙂 )

· Ran the upgrade

· A bit of waiting (about 30 min in total, Fig 2)

 

clip_image004

 

Fig 2. Upgrading…

 

· Everything went fine on the first Hyper-V host

· …and also on the second 🙂

· Upgraded Hyper-V Integration Services in the virtual machines

· Resumed replication and did a reset on the replication statistics. Have some patience, replication will start automatically within a couple of minutes after this.

· Success, everything is back to normal except now I’m running Windows Server 2012 R2 instead of Windows Server 2012 (Fig 3) 🙂

 

clip_image006

 

Fig 3. Windows Server 2012 R2

 

 

Post installation tweaks

As this was an upgrade installation, Windows left its old installation in “Windows.old”. I’m only running the Hyper-V server role on these servers so I don’t need any of the old files as the servers are working just fine. To remove Windows.old, follow these steps:

 

· Enable Disk Cleanup Utility in Windows Server 2012 R2

· Run Disk Cleanup Utility and remove “Previous Windows Installations & Windows Upgrade log files”

· Done

 

Sources:

http://thenrml.wordpress.com/2013/06/26/remove-windows-old-after-using-in-place-upgrade-method-on-windows-server-2012-r2-preview/

http://blogs.technet.com/b/chad/archive/2012/10/08/tip-51-cleanup-on-isle-3-get-back-disk-cleanup-wizard-on-windows-server-2008-amp-2012.aspx

 

 

I also re-enabled ping (Echo request – ICMPv4) in the firewall as it was disabled by the upgrade.

 

 

Advertisements

Making Windows 8.1 look like Windows 8.0 (with a touch of Windows 7)

Change is good they say. I partially agree. With the release of Windows 8 there were also a bunch of third party start menu programs released. This is a good thing in my opinion, because I wouldn’t use Windows 8.x without some sort of modified start menu either. Now with the release of Windows 8.1 (I got the msdnaa version), there’s a “start button” present by default. The negative side of this is that it’s useless. When you click it, It just takes you to the metro interface. Why is this solution better than the one in Windows 8.0? I don’t get it.

The good thing is that everything is also customizable in Windows 8.1. You can have the Windows 7 start menu and also the default desktop theme from Windows 8.0. I happen to think that the default theme in Windows 8.1 is rather ugly (Fig 1) and I prefer the one from Windows 8.0. Call me old school if you want…

default_theme_win81

Fig 1. Default theme/look in Windows 8.1.

 

So, how do we get the Windows 8.0 look in Windows 8.1?

  • Update: Just download the Official Windows 8.0 flower wallpaper from http://www.hdwallpapers.in/windows_8_official-wallpapers.html and put it as your desktop background. Problem solved 🙂
  • Old method that also works: Save your current theme (right-click, Save theme for sharing) from a Windows 8.0 installation (Fig 2).

savetheme

Fig 2. Save old theme

  • Copy and apply the saved theme from your Windows 8.0 installation to Windows 8.1 (Fig 3 and Fig 4).

loadtheme

Fig 3. Saved theme

Untitled

Fig 4. Theme applied. Enjoy the Windows 8.0 theme in Windows 8.1 🙂

 

As I previously mentioned, I also prefer a modified start menu/button. My favorite (free) choice is Classic Shell (with the SevenVG skin).

classicshell

Fig 5. Classic Shell with SevenVG skin in action

 

Another “new feature” of Windows 8.1 is integrating the Library folders into My Computer or “This PC” as it’s called in Windows 8.1 (Fig 6). Again, call me old school if you want but I do NOT like this either.

newexplorer

Fig 6. This PC with integrated Libraries

Luckily there’s also a  solution for this dilemma. You can get the old Windows 7/Windows 8.0 look back to Windows Explorer by removing some registry entries. I won’t “steal” that information so here’s a link for the solution: http://www.howtogeek.com/168081/how-to-remove-the-folders-from-my-computer-in-windows-8.1/ Note the reply at the end.

Below is a screenshot with the registry entries removed (Fig 7). I’ve also enabled libraries by right clicking somewhere on an empty space on the left side and choose Show libraries (http://www.tech-recipes.com/rx/42957/windows-8-1-hide-librar-folders-in-my-computer/). Finally I renamed “This PC “ to “Computer”. (The “+” in front of the folders is also a modification I’ve been using for many years, called Classic Explorer. It’s part of Classic Shell).

There you go, transformation complete 🙂

libraries_and_no_folders

Fig 7. Integrated Libraries removed and old school libraries enabled.