One thing: Have you switched in BIOS from UEFI to Legacy or vice versa? Then, that could be the whole problem -- just switch it back & try to boot. Otherwise...
It does look like D: is your Windows drive in the recovery environment going by those SrtTrail.txt reports. But you can doublecheck with DiskPart as in the following. Then, the main thing will be to determine whether you've got a UEFI or a Legacy boot. And let's do a BCDBoot (instead of BootRec) because BCDBoot also repairs other boot files, not just the BCD.
(1) Have you backed up your user files? If not, here is a way at a Command Prompt...
(a) Plug in a USB drive on which to copy your files.
(b) Get to the Recovery Environment from that error message (Advanced Options button).
(c) At the "Choose an Option" screen,
click "Troubleshoot > Advanced Options > Command Prompt".
(c) Enter Notepadat the Command Prompt. It opens in GUI mode.
(d) In its File menu, select Open.
(e) Set Notepad to display all file types with its requestor at bottom.
The files you want are likely in the folders at "C:\Users<your user name>". Remember to Refresh the screen after a paste. Additional notes...
o Notepad's left pane has only "Quick Access", "Libraries", & "This PC".
o Click This PC to switch from C: to the USB drive & vice versa.
o Double-click a drive or folder in the right pane to open it. Or just select it, then click the Open button at bottom. But ensure nothing is in the filename box, or you get an error message (if it isn't a text file).
o Right-click a file or folder, & select Copy. That seemed instantaneous.
o Go to the USB drive, right-click in Notepad's right pane, & select Paste.
I had an hourglass for just about a minute - or was it two - for 1.3 GB.
o When the normal pointer reappears, right-click in the right pane, & select Refresh - or I think you never will see it.
(2) Regenerate the BCD (Boot Configuration Data) & other boot files at the Command Prompt...
(a) Enter these commands...
DiskPart <<<Enter DiskPart
List Vol <<<Show the drive letters
Exit <<<Leave DiskPart
Here's what mine looks like in the recovery environment...
DISKPART> List Vol
Volume ### Ltr Label Fs Type Size Status Info
------------- --- ----------- --------- ---------- --------- ----------- --------
Volume 0 D DVD-ROM 0 B No Media
Volume 1 C PCR Hard NTFS Partition 930 GB Healthy <<<My Windows partition
Volume 2 ESP FAT32 Partition 99 MB Healthy Hidden <<<EFI System partition
Volume 3 WinRE NTFS Partition 847 MB Healthy
DISKPART> Exit
Leaving DiskPart...
(b) Identify your Windows partition by its Label & Size, then enter...
BCDBoot D:\Windows <<<Presuming your Windows partition is D: in that environment
That's the simplest form of that command. It uses default values for everything else. (If your language is not En-US, then see below to add a proper /L locale parameter). If it fails, we can try giving it more parameters. In that case, can you tell which is your system partition? In my UEFI install, it is Volume 2 with the label ESP (EFI System Partition). It is FAT32 & about 100 MB. I would put a letter on it...
DiskPart
Select Vol 2<<<But select your own volume number, not mine
Assign Letter=S<<<Give it letter S:
Exit
Then...
BCDBoot C:\Windows /s S: /f UEFI /L en-US
Notes:
(a) If yours is a Legacyinstall, it will be different. Put the letter on the System Reserved partition which likely is NTFS & also about 100 MB, if there is one. And use "/f BIOS" instead of UEFI. Also, we'd want to ensure the System Reserved partition is the Active one. For that, add the command "Active" between Assign & Exit above. So, it would be...
DiskPart
Select Vol 2<<<But select your own volume number, not mine
Assign Letter=S<<<Give it letter S: (unless it already has one)
Active<<<Make it the Active partition
Exit
BCDBoot D:\Windows /s S: /f BIOS /L en-US<<<Use your letters, not mine
If there is no System Reserved partition, forget the letter S: & just use...
BCDBoot D:\Windows /L en-US<<<Use your letter for the Windows partition
(b) Get the Locale value from BCDEdit...
C:\WINDOWS\system32>BCDEdit
Windows Boot Manager
identifier {bootmgr}
device partition=\Device\HarddiskVolume1 <<<What is your Device value? It will indicate whether
there is a system partition at all. Sometimes there is
none, then C: doubles as the System partition
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale en-US <<<Locale
inherit {globalsettings}
default {current}
resumeobject {f8d976f9-df94-11ea-b1d0-74e6e2074932}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 30
Windows Boot Loader
identifier {current}
device partition=C:
path \WINDOWS\system32\winload.efi <<<Does yours mention EFI here?
If not, then it is a Legacy install.
description Windows 10
locale en-US
inherit {bootloadersettings}
recoverysequence {f8d976fc-df94-11ea-b1d0-74e6e2074932}
displaymessageoverride CommandPrompt
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {f8d976f9-df94-11ea-b1d0-74e6e2074932}
nx OptIn
bootmenupolicy Standard
I think that should do it. Post back any further question. Good luck.