Upgrading to Windows Server 2012 – Part 3

Known Issues during an upgrade


Issue 1: Compatibility Report shows errors that certain roles are installed even when they are not

During the Windows upgrade, the Upgrade Compatibility wizard runs a through test of the machine and reports any known compatibility issues. Sometime, the report may show you a particular role installed when it is actually not present.


One of the reasons this occurs is due to corruption in the component store, or any registry locations related to the role, that is causing the state of the role to be misreported. In this scenario, running a CheckSUR shows that there were several missing Deployment Keys in the components hive.


Since there is no easy way to fix links to so many keys, we ended up performing an in-place upgrade of Windows Server 2008 R2 using the media. This fixed the issue with the missing registry entries in the components hive and we could verify that running CheckSUR fixed the issue. Once we made sure that the state of all the components and deployment manifests were intact, we could perform the upgrade to Windows Server 2012 without any issues.

Issue 2: Upgrade fails when there is another volume larger than the C drive on the same disk without a drive letter.

Consider a partition layout as shown below:


The computer could be configured this way for various reasons. For examples, you are having a dual-boot system, and you do not want to have a drive letter for the other system drive. Or, the computer manufacturer configures this volume to store recovery data. In this scenario, the upgrade process fails after the first restart. Additionally, you receive the following error message:

Setup cannot continue. Your computer will now restart, and your previous version of Windows will be restored.

In this situation, the setup process temporarily assigns a drive letter to that volume and may use this volume to hold temporary files ( $Windows.~BT) because that is the largest volume. But the temporary drive letter assignment is removed during the reboot and it leaves the upgrade without a temporary file location causing it to fail.

This is very unlikely on a server to have this sort of partition layout, but if you dual boot your client desktop, you may run into this issue. The workaround is simple, just statically assign a drive letter to any additional partitions you have on the disk, except for the System Reserved partition.

Joseph Conway had written this blog a while back discussing guidance installing Service Packs. The same guidance also applies when performing Server upgrades. Here are some additional things you should keep in mind when upgrading to Windows Server 2012:

  • For Windows Server 2012 upgrades, the Remote Desktop Services role is one role which will not properly upgrade due to the drastic changes in architecture, dependencies and package layouts. This role will need to be removed and re-enabled after the upgrade is completed. For other roles, the specific teams will come out with step by step guidance to help you through the upgrade. Keep a look out on this TechNet link, so that you don’t miss these: http://technet.microsoft.com/en-us/library/jj574225.aspx
  • If you have Hyper-V installed, make sure all VMs are turned off. Snapshots are ok, but any VMs that are in saved state may not boot after the upgrade.
  • Ensure that BitLocker is suspended, and Antiviruses are disabled. Any backup or data replication software you are running should be paused so that it does not interfere with the upgrade.
  • Make sure that there is no system file corruption. You can use the System File checker tool to do a scan and check for integrity violations. At an administrative command prompt, run : SFC /scannow
  • We launched the “Check System Update Readiness” or CheckSUR tool a few years ago. This tool is continuously updated with the latest payloads and can detect report and fix a variety of corruption issues with the component store. More details on running this tool can be found on Joseph’s blog here. Running this tool and looking at its logs, (C:\Windows\Logs\CBS\CheckSUR.log) will tell you if there is any pending corruption that needs to be fixed.

On a side note: CheckSUR is no longer needed on Windows 8 and Windows Server 2012. The number of instances where CheckSUR has fixed CBS corruption was so large, that we decided to include the tool inbox. For more details on inbox corruption repair feature available in Windows 8, check this blog.

  • If you have Remote Server Administration tools installed, it is recommended that you remove this before the upgrade.
  • We also recommend removing any additional language packs that are installed. After the upgrade, you can always install the latest language packs for windows 8/Server 2012.
  • Verify that you are running the latest drivers available for all devices connected to the server. Remove any un-necessary devices before the upgrade and connect them back after you have made sure that the upgrade was completed successfully. Ensure that there are no pending reboots from update or driver installations.
  • Always, take a backup before the upgrade. If this is a virtual machine, you can also create a snapshot before the upgrade.

The last tip for today – is to pay attention to the errors and warnings during setup. There are significant improvements in the logging as well. If you run into an issue during setup, the SetupAct and SetupErr logs will give you more details. For a complete list of log file check this TechNet article: http://technet.microsoft.com/en-us/library/hh824819.aspx

Also watch out for more posts in this series.

Vimal Shekar
Windows Core Team @ Microsoft