Why openSUSE Tumbleweed installed on bare metal cannot boot from Hyper-V?

I installed openSUSE Tumbleweed and Ubuntu on the same SSD in my computer. I use Windows most of the time but sometimes I do need to use Linux and I don’t want to reboot to that SSD. So I choose to run a VM from that SSD with both Linux. I’m also a frequent Windows Sandbox (based on Hyper-V) user, and back a few months ago, Windows hates hypervisor other than Hyper-V and I’m stuck with it. [FONT=inherit](Please don’t ask me why I bother with Windows Sandbox in the first place, I love it.)
It will reach a certain target, get stuck for a while then a watchdog is triggered, something like initramfs timeout will spam all over the screen for a while, then drawn into initramfs emergency shell.

I tried to lookup the log inside the initramfs, nothing stand out, but the same initramfs timeout appeared in the end of the log, as I expected.

At the same time, that Ubuntu installation will boot under Hyper-V just fine.

I tried to have a fresh install of openSUSE in Hyper-V for reference, and took a look on what package is missing on the Linux SSD. It turns out I didn’t have hyper-v package installed, so I installed it and gave it another try, SNAFU again. I expected this because it after installing that package, it didn’t even initiate regernerating the initramfs, where the trigger of the culprit is.

After Windows 10 Version 2004, finally VMWare can co-exist with Hyper-V, I tried VMWare Player out, it worked flawlessly.

Ok, so I already get it working, I’m still curious why Hyper-V didn’t work while VMWare worked flawlessly, and why Ubuntu worked but openSUSE didn’t?