Had the same problem and was very glad to find this thread. Because there are a lot of discussions on the same problem, but none addresses the cause of the problem. Instead commercial (and from my point of view dubious) tools are suggested to solve the problem. Tested some but none worked in the free version.
I tried the solutions recommended here, but it didn't work for me. I was not able to change the registry of the cloned installation. Maybe because of my lack of knowledge in Windows (I am using linux normally).
But what worked and in the end was very easy is the linux tool reged (debian package chntpw). If the cloned partition is mounted on /mnt/Windows I used the following command to change it:
reged -e /mnt/Windows/Windows/System32/config/SYSTEM
ls
cd MountedDevices
delallv
q
That will delete the problematic values.
After that I rewrote the startup code to the EFI partition. But you most likely have done this already, otherwise you would not have faced the "black screen with cursor on startup" problem before.
T o write the startup code to the EFI partition I booted an installation usb-stick, selected the language, clicked on "computer repair options" and then "command prompt":
diskpart
list disk
select disk X # the one that holds your new windows partition
list partition
select partition Y # the new windows partition
assign letter=c:
select partition Z # the efi partition
assign letter=b:
exit
bcdboot c:\windows /l de-de /s b: /f UEFI # de-de is for german, choose us for english
After that I changed the boot disk in the BIOS/UEFI setup and I could boot into the cloned partion.
Maybe this helps someone else.
Regards,
Jürgen