Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

chkdsk found inconsistencies on my system partition, but only runs in read-only mode because it can't lock the partition exclusively (yes, even during reboot).

I want to run the Startup Command Prompt (new version of Recovery Console) that runs from the BitLocker helper partition, then the system partition won't be in use and chkdsk should be able to get its exclusive lock. Plenty of instructions around the web with instructions on how to do this, e.g.

All of these indicate that the "Advanced" button pulls up a menu offering an option of "Command Prompt". But on my system (Win8 Pro RTM 64-bit from MSDN, upgraded from Win7 Ultimate in-place) it doesn't.

What causes these options to be missing and can I get them back?

share|improve this question
up vote 1 down vote accepted

I discovered that the Recovery Environment was disabled.

C:\Windows\System32\Recovery>reagentc /info
Windows Recovery Environment (Windows RE) and system reset configuration
information:

    Windows RE status:         Disabled
    Windows RE location:
    Boot Configuration Data (BCD) identifier: 00000000-0000-0000-0000-0000000000
00
    Recovery image location:
    Recovery image index:      0
    Custom image location:
    Custom image index:        0

The WinRE binary (winre.wim) was still present in C:\Windows\System32\Recovery, so I was able to re-enable the recovery environment as described here. The basic steps are:

  • Use robocopy to place WinRE.wim onto the boot partition. Do NOT use the /move option.
  • Use reagentc /setreimage to tell Windows where to find WinRE.wim.
  • Run reagentc /enable

After this I was able to reboot into the WinRE Command Prompt and perform an offline chkdsk on my system drive.

(Note: It is helpful to "suspend" BitLocker before using WinRE. It'll automatically reactivate the protection the next time you boot.)

share|improve this answer

Here is an example that covers EFI and BIOS installations of Windows with additional information and hints for pitfalls.

  • Environment: Windows 10 virtual machine (VirtualBox), MBR partition table
  • Tools used¹: Windows installation media, Ubuntu LTS installation media², VirtualBox snapshots

The background is that I wanted to convert this installation from BIOS to MBR without converting to GPT and noticed after installing the EFI bootloader with bcdboot that the recovery options were missing.

This is how I mounted the EFI partition (B:) and the Recovery partition (R:), there were not many other options given through mountvol's dynamic usage examples, so this was almost obvious:

mountvol B: \\?\Volume{893e0b14-0000-0000-0000-100000000000}\

mountvol R: \\?\Volume{893e0b14-0000-0000-0000-e0a308000000}\

The R: partition had the diag flag set in GParted and still contained the winre.wim image and the typical layout for this partition. You can find more details in this TechNet article.

From here on it's mostly about bcdboot and reagentc in the different environments.

Setup for BIOS

The target drive as well as the boot flag needs to be set to the OS partition (usually C:). For completeness I start with installing the bootloader and BCD configuration:

bcdboot C:\Windows /s C: /f bios

Set the recovery image location:

reagentc /setreimage /path R:\Recovery\WindowsRE /target C:\Windows
Directory set to: \\?\GLOBALROOT\device\harddisk0\partition3\Recovery\WindowsRE

REAGENTC.EXE: Operation Successful.

Re-enable the recovery and print detailed information:

reagentc /enable
REAGENTC.EXE: Operation Successful.

reagentc /info
Windows Recovery Environment (Windows RE) and system reset configuration
Information:

    Windows RE status:         Enabled
    Windows RE location:       \\?\GLOBALROOT\device\harddisk0\partition3\Recovery\WindowsRE
    Boot Configuration Data (BCD) identifier: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    Recovery image location:
    Recovery image index:      0
    Custom image location:
    Custom image index:        0

REAGENTC.EXE: Operation Successful.

Setup for EFI

The boot flag needs to be set to the EFI system partition (ESP), B: in this example, otherwise the tools won't be unable to detect the correct BCD configuration and run into errors. The following installs a new bootloader and BCD for EFI:

bcdboot C:\Windows /s B: /f uefi

The reagentc command are the same here, so you can take them from above only the identifier should be different.

Conclusion

You don't need to convert to GPT unless you want or need to. You can keep the recovery options, you just need to re-enable them again. What doesn't work without flaws is to switch between BIOS and EFI booting, this will trigger Windows to disable the recovery information again and you need to correct boot flag (EFI has no problem here, but BIOS booting does). I hope this helps in most situations, regardless of which boot mode you have.

Finally the difference I found between the menus in BIOS and EFI mode:

enter image description here


  1. Most of these were just used to explore all options and possibilities. Looking at how things break and how they can be fixed.
  2. I'm mostly a Ubuntu user. I know DISM, of course, but I used GParted to manage partitions and Gnome Disks to create RAW images (same as dd) of the partitions in addition to VM snapshots. You may use whatever suits you better.
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.