Patent ID: 7734945

Claim:
A computer-storage medium having computer executable instructions for performing steps of recovering from boot failure of a target operating system on a computer system comprising: determining an occurrence of the boot failure; launching a recovery environment, the recovery environment including a host operating system and a diagnostic and recovery system (DRS) executing under the host operating system, wherein the DRS includes a diagnostic engine and a decision and recovery engine, and wherein the host operating system is separate from the target operating system; identifying, by the diagnostic engine, a root cause of the boot failure, including: accessing a plurality of diagnostic tools, each of which diagnoses a different component of a boot process of the target operating system, obtaining diagnostic data corresponding to the boot failure from the plurality of diagnostic tools, accessing a diagnostic mapping table, the diagnostic mapping table including a mapping of various diagnostic data to various root cause data, and determining the root cause of the boot failure based on the diagnostic mapping table; in response to the identification of the root cause, identifying, by the decision and recovery engine, a plurality of recovery actions associated with the root cause, including: accessing a recovery table, the recovery table including a mapping of various root causes to various recovery actions, and determining, via the recovery table, a plurality of probable recovery actions based on the root cause wherein the probable recovery actions are actions that are likely to correct the root cause of the boot failure; creating a priority of the probable recovery actions based on the likelihood of correcting the root problem; displaying the probable recovery action in priority order; allowing a selection of probable recovery actions to be executed; and sequentially and separately executing each of the selected probable recovery actions, starting with a highest priority probable recovery, until the computer system is able to boot successfully.