1. A computer-implemented method of provisioning a virtual desktop hosted on a virtual machine (VM) without rebooting the VM, comprising: before powering on the VM: applying configurations and customizations to a virtual disk of the VM, by: mounting the virtual disk to an application external to the VM; loading one or more registry hives from the mounted virtual disk; and modifying registry keys in the one or more loaded registry hives and, joining the VM to a domain; and powering on the VM.