virt-v2v-release-notes-2.8(1)

NAME
virt-v2v-release-notes - virt-v2v release notes for 2.8

DESCRIPTION
These are the release notes for virt-v2v 2.8. This describes the major changes since 2.6.

Virt-v2v 2.8.0 was released on 11th June 2025.

  New features
New virt-v2v-open(1) tool. This can be used to open the virt-v2v source and run a user program on it. For example virt-inspector(1) or guestfish(1) can be used to examine the source to discover what operating systems or files are present before conversion.

Windows Server 2025 is supported (thanks Ming Xie).

Two features have been added to enhance data integrity. Firstly you can specify a "<checksum>" field for each input disk (when importing from libvirt). Virt-v2v will verify the checksum of the actual disk matches the expected checksum. Secondly virt-v2v in debug mode now computes the blkhash (a type of checksum) of the converted disk and prints it out, allowing you to compare the blkhash with the final output.

The UEFI secureboot property is now modelled correctly, and (for outputs which support it) is reflected in the output metadata (thanks Daniel Berrange, Andrea Bolognani, Ming Xie).

Parallel disk copies are now possible, using the --parallel=N option. The default behaviour is still to do serial copies.

virt-v2v-in-place(1) has a new -O option. This generates the same output as virt-v2v-inspector(1), allowing callers to combine both passes into one.

Virtio-win driver selection has been made more robust. It now selects the correct drivers to install in more cases, and avoids installing unnecessary debugging and SRIOV files. Libosinfo is no longer used for this as the osinfo metadata used had grown out of date. (Cole Robinson)

We now check filesystem integrity (using tools like fsck(8)) before and after conversion, to ensure both that we fully understand the filesystem before conversion and that no corruption has happened during conversion. At the moment this is only implemented for Btrfs, ext4 and XFS.

  Features removed
Handling of kmod-xenpv has been removed. This only applied to RHEL 3 and RHEL 4 guests being converted from very ancient versions of Xen (Cole Robinson).

Some options that have been deprecated since 2018 and earlier were removed:

--compressed
    Use -oo compressed instead.

--no-trim
    This did nothing.

--password-file
    Use --ip instead.

--qemu-boot
    Use -oo qemu-boot instead.

--vddk-*
    Use --io vddk-* instead.

--vdsm-*
    Use --oo vdsm-* instead.

--vmtype
    This did nothing.

The options -o rhv-upload and -o rhv have been renamed to -o ovirt-upload and -o ovirt respectively, although aliases for the other names remain.

  Other fixes
Update support page to cover RHEL 10 and Windows Server 2025.

When importing from libvirt sources, trim whitespace from around the "<name>" element, rather than creating a guest name containing that whitespace.

We no longer overwrite the EFI grub2 wrapper file (/boot/efi/EFI/<OS>/grub.cfg) on Fedora ≥ 34 and RHEL ≥ 9.0.

When removing packages during conversion, use yum, apt, and similar tools so that dependencies are also removed (Cole Robinson).

When some rpm commands run in the context of the guest produced more than 4MB of output, virt-v2v conversions would fail. This has now been fixed (thanks Nijin Ashok).

Virt-v2v is now compatible with guests that use dnf5.

-i vmx mode now supports importing guests with SATA-emulated disks.

Converting from a VMware snapshot is now possible, when using VDDK, using the io vddk-file=... options (thanks Martin Necas).

Conversion failures when guest /etc/resolv.conf is immutable are common enough that we have now documented this problem in the manual (thanks Dan Clark).

Debug information now contains much more readable information about guest mountpoints, similar to the output of virt-df(1).

-o libvirt mode no longer generates its own osinfo short IDs. Instead we use the osinfo short IDs from libguestfs inspection (Cole Robinson).

Document how to activate Bitlocker for Windows 11 with vTPM (thanks Ming Xie).

  Build changes
json-c is now required. This replaces Jansson which was previously used for parsing JSON input files.

libguestfs ≥ 1.56 is now required.

OCaml ≥ 4.08 is now required.

libnbd ≥ 1.14 is now required.

nbdkit ≥ 1.28 is now required, although it is better to use more recent versions where possible.

OCaml oUnit is no longer used.

We now assume that "__attribute__((cleanup))" always works. This requires gcc or Clang.

The configure option --with-virt-v2v-nbdkit-python-plugin has been removed. It was only needed for very old versions of nbdkit and Python.

Tests should no longer break if ntfs-3g is not supported by libguestfs.

Fix compatibility with GNU gettext 0.25.

  Internals
The tests were modified to use a set of common functions and remove use of the weird $TEST_FUNCTIONS macro, similar to how we do it in nbdkit.

