Startup and Recovery Settings on a Windows VPS: Automatic Restart, Service Recovery, and Boot Repair

A Windows VPS that crashes at 3 a.m. and stays down costs you the whole night of uptime you are paying for. Windows Server ships with sensible defaults — automatic restart on system failure is enabled out of the box — but the defaults do not cover the cases that actually bite VPS owners: a service that dies and stays dead, a boot that lands on a repair screen, or a crash that writes no debugging information at all. This guide covers the Startup and Recovery settings that decide whether your server comes back by itself or waits for you to open a support ticket.

None of this requires third-party tools; everything lives in System Properties, the registry, and a few built-in commands. The payoff is a server that reboots, restarts its services, and tells you what broke, all without human intervention. If you are shopping for a host with a reliable power and network backbone behind these settings, our comparison table lists Windows VPS providers side by side, including the uptime guarantees and hardware specs that make automatic recovery actually useful.

What Windows Server Does by Default After a Crash

  • Automatic restart is enabled — a bugcheck (BSOD) triggers a reboot instead of a frozen console.
  • Write debugging information is set to Automatic memory dump — a kernel dump lands in C:\Windows\Minidump (small dumps) or C:\Windows\MEMORY.DMP (full dumps).
  • Event Log entries are recorded: Event ID 41 (Kernel-Power, unexpected shutdown), 6008 (unexpected shutdown), and 1001 (bugcheck details).

What the defaults do not do is restart your application services. IIS starts with the OS, but a custom service, a database, or a queue worker that crashed five minutes after boot stays down until someone starts it. That is the gap the recovery settings below close.

Startup and Recovery Settings Worth Changing

Open System Properties → Advanced → Startup and Recovery → Settings on a GUI install, or set the values directly in the registry under HKLM\SYSTEM\CurrentControlSet\Control\CrashControl:

  • AutoReboot — keep it at 1. Setting it to 0 leaves the server stuck on a blue screen until a manual reboot.
  • CrashDumpEnabled7 (automatic dump) is a good default; 1 (full dump) writes more data but needs free space roughly equal to RAM, which is scarce on small VPS plans.
  • Minidumps — ensure MinidumpDir points to a folder with a few hundred MB free.
reg add "HKLM\SYSTEM\CurrentControlSet\Control\CrashControl" /v AutoReboot /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 7 /f

If a crash dump cannot be written because the system drive is full, Windows logs the failure and skips the dump. Keep at least 1 GB free on the system volume as a buffer, and remember that a full memory dump on a 16 GB VPS needs roughly 16 GB of free space.

Making Services Restart Themselves

Every Windows service has a recovery policy that is ignored unless you configure it. Set it from an elevated PowerShell prompt with sc.exe:

sc failure "MyAppService" reset= 86400 actions= restart/5000/restart/10000/restart/30000
sc failureflag "MyAppService" 1

This restarts the service 5 seconds after the first failure, 10 seconds after the second, and 30 seconds after the third, then resets the failure counter after 24 hours. The failureflag command sets the service to signal the system it failed, which matters for cluster and monitoring integrations. Apply the same policy to SQL Server, your web app’s Windows service, and any queue consumers. For services that legitimately crash in a loop, add a restart/60000 final action instead of restart/30000 so a broken binary does not cause a rapid restart cycle that spikes CPU.

Verifying Boot Health After a Crash

When the server comes back, confirm it booted into the right OS and find out what killed it. Check the boot entry and its status with:

bcdedit /enum {current}
wevtutil qe System "/q:*[System[(EventID=41 or EventID=6008 or EventID=1001)]]" /c:10 /rd:true /f:text

Event ID 41 means the system rebooted without a clean shutdown — expected after a bugcheck or a provider-enforced reboot. Event ID 1001 with a bugcheck code such as 0x0000007E names the failing module. If the server lands on Automatic Repair instead of booting to the desktop, boot into Safe Mode, disable recently installed drivers or the offending service, and run sfc /scannow to repair system files. On a VPS, the provider’s console (out-of-band KVM or noVNC) is the only way to see a pre-boot screen, so keep the credentials for that console somewhere safe — it is your recovery tool when RDP is unavailable.

With automatic restart enabled, recovery actions set on your services, and a known way to read crash events, most Windows VPS failures resolve themselves within a minute. The remaining variable is the host: a provider with weak hardware or poor network reliability will crash more often, and no registry setting fixes that. Compare Windows VPS plans side by side before you commit, and consider a host with a generous uptime SLA. For a low-cost starting point, InterServer’s Windows VPS plans come with full administrative access so you can apply these recovery settings immediately — the TRYINTERSERVER promo code makes the first month $0.01 if you want to test crash behavior on a throwaway box.

Leave a Comment