none
Disable/Bypass Windows 8 Automatic Repair

    Question

  • On my windows 8 pro machine windows keeps wanting to run the automatic repair upon boot. It always fails and I know as a matter of fact that there is nothing wrong with it. How can you disable, bypass, or permanently remove this "feature"?
    Friday, March 01, 2013 6:09 PM

Answers

  • As Robert has just mentioned, you can fix that by disabling the Automatic Repair feature right in Boot Configuration Database, here is how:

    1. Press WindowsKey and type 'cmd' (without quotes), then hit Enter holding Ctrl+Shift pressed.

    2. Confirm elevation for the Command Prompt application.

    3. At the elevated command prompt type the following and hit Enter when you are done:

    bcdedit /set {current} recoveryenabled No

    This command will modify the boot entry that has been used to boot your current Windows 8 configuration and turn off Automatic Repair feature for this boot entry.

    Now that when booting Windows 8, you will always have Automatic Repair disabled.

    Or,

    you can craft a separate boot entry that will have the Automatic Repair turned off.

    1. At the elevated command prompt type:

    bcdedit /copy {default} /d "No Automatic Repair"

    This command will copy the default Windows installation entry used to boot Windows automatically. Typically this is your current Windows installation, however, if you have multiple Windows installations and want to modify currently booted Windows which is NOT the Windows installation booted by defeault, use this command:

    bcdedit /copy {current} /d "No Automatic Repair"

     NOTE: Everything that goes in quotes after the /d switch would be a text used to name the newly created boot entry, the one you'll see in the boot menu after the POST screen.

    Now write down the GUID returned by either of the two bcdedit commands.

    2. Configure the newly created boot entry and modify its recoveryenabled option:

    bcdedit /set {GUID_YOUVE_MEMORIZED_OR_WROTE_DOWN} recoveryenabled No

    Specify the GUID string returned by the bcdedit command above instead of the {GUID_YOUVE_MEMORIZED_OR_WROTE_DOWN} placeholder like:

    bcdedit /set {de686ca2-e0c7-437e-b8d9-618bc5aad674} recoveryenabled No

    WARNING: if you ever wanted to turn Automatic Repair on in the future, just use the following command:

    bcdedit /set {de686ca2-e0c7-437e-b8d9-618bc5aad674} recoveryenabled Yes

    3. List the Boot Configuration Database to display all the available boot entries, the ones you'll see when you boot your PC next time by typing:

    C:\Windows\system32>bcdedit /enum /v

    Locate the recoveryenabled option under the Windows Boot Loader list for the boot entry with the identifier option set to the GUID on your newly created boot entry (the {de686ca2-e0c7-437e-b8d9-618bc5aad674} one in the example above).

    You will have a display like (this is just an example, your output will have different GUIDs):

    C:\Windows\system32>bcdedit /enum /v
    
    Windows Boot Manager
    --------------------
    identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
    device                  partition=\Device\HarddiskVolume2
    path                    \EFI\Microsoft\Boot\bootmgfw.efi
    description             Windows Boot Manager
    locale                  en-US
    inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
    default                 {94254878-b1c9-11e1-bd5c-beae0a39fe08}
    resumeobject            {94254877-b1c9-11e1-bd5c-beae0a39fe08}
    displayorder            {94254878-b1c9-11e1-bd5c-beae0a39fe08}
                            {94254874-b1c9-11e1-bd5c-beae0a39fe08}
                            {9425487c-b1c9-11e1-bd5c-beae0a39fe08}
    toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
    timeout                 30
    
    Windows Boot Loader
    -------------------
    identifier              {94254878-b1c9-11e1-bd5c-beae0a39fe08}
    device                  vhd=[D:]\win8rtm.vhdx,locate=custom:12000002
    path                    \Windows\system32\winload.efi
    description             Windows 8
    locale                  en-US
    inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
    recoverysequence        {94254879-b1c9-11e1-bd5c-beae0a39fe08}
    recoveryenabled         Yes
    isolatedcontext         Yes
    allowedinmemorysettings 0x15000075
    osdevice                vhd=[D:]\win8rtm.vhdx,locate=custom:22000002
    systemroot              \Windows
    resumeobject            {94254877-b1c9-11e1-bd5c-beae0a39fe08}
    nx                      OptIn
    bootmenupolicy          Standard
    hypervisorlaunchtype    Auto
    
    Windows Boot Loader
    -------------------
    identifier              {94254874-b1c9-11e1-bd5c-beae0a39fe08}
    device                  vhd=[D:]\win8rtm.vhd,locate=custom:12000002
    path                    \Windows\system32\winload.efi
    description             No Automatic Repair 
    locale                  en-US
    inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
    recoverysequence        {94254875-b1c9-11e1-bd5c-beae0a39fe08}
    recoveryenabled         No
    isolatedcontext         Yes
    allowedinmemorysettings 0x15000075
    osdevice                vhd=[D:]\win8rp.vhd,locate=custom:22000002
    systemroot              \Windows
    resumeobject            {94254873-b1c9-11e1-bd5c-beae0a39fe08}
    nx                      OptIn
    bootmenupolicy          Standard
    hypervisorlaunchtype    Auto
    Please ask for assistance if you need any.

    Well this is the world we live in And these are the hands we're given...



    Saturday, March 02, 2013 4:51 PM

