I experienced this recently with a server that had been inadvertently powered down. I restarted as normal via the vSphere client but the progress bar stuck at 1%.
Looking at the event details it stated that it was relocating the server within the infrastructure to a different node before actually powering on. I have no idea why as the original vSphere node had no issue or resource overload. The actual migration between nodes seemed to be hung.
To resolve this I restarted the VCenter server and was then able to successfully start the VM.