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:

  1. Reboot the server, press F8 to access advanced boot options. NB If your server is a Hyper-V VM you may be having problems getting the F8 prompt to work, if so see this link for details on how to resolve this.
  2. Select the Option “Repair Your Computer”
  3. 8_per_1
  4. In the Options screen select Troubleshoot > Command Prompt > Click Administrator user
  5. 8_per_2
  6. 8_per_3
  7. 8_per_4
  8. Enter the Local Administrator password.
  9. 8_per_5
  10. 8_per_6
  11. The server boots into a limited command prompt at the X drive:
  12. 8_per_7
  13. 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 D drive. There’s no obvious way to tell, you just have to change to each drive mapping a run a Dir command.
  14. 8_per_8
  15. 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.
  16. 8_per_9
  17. Create a new blank pending.xml file in the \Windows\Winsxs folder; echo > pending.xml
  18. Create a scratch folder in the \Windows directory; mkdir D:\windows\scratch (This is a requirement for step 19, otherwise you will get a 3017 error, which complains the default temporary location for the scratch folder is too small.)
  19. 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. Run the following command (NB my system drive was mapped to the D drive);    DISM /Image:D:\ /Cleanup-Image /RevertPendingActions /scratchdir:D:\Windows\Scratch
  20. Once step 19 is complete rename the \windows\SoftwareDistribution to SoftwareDistributionOLD:
  21. ren D:\windows\SoftwareDistribution SoftwareDistributionOLD
  22. Finally, run sfc /scannow – the System File Checker tool to repair missing or corrupted system files
  23. 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.
  24. 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.

Disclaimer: provided “AS IS” with no warranties and confer no rights

Advertisements

11 thoughts on “Server 2012: Stuck at “Updating your System 8%”

  1. thanks for your post, but when i do wmic logicaldisk get name, only showing the X: there is no any other drive. seems like the windows locked other drive. what should i do then ? thanks

    Like

    1. If you’re only seeing the X drive this would indicate a potential problem with your disks. Couple of things I would try (assuming the commands work in a recovery console);

      1. Reboot and try again
      2. Run fsutil fsinfo drives (another means of showing drives)
      3. Use the DISKPART command to “list disk”. If your disk is listed, use the command “select disk #” then “list partition”.
      4. If 2 & 3 show the disks/partitions are still present use the command
      “wmic logicaldisk where drivetype=3 get description,name”

      Good luck!

      Like

      1. thanks for help, followed your instructions, i was not able to fun fsutil(not supported)and not able to list any drive using DISKPART. and i just noticed, after enter the “repair your computer” mode, and then the command prompt, it will directly go to command window without asking for Administrator log in, even i do have it at normal windows log in. i am using 2012 R2. and i also tried to connect the system hard drive to my laptop via sata to USB adapter, i can find all the system files and those file you mentioned above, so the physical drive should be working fine, i was not able to modify the “pending.xml” on my laptop(running windows 8) due to signature or authorization. so i guess the problem is the Admini access? and i just find nowhere to log in :O

        thanks again for helping 🙂

        Like

      2. the reason i can not see my drive is, the HP RAID card, i can see all the drives once i changed the disk from RAID to ACHI from the BIOS. 🙂

        Liked by 1 person

  2. following the instructions above, I had error on step 19, revertpendingactions, revert was not successful, so i deiced to just empty up the pending.xml (so that windows will not stuck at the updates) and then i rebooted my server for few times, windows will do boot and updates and then revert (something i don’t what it was) . after few times, i can login in windows just as normal.

    after that i wanted to know which updates caused the issue as well. so i updated those items one category by one category. (such as framework patches at same time, and then SQL patches at same time ). interesting thing is: all items finally successfully updated. so::: I still can not help to find out which item is causing the stuck.

    but if you have to update those patches, in order to avoid the stuck. please try this:

    do not select all the patches at same time. patch them one by one if possible.
    if there is lots of patches, please try to only update one category at same time.
    patch small/light patches 1st, heavy patches move to later.

    another thought:
    if your server 2012 OS is running on a separate disk(NOT on the RAID), then try to remove the RAID data disks (ONLY if possible and your windows is NOT running on them) after patch updates you can insert them back.

    — windows server 2012 R2 simplified Chinese. on ProLiant MicroServer Gen8.

    Like

    1. I also had the same outcome, when I applied the outstanding updates in stages they all installed successfully. I can only assume there’s a conflict between certain updates when all installed at once is causing the corruption. Glad you got sorted.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s