It looks like I've finally gotten some imports to work. Not with the 450 GB VM yet, but with some other VMs from the same VMware environment, which should have a similar config.

The steps for me were:
# export LIBGUESTFS_BACKEND=direct          (not too sure if this is required)
# ovftool vi://<vcenter_path_to_vm> /<some_local_directory>/<vm>.ova
# chown 36:36 <vm>.ova

and then importing via the oVirt GUI by setting Source: Virtual Appliance (OVA) and specifying the path to the ova on the host.

The VM usually wouldn't boot right away (different errors for 2 different attempts), but after making some edit via oVirt and reverting, it would boot.

I'm also not using virtio and don't have virtio drivers for Windows. Maybe that's something worth looking into though.

Thanks!
- Alan

On Wed, May 19, 2021 at 6:37 PM Alan Daniels <alan@softdrive.co> wrote:
Thanks, I'll look into VDDK.

Attached a screenshot of the disk from the VM's perspective. C:\windows\system32\cmd.exe definitely exists (confirmed it). It's Windows 10 (Microsoft Windows 10 x64 from VMware's point of view) - build 2004 19041.985.

Maybe the file transfer had an issue (running ovftool), since the resulting OVA file was 128 GB, while the VM is 450 GB thick provisioned with more than 128 GB in use. What would the expected OVA size be here?

ovftool did say that the transfer completed successfully and I've run it twice where it stopped at 128 GB both times.

image.png
Text version of the screenshot:
Disk 0 - 450 GB
579 MB NTFS System Reserved partition
449.43 GB C drive partition

Thanks!
- Alan

On Wed, May 19, 2021 at 3:55 PM Richard W.M. Jones <rjones@redhat.com> wrote:
On Wed, May 19, 2021 at 01:40:04PM -0400, Alan Daniels wrote:
> Directly importing from VMware would be desirable to not have a 2-step process.
> I'll look into updating.
>
> And just to confirm - it still has to go through vCenter right? (Can't go
> directly to the ESXi host).

It can import directly from ESXi, although you'll have to use the VDDK
method which involves using some software from VMware with a non-libre
license.  This is all detailed in the manual:

https://libguestfs.org/virt-v2v-input-vmware.1.html

> I tried the OVA method where I exported the VM using VMware's ovftool directly
> to the new KVM host. However, importing this local OVA (with the oVirt GUI
> rather than virt-v2v on the command line) still failed.
>
> "
> virt-v2v: error: inspection could not detect the source guest (or physical
> machine).

Thanks for attaching the log.  It shows that virt-v2v found a single
disk with two partitions, but it couldn't make sense of what was on
the disk.  In particular it seems as if the second partition doesn't
have C:\windows\system32\cmd.exe ?  If this was missing it would be
enough to confuse virt-v2v into thinking there is no system partition.

If you didn't delete the file then it might be some obscure Windows
version we've not seen before, or some problem with ntfs-3g.

Rich.

--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/