A few of my friends had this issue and I had it recently. After updates applied using WSUS one of the VMs got stuck on 5% over a few hours. Tried a few things;
Go to the ‘Automatic Start action‘ on virtual machine settings to change the delay to 5 seconds, this way you can hold f8 to get to options, or shift+f10 to get the troubleshooting menu
and Choose Command Prompt
dism.exe /image:C:\ /cleanup-image /revertpendingactions
make sure you change the drive X: to C but I received error 3017.
Next thing to try is to go to c:\windows\winsxs
dir pending and locate pending.xml
and rename this file which has got all the pending update details.
ren pending.xml pending_old.xml
and create a blank pending.xml file
echo > pending.xml
Also rename softwaredistribution folder under C:\Windows
ren softwaredistribution softwaredistribution_old
This folder contains updates. Restarted and Voila! back to normal.