The upgrade path should be as simple as upgrading Windows Server 2008 R2 Server-Core Domain Controller to Windows Server 2012 Core. However, this is not the case.
Most Internet solutions will write of this upgrade path without Active Directory services. This is an important distinction as this upgrade path will fail with a black screen with cursor and then a rollback. On a development virtual machine an upgrade path that worked was Windows Server 2008 R2 Core Domain Controller to Windows Server 2012 R2 Core.
As this is NOT the desired path, a work-a-round had to be determined as well as determining the reason why the Windows Server 2012 R2 Core path worked where the Windows Server 2012 Core path failed.
While researching this problem, a Microsoft KB 2843034 article was found to describe the problem accurately and offer a “solution”. Microsoft summarizes the problem as “… specific to server-core enabled domain controllers that are in-place upgraded to Windows Server 2012 server core. This condition does not occur on GUI or Full-DCs that are in-place upgraded to Windows Server 2012.” The problem is narrowed to “[t]he DirectoryServices-DomainController role [which] is disabled by default and is not enabled because there is no role with that name on the Windows Server 2008 R2 operating system. Since there is nothing to match up among the available Windows Server 2012 manifests, the upgrade hangs.”
Now for the Microsoft “solution”. To make an in-place upgrade succeed add a “Replacement Manifest”, DirectoryServices-DomainController-ServerCoreUpg-Replacement.man, to the setup source files. “Please contact Microsoft Customer Technical Support to retrieve the manifest. Ensure to reference this article so the agent can provide you with the manifest file free of charge.”
Not quite the solution that was sought. However, there was something to that solution that led to the next course of action. How did the Windows Server 2012 R2 succeed where the Windows Server 2012 had failed? It must have had the manifest necessary to succeed. To determine if the Windows Server 2012 R2 had the DirectoryServices-DomainController-ServerCoreUpg-Replacement.man file, the ISO image was opened and then navigated to the sources\replacementmanifests\ folder. The manifest is there. It is not on the Windows Server 2012 ISO.
Armed with this knowledge, the solution is to extract the sources\replacementmanifests\DomainController-ServerCoreUpg-Replacement.man file from the Windows Server 2012 R2 DVD or ISO and copy it to the same location to the Windows Server 2012 DVD or ISO.
Perform the upgrade and watch in amazement and bewilderment as the upgrade process not only continues past the black screen, however, completes successfully.
Why the bewilderment and amazement? After supplying the file MSFT so thoughtfully left out, wouldn’t you expect it to work? Good catch, looking at the R2 CD.