On Tue, 5/6/2025 10:23 PM, Ant wrote:
I wonder if it is possible to make my 5/29/2021 64-bit W7 HPE SP1
Macrium Reflect Rescue v7.3.5925 (WinPE v3.1) image backup *.mrimg into a VM.
Yes.
Name: ImgToVHD.exe
Size: 2,481,408 bytes (2423 KiB)
SHA256: 35A3ECFFF6EAE58A0DC6B45510C05603EF9C756DC35EB5BDD9AB42ABD5F73A6C
They stopped including that in the Program Files, but if you
locate an old copy, that might work with a "Full" backup
from a relatively recent Macrium.
You can at least experiment with that, and see for yourself.
No guarantees. Once it went out of support, it went out of support.
*******
An alternative method, is to restore the backup image to
a hard drive, then use disk2vhd to make a VHD or VHDX.
At one time, there was a utility, that would take a dd .img
and slap a VHD header and trailer onto the file (it could
do this, without making a copy of the file while doing so!).
You could do that :-) The materials needed to enter the virtualization
domain, they can be pretty simple. To start. Making useful
things out of bailing wire, that's another matter entirely.
To make such a contrivance useful, you need to do a "Fixed"
to "Dynamic" conversion. That takes all the fun out of it.
the Img2VHD above, makes a Dynamic, so you don't have to worry
about the output being inefficient. It is fully efficient.
At first this idea seems like fun, but after a while, it's a slog.
*******
While the concept is attractive, the details can be daunting.
For example, determining why nested virtualization isn't
working, that's going to be pretty hard to figure out.
To this day, nested virtualization does not seem to work
right on my Zen3. Maybe it works better on the Intel side,
don't have modern enough Intel to test that.
There can be a tick box for nested virtualization, but just
because you ticked it, does not mean it is working.
There isn't even a modern drawing of the inverted hypervisor for us.
You can try and figure some things out, using this diagram. Right click
on the diagram here, use "View diagram" to fully see the diagram.
https://web.archive.org/web/20111205072921/https://msdn.microsoft.com/en-us/library/cc768520%28v=bts.10%29.aspx
You can see the topic is confusing, but Windows 10 can't be a Host,
if an inverted Hypervisor is present. the inverted Hypervisor is
the host, and Windows must then be subservient to it. Even if
the diagram says it's the Root Partition, does it really make a
difference labeling it like that, or not ? IDK.
I don't know what happens to Windows, when you turn off VT-X in the BIOS.
Since VT-X setting is not "essential to virtualization",
it may still be possible for your main Windows OS to be virtualized.
This might be the case, starting at Windows 8 or Windows 8.1,
but without documentation, how can I tell you for sure ???
Virtualization does not need to be the "fallthru type".
With x86-on-x86 execution, most of the Guest binary instructions
are executed directly on the hardware. This is why the thing
works at the "normal speed". When you take advantage of
the fallthru, it's for better or worse. If the project called
for "Pentium III behavior", the Zen3 aspect of your environment
can be "viewed" by the Guest, and the Guest knows immediately
it's not on a Pentium III. If a Guest OS tries to execute an
AVX512 instruction on a Pentium III, that should fail and not pass.
If the platform has AVX512, its existence could be checked during
fallthru (attempting to run the instruction right on the hardware).
If you use something like QEMU, that (like a lot of early
virtualization) can do instruction translation. You could run
ARM code on an x86, x86 code on an ARM, via translation. But,
you can also run x86 code via translation, on an x86, tell QEMU
this is a Pentium III, and then the "smell" of Pentium III is
seen by the Guest. It really thinks it is on a Pentium III.
What is the price of doing this ? Translation is as slow as
molasses, and that's why we seldom if ever do it that way.
But if you were wondering how the defunct Windows System for ARM
worked, that involves translation. Even the new Qualcomm laptops
with ARM hardware, use translation to run win32 codes.
Paul
--- MBSE BBS v1.1.1 (Linux-x86_64)
* Origin: A noiseless patient Spider (3:633/280.2@fidonet)