I installed windows server 2012 R2 on a server with IIS, SQL, TFS and some other Microsoft products. After finished installation, I ran windows update which asked for restart to continue installation.

After restart, update continues till 9% then it stops for ever!!!

I failed to start it also with safe mode or last good know configuration mode!

I don't have a recovery image CD for my installation.

What should I do? how can I either fix the issue or cancel the installation?

Thanks for help


Try to access cmd from troubleshooting or SafeMode console, then run the following command:

dism.exe /image:C:\ /cleanup-image /revertpendingactions


The below text is copied from https://www.craythorne.co.za/server-2012-stuck-at-updating-your-system-8/:

The Scenario:

One of my Windows Server 2012 R2 Standard servers installed a large number of updates +200 all at once (so unfortunately I’ve no idea which one caused this problem).

The Problem:

After the reboot the server was stuck on the start-up splash screen stating “Updating your system 8%”. I tried the following

  • Waiting several hours
  • Rebooting
  • Rebooting in Safe Mode (press F8 immediately as the server boots to access this boot option)
  • Rebooting using Last Known Good Configuration (press F8 immediately as the server boots to access this boot option)

None of the above worked.

The Solution:

  • Reboot the server, press F8 to access advanced boot options
  • Select the Option "Repair Your Computer"
  • In the Options screen select Troubleshoot > Command Prompt
  • The server boots into a limited command prompt at the X drive.
  • Get a list of all the available drives, type “wmic logicaldisk get name“. This is important as whilst in the repair environment the drive mappings often get changed around i.e. I was panicking when I changed to the C drive only to find it was empty. In fact the system drive was mapped to the E drive. There’s no obvious way to tell, you just have to change to each drive mapping a run a Dir command. (To know for sure, you can cd to every drive listed above and check if that has Windows related directory. )
  • Navigate to the \Windows\Winsxs folder. Once here you need to find all the files called pending.xml* and rename them all by adding .OLD to the end of the file name. (In my server I had two pending.xml and pending.xml.random_number – I added .OLD to the end of both of these). The reason for this is it’s in one of these there is a corruption that’s the cause of the problem. ren pending.xml pending.xml.old
    • If you have a lot of files with the name and a sequence of numbers, you can use the following from the commandline: for /r %i in (pending.xml*) do move %i %i.old
  • Create a new blank pending.xml file in the \Windows\Winsxs folder; echo > pending.xml
  • Next up is to run a DISM command to remove/revert all pending actions from the image, in our case these updates attempting to install. However before doing so you must create a scratch folder for the temporary files to be stored in. If you don’t complete this step you will get a 3017 error, which complains the default temporary location for the scratch folder is too small. Create the scratch folder in the \Windows directory; mkdir \windows\scratch
  • Run the following command (NB my system drive was mapped to the E drive); DISM /Image:E:\ /Cleanup-Image /RevertPendingActions /scratchdir:E:\Windows\Scratch
  • Once complete rename the \windows\SoftwareDistribution to SoftwareDistributionOLD; ren E:\windows\SoftwareDistribution SoftwareDistributionOLD
  • Finally, run sfc /scannow – the System File Checker tool to repair missing or corrupted system files
  • Reboot the server. The start-up splash screen should show spinning dots for a minute or two then boot normally. In my instance it then reported updates couldn’t be installed and so reverted those that had been installed. It then forced another reboot.
  • At this stage the server is ready to have updates installed, but this time only do a few at a time to locate the faulty update.

F8 command prompt

and then

wmic logicaldisk get name

and then

dism.exe /image:C:\ /cleanup-image /revertpendingactions

worked for me. In my case the image in question was "D:".


It worked for me too. My server was hanging after restart at 7%. F8 command prompt and then wmic logicaldisk get name and then dism.exe /image:D:\ /cleanup-image /revertpendingactions as in my case the image in question was "D:".


This worked for me as well. I was stuck at 7%.

I did get an error 14098 with the DISM command, and it turned out to be from the pending.xml file created with the ECHO command. I went ahead and deleted that file, and DISM completed successfully along with all of the other steps.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.