The way we generate the phony virtio-win drivers (for testing) has been simplified. Also there are new regression tests to ensure that virt-v2v installs the correct set of driver files. (Cole Robinson).

Phony Windows guests are now generated for several different versions of Windows, allowing more broad testing (Cole Robinson).

Some deprecated autoconf macros are no longer used.

nbdkit-cacheextents-filter(1) is no longer used, as it did not help performance now that we have switched to using nbdcopy(1) (thanks Martin Kletzander).

With multi-disk guests, in some common cases we are now able to use a single nbdkit(1) instance to read or write all disks, instead of needing to run an nbdkit instance per disk, which can greatly reduce the number of external processes that virt-v2v will run. The performance and results should not be different. To take full advantage of this you have to use nbdkit ≥ 1.44.

Several typos and spelling mistakes in the documentation were fixed (thanks Eric Blake).

Duplicated code used to parse input (-i) and output (-o) options across the tools has been refactored in one place.

Some internal OCaml List and String functions that we used have been replaced by ones from the OCaml stdlib, reducing code maintenance.

  Bugs fixed

https://issues.redhat.com/browse/MTV-2256
    Document issues with upgrading Windows guests after conversion

https://issues.redhat.com/browse/RHEL-32099
    Harden grub2-mkconfig to avoid overwriting /boot/efi/EFI/redhat/grub.cfg

https://issues.redhat.com/browse/RHEL-39077
    v2v can't convert the guest if info "add_dracutmodules+=" network-legacy " is added to network-legacy.conf [rhel-9.6]

https://issues.redhat.com/browse/RHEL-58032
    v2v: add output file after virt-v2v-in-place conversion [rhel-9.6]

https://issues.redhat.com/browse/RHEL-65009
    Can't find drivers from virtio-win for win2025 guests during v2v conversion [rhel 10.0]

https://issues.redhat.com/browse/RHEL-65010
    Can't find drivers from virtio-win for win2025 guests during v2v conversion [rhel 9.6]

https://issues.redhat.com/browse/RHEL-66197
    [MTV] migration failed with module "network-legacy" configured in RHEL 8 guests

https://issues.redhat.com/browse/RHEL-67007
    [RFE] Add secureboot info in kubevirt output [rhel-9.7]

https://issues.redhat.com/browse/RHEL-67836
    RFE: Get the uefi.secureBoot.enabled setting from VMware sources [rhel-9.6]

https://issues.redhat.com/browse/RHEL-71522
    Migration Plan / vddk pod cannot remove open-vm-tools in case of dependencies [rhel-9.6]

https://issues.redhat.com/browse/RHEL-77989
    CentOS 9 Migration from VMWare to Openshift Virt fails [rhel-9.6]

https://issues.redhat.com/browse/RHEL-80080
    Converting a SUSE VM will fail if the kernel-source package is installed in the source VM

https://issues.redhat.com/browse/RHEL-85508
    Improve checksumming and data consistency checks in virt-v2v, libnbd, nbdkit

https://issues.redhat.com/browse/RHEL-85512
    Print blkhash of converted image in virt-v2v debugging output [9.7]

https://issues.redhat.com/browse/RHEL-85514
    Print blkhash of converted image in virt-v2v debugging output [10.1]

https://issues.redhat.com/browse/RHEL-86022
    There is no nbdcopy info in v2v debug log since virt-v2v version 2.7.1-2 [rhel-9.7]

https://issues.redhat.com/browse/RHEL-88543
    virt-v2v-inspector is failing on snapshots of running VMs [rhel-9.7]

https://issues.redhat.com/browse/RHEL-88985
    Add possible roots to the virt-v2v-inspector output [rhel-9.7]

https://issues.redhat.com/browse/RHEL-70840
    v2v can't convert win11-efi-secure guest with vtpm: "Activation of partially decrypted BITLK device is not supported" [rhel-9.6]

https://github.com/libguestfs/virt-v2v/issues/79
    virt-v2v 2.7.4 error: libguestfs error: you must call guestfs_add_drive before guestfs_launch

https://github.com/libguestfs/virt-v2v/issues/86
    Rename RHV to oVirt

SEE ALSO
virt-v2v(1).

AUTHORS
Authors of virt-v2v 2.8:

Cole Robinson
Krascovict Petrov
Richard W.M. Jones
Ricky Tigg
Yuri Chornoivan

COPYRIGHT
Copyright (C) 2009-2025 Red Hat Inc.

LICENSE
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

BUGS
To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools

To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools

When reporting a bug, please supply:

•   The version of libguestfs.

•   Where you got libguestfs (eg. which Linux distro, compiled from source, etc)

•   Describe the bug accurately and give a way to reproduce it.

•   Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.