Windows 10 Startup Repair
I woke up one morning to discover that my Windows 10 PC wouldn't start up. Given that its drives are encrypted with BitLocker, I knew I was going to have a rough day ahead of me. Much to my surprise, however, it wasn't all that bad. Here's how to fix startup errors 0xc000000d, 0xc0000098, and maybe some others.
Create recovery media
On an existing Windows 10 computer, search for "Create a recovery drive". Open the tool and follow the steps. You will need a flash drive that is at least 512 MB in size. At least 4 GB is recommended, but I don't have anything to base that on.
Boot from recovery media
Once the create tool completes, plug the flash drive into the broken computer and boot from it. The boot media will be UEFI-based, so adjust your BIOS settings accordingly. Once booted, navigate through the troubleshooting options until you find Command Prompt and open it.
Unlock encrypted drives
If you do not have any encrypted drives, you may skip this step.
On the way to the Command Prompt, you may be prompted to unlock any BitLocker encrypted drives. If so, you will want to enter the 48-digit recovery password in all prompts. If no unlock prompt appears, continue to the Command Prompt anyway and enter this command to view all drives:
This will show you a list of all drives that were detected by the Windows recovery environment. For each encrypted drive, use this command to unlock it:
manage-bde -unlock X: -RecoveryPassword YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
...where X is the letter of the drive you want to unlock (NOT that of the recovery disk) and Y is the recovery password.
If you prefer to not perform automatic startup repair or you tried it and it didn't work, you may enter this set of commands in the Command Prompt to perform a "manual" recovery.
bootrec /scanos bootrec /fixmbr bootrec /fixboot bootrec /rebuildbcd
If no Windows installations were found, you might have a problem. If all of the commands completed successfully, congratulations! Reboot your computer normally and see if that worked.