The last time I had to change the company server hardware, I decided to use a virtual domain controller, while the Exchange Server remained on the physical machine.
Upon boot, Exchange couldn't find the domain controller and that gave me a lot of trouble. I needed to delay the Exchange Server service enough to allow the virtual DC to boot and be ready.
How can we do that?
Follow me and I will explain it to you.
In order to delay the startup of Exchange Server, we need to edit the registry. First of all let me tell you that editing the registry is not an usual activity and that it could make your server unusable. So I must warn you to be very careful when making changes to the registry. I won't be held responsible for any problem you may encounter in doing so.
Said that, if you already know how to deal with Windows registry, we need to do a little change. First find the following path:
HKEY_LOCAL_MACHINE\\System\CurrentControlSet\Services\MSExchangeSA\ParametersInside the folder, you will find a subkey called BootPause. The value of BootPause is the delay and it is expressed in seconds.
If there's no BootPause subkey, we need to create one. Add it to the Parameters folder as DWord and use a decimal value (for example 120).
When you restart the server, Exchange will wait for the chosen amount of time (120 secs in our example) before starting the service.
The delay may be not enough for your virtual server to complete the boot process, so you might need to increase the value. In my case - just to be sure - I used 1000 seconds which is a lot, but it is surely enough for my needs.
I hope you have found the idea useful. Just drop a line in the comments section if you would like to share your thoughts.