Windows 2012 R2 업데이트 시 9% 에서 멈춤 현상

Posted by

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 D 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
  • 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 D 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.

Leave a Reply

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다