All replies

  • Try to disable driver signing check and set boot logging. Analyze boot logs.

    As this is not common feature of Windows 8 and you have this problém, more data on installation/configuration/update are useful...

    as well as errors and warnings from Event logs and WindowsUpdate.log file.

    Regards

    Milos

    Saturday, March 02, 2013 3:07 PM
  • How can you disable, bypass, or permanently remove this "feature"?

    Good question (assuming you don't want to diagnose the reason for the symptom).   Perhaps starting with your bcdedit  would help?
    Saturday, March 02, 2013 4:38 PM
  • As Robert has just mentioned, you can fix that by disabling the Automatic Repair feature right in Boot Configuration Database, here is how:

    1. Press WindowsKey and type 'cmd' (without quotes), then hit Enter holding Ctrl+Shift pressed.

    2. Confirm elevation for the Command Prompt application.

    3. At the elevated command prompt type the following and hit Enter when you are done:

    bcdedit /set {current} recoveryenabled No

    This command will modify the boot entry that has been used to boot your current Windows 8 configuration and turn off Automatic Repair feature for this boot entry.

    Now that when booting Windows 8, you will always have Automatic Repair disabled.

    Or,

    you can craft a separate boot entry that will have the Automatic Repair turned off.

    1. At the elevated command prompt type:

    bcdedit /copy {default} /d "No Automatic Repair"

    This command will copy the default Windows installation entry used to boot Windows automatically. Typically this is your current Windows installation, however, if you have multiple Windows installations and want to modify currently booted Windows which is NOT the Windows installation booted by defeault, use this command:

    bcdedit /copy {current} /d "No Automatic Repair"

     NOTE: Everything that goes in quotes after the /d switch would be a text used to name the newly created boot entry, the one you'll see in the boot menu after the POST screen.

    Now write down the GUID returned by either of the two bcdedit commands.

    2. Configure the newly created boot entry and modify its recoveryenabled option:

    bcdedit /set {GUID_YOUVE_MEMORIZED_OR_WROTE_DOWN} recoveryenabled No

    Specify the GUID string returned by the bcdedit command above instead of the {GUID_YOUVE_MEMORIZED_OR_WROTE_DOWN} placeholder like:

    bcdedit /set {de686ca2-e0c7-437e-b8d9-618bc5aad674} recoveryenabled No

    WARNING: if you ever wanted to turn Automatic Repair on in the future, just use the following command:

    bcdedit /set {de686ca2-e0c7-437e-b8d9-618bc5aad674} recoveryenabled Yes

    3. List the Boot Configuration Database to display all the available boot entries, the ones you'll see when you boot your PC next time by typing:

    C:\Windows\system32>bcdedit /enum /v

    Locate the recoveryenabled option under the Windows Boot Loader list for the boot entry with the identifier option set to the GUID on your newly created boot entry (the {de686ca2-e0c7-437e-b8d9-618bc5aad674} one in the example above).

    You will have a display like (this is just an example, your output will have different GUIDs):

    C:\Windows\system32>bcdedit /enum /v
    
    Windows Boot Manager
    --------------------
    identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
    device                  partition=\Device\HarddiskVolume2
    path                    \EFI\Microsoft\Boot\bootmgfw.efi
    description             Windows Boot Manager
    locale                  en-US
    inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
    default                 {94254878-b1c9-11e1-bd5c-beae0a39fe08}
    resumeobject            {94254877-b1c9-11e1-bd5c-beae0a39fe08}
    displayorder            {94254878-b1c9-11e1-bd5c-beae0a39fe08}
                            {94254874-b1c9-11e1-bd5c-beae0a39fe08}
                            {9425487c-b1c9-11e1-bd5c-beae0a39fe08}
    toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
    timeout                 30
    
    Windows Boot Loader
    -------------------
    identifier              {94254878-b1c9-11e1-bd5c-beae0a39fe08}
    device                  vhd=[D:]\win8rtm.vhdx,locate=custom:12000002
    path                    \Windows\system32\winload.efi
    description             Windows 8
    locale                  en-US
    inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
    recoverysequence        {94254879-b1c9-11e1-bd5c-beae0a39fe08}
    recoveryenabled         Yes
    isolatedcontext         Yes
    allowedinmemorysettings 0x15000075
    osdevice                vhd=[D:]\win8rtm.vhdx,locate=custom:22000002
    systemroot              \Windows
    resumeobject            {94254877-b1c9-11e1-bd5c-beae0a39fe08}
    nx                      OptIn
    bootmenupolicy          Standard
    hypervisorlaunchtype    Auto
    
    Windows Boot Loader
    -------------------
    identifier              {94254874-b1c9-11e1-bd5c-beae0a39fe08}
    device                  vhd=[D:]\win8rtm.vhd,locate=custom:12000002
    path                    \Windows\system32\winload.efi
    description             No Automatic Repair 
    locale                  en-US
    inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
    recoverysequence        {94254875-b1c9-11e1-bd5c-beae0a39fe08}
    recoveryenabled         No
    isolatedcontext         Yes
    allowedinmemorysettings 0x15000075
    osdevice                vhd=[D:]\win8rp.vhd,locate=custom:22000002
    systemroot              \Windows
    resumeobject            {94254873-b1c9-11e1-bd5c-beae0a39fe08}
    nx                      OptIn
    bootmenupolicy          Standard
    hypervisorlaunchtype    Auto
    Please ask for assistance if you need any.

    Well this is the world we live in And these are the hands we're given...



    Saturday, March 02, 2013 4:51 PM
  • Hadron, i followed the example carefully,

    I was aiming for the second solution (2 boot options).

    All went fine.

    I can see that on the new boot (edited one) 

    recovery is set Off 

    But when i restart my pc i get no boot menu :(

    I was expecting something like:

    1)win8 pro 64 

    2)No Automatic Repair

    Do i have to do anything special to enable it? It is alrdy there but it dosnt work?

    Thank you for help anyway! That solution is fine if i get it to work.

    Right now im loosing like 15mins in autom repairs, evrytime i boot, then i restart through troubleshooter and f7 . I think it is because of my unsigned audio drivers of my old asus striker, but im not sure. Can u post the comand to disable the integrity checks too?Or it is not possible, thx.







    • Edited by artriant Tuesday, June 11, 2013 4:00 PM
    Tuesday, June 11, 2013 3:46 PM
  • Near the top is a lines to enter that states"
    bcdedit /set {current} recoveryenabled No".

    I am not a technician, just a fool with 8. Ergo, it is confusing because I have NO idea what to put inside the { } brackets. I tried it exactly as you have, and bcdedit errors out. Tried entering c:, just in case, same error - doesn't recognize "element type".


    Thursday, September 29, 2016 4:58 AM
  • Near the top is a lines to enter that states"
    bcdedit /set {current} recoveryenabled No".


    No worries. I admit, bcdedit has some documentation flaws. Mostly because there is a sheer number of articles spread around Microsoft technical documentation. So there's to surprise somebody could get confused by it. This article

    The {current} is a keyword, a placeholder that substitutes for current boot entry, a GUID associated with the current Windows boot configuration (the one in which you are working at the moment, i.e. the boot configuration that was used by Windows to boot when you started the computer the last time).

    Every boot entry in the BCD database has a GUID, a unique 128-bit (16 byte) identifier of a specific object of Boot Configuration Database. These objects contain boot configuration, that is a collection of settings that define parameters for the Windows Boot Manager. The parameters control Windows boot environment: what drivers are loaded and how Windows does this, what Windows subsystems are loaded for this specific configuration. And the configuration is defined by the boot entry, which is called application object in terms of Boot Configuration Database.

    If you are using a single boot PC (a PC with the only boot entry that you see when starting your PC), determine GUID of the {current} placeholder is easy:

    C:\WINDOWS\system32>bcdedit /enum
    
    Windows Boot Manager
    --------------------
    identifier              {bootmgr}
    device                  partition=\Device\HarddiskVolume2
    path                    \EFI\Microsoft\Boot\bootmgfw.efi
    description             Windows Boot Manager
    locale                  en-US
    inherit                 {globalsettings}
    default                 {current}
    resumeobject            {6a13a892-3200-11e4-87ce-dc78f8a51f73}
    displayorder            {current}
    toolsdisplayorder       {memdiag}
    timeout                 30
    
    Windows Boot Loader
    -------------------
    identifier              {current}
    device                  partition=C:
    path                    \WINDOWS\system32\winload.efi
    description             Windows 10
    locale                  en-US
    inherit                 {bootloadersettings}
    recoverysequence        {6a13a894-3200-11e4-87ce-dc78f8a51f73}
    recoveryenabled         Yes
    isolatedcontext         Yes
    allowedinmemorysettings 0x15000075
    osdevice                partition=C:
    systemroot              \WINDOWS
    resumeobject            {6a13a892-3200-11e4-87ce-dc78f8a51f73}
    nx                      OptIn
    bootmenupolicy          Standard
    hypervisorlaunchtype    Auto

    And there's the verbose output of boot objects enumeration:

    C:\WINDOWS\system32>bcdedit /enum /v
    
    Windows Boot Manager
    --------------------
    identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
    device                  partition=\Device\HarddiskVolume2
    path                    \EFI\Microsoft\Boot\bootmgfw.efi
    description             Windows Boot Manager
    locale                  en-US
    inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
    default                 {6a13a893-3200-11e4-87ce-dc78f8a51f73}
    resumeobject            {6a13a892-3200-11e4-87ce-dc78f8a51f73}
    displayorder            {6a13a893-3200-11e4-87ce-dc78f8a51f73}
    toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
    timeout                 30
    
    Windows Boot Loader
    -------------------
    identifier              {6a13a893-3200-11e4-87ce-dc78f8a51f73}
    device                  partition=C:
    path                    \WINDOWS\system32\winload.efi
    description             Windows 10
    locale                  en-US
    inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
    recoverysequence        {6a13a894-3200-11e4-87ce-dc78f8a51f73}
    recoveryenabled         Yes
    isolatedcontext         Yes
    allowedinmemorysettings 0x15000075
    osdevice                partition=C:
    systemroot              \WINDOWS
    resumeobject            {6a13a892-3200-11e4-87ce-dc78f8a51f73}
    nx                      OptIn
    bootmenupolicy          Standard
    hypervisorlaunchtype    Auto

    The GUIDs are unique, so you will have different alphanumerical sequences between {}

    What does the 'bcdedit /set {current}recoveryenabled No' command do

    This command modifies current boot entry by setting the value of the recoveryenabled parameter to No.

    Doing so tells Windows Boot Manager application that when it boots this specific Windows configuration next time, Windows won't do startup repair. After you make this change, Windows won't run startup repair if it restarts due to power failure.

    The short answer to your question

    1. Press WindowsKey and type 'command' to find Command Prompt

    2. Hold Ctrl+Shift pressed and click the found Command Prompt icon

    3. Confirm elevation of the console by the UAC (you need a token of an administrative user account to make changes in Boot Configuration Database, that is why you must confirm elevation of Command Prompt here; if you don't do that, Windows will run Command Prompt without the administrative token, so despite the fact that your user account has administrative privileges, Windows will think it is a simple user account without such privileges), click OK when asked.

    4. Copy this line

    bcdedit /set {current} recoveryenabled No

    from this post and paste it in the console.

    5. Hit Enter to apply the change to the BCD.

    Done. Next time your computer starts, repair will be turned off for the Windows configuration in which you were logged in when you made this change.

    If desired, you can also use this PowerShell script to make the change.

    Resources

    https://en.wikipedia.org/wiki/Windows_Vista_startup_process#Boot_Configuration_Data


    Well this is the world we live in And these are the hands we're given...






    • Edited by Exotic Hadron Thursday, September 29, 2016 6:52 AM Fixed bcdedit command line, missing space
    Thursday, September 29, 2016 6:33 AM