Why did my systems reboot into the Recovery Environment and how do I prevent that from happening in the future?

Raymond Chen

Raymond

Earlier this year, a customer reported that they had a cluster of systems running a mix of Windows Server 2003¹ and Windows Server 2008 R2 Service Pack 1. The cluster node crashed, causing the machines hosted on it to fail over to another node. On the new node, the Windows Server 2003 system showed an error and restarted, but the Windows Server 2008 R2 systems showed a system recovery dialog.

System Recovery Options
Choose a recovery tool

Startup Repair

Automatically fix problems that are preventing Windows from starting

System Restore

Restore Windows to an earlier point in time

System Image Recovery

Recover your computer using a system image you created earlier

Windows Memory Diagnostic

Check your computer for memory hardware errors

Command Prompt

Open a command prompt window

Shut Down Restart

The customer had to connect to each machine and click the “Restart” button in the recovery dialog. This was a tedious operation because they had so many systems.

The Recovery Environment team explained that the system should not have entered recovery after a single crash. It requires that the crash be followed by a failed boot as well. (You can read more about the conditions under which the Recovery Environment will start automatically.)

What probably happened is that the subsequent boot also failed, and that triggered the entry into the Recovery Environment. The customer was not sitting in front of the systems as they rebooted, so they didn’t notice this second reboot.

If the customer wants to prevent the system from automatically entering the Recovery Environment, they can set the following entries in the BCD (Boot Configuration Data):

bcdedit /set {default} recoveryenabled No
bcdedit /set {default} bootstatuspolicy IgnoreAllFailures

The recoveryenabled variable is set by default to true, and the bootstatuspolicy is not set by default. To return the system to its default configuration, use the commands

bcdedit /set {default} recoveryenabled Yes
bcdedit /deletevalue {default} bootstatuspolicy

¹ Yes, the customer is still using Windows Server 2003 two years after it exited support.

Raymond Chen
Raymond Chen

Follow Raymond   

0 comments

Comments are closed.