Bug 1311890 - virt-v2v: error: libguestfs error: hivex_open: hivex failed to open /Windows/System32/config/SOFTWARE: Operation not supported
Summary: virt-v2v: error: libguestfs error: hivex_open: hivex failed to open /Windows...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libguestfs
Version: 7.3
Hardware: x86_64
OS: Unspecified
high
high
Target Milestone: rc
: ---
Assignee: Richard W.M. Jones
QA Contact: Virtualization Bugs
Yehuda Zimmerman
URL:
Whiteboard: V2V
: 1230414 (view as bug list)
Depends On: 888379 1359086 1423436
Blocks: 1401400 1288337 1301891
TreeView+ depends on / blocked
 
Reported: 2016-02-25 09:47 UTC by tingting zheng
Modified: 2017-08-02 08:13 UTC (History)
10 users (show)

Fixed In Version: libguestfs-1.36.1-1.el7
Doc Type: Bug Fix
Doc Text:
*virt-v2v* can convert Windows guests with corrupted or damaged Windows registries Previously, the *hivex* library used by *libguestfs* to manipulate the Windows registry could not handle corrupted registries. Consequently, the *virt-v2v* utility was not able to convert Windows guests with corrupted or damaged Windows registries. With this update, *libguestfs* configures *hivex* to be less strict when reading the Windows registry. As a result, *virt-v2v* can now convert most Windows guests with corrupted or damaged Windows registries.
Clone Of:
: 1423436 (view as bug list)
Environment:
Last Closed: 2017-08-01 22:08:55 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:2023 normal SHIPPED_LIVE libguestfs bug fix and enhancement update 2017-08-01 19:32:01 UTC

Description tingting zheng 2016-02-25 09:47:21 UTC
Description of problem:
Fail to convert some win10 guests from esx,but some one can be converted successfully.

Version-Release number of selected component (if applicable):
virt-v2v-1.32.2-6.el7.x86_64
virtio-win-1.8.0-4.el7.noarch
libguestfs-winsupport-7.2-1.el7.x86_64
libvirt-1.3.1-1.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Use virt-v2v to convert win10 i386 from esx 5.1,it fails with error:
virt-v2v: error: libguestfs error: hivex_open: hivex failed to open 
/Windows/System32/config/SOFTWARE: Operation not supported

2.log info:
http://libvirt-jenkins.englab.nay.redhat.com:8080/view/v2v_auto/job/v2v_test_by_tzheng/lastBuild/testReport/%28root%29/convert_vm_to_libvirt/esx_vm_5_1_windows_win10_i386_raw_vm_check/

Actual results:
As description.

Expected results:
Win 10 can be converted successfully.

Additional info:

Comment 4 Richard W.M. Jones 2016-06-22 15:11:58 UTC
The actual error is:

hivex: hivex_open: returning ENOTSUP because: SOFTWARE: trailing garbage at end of file (at 0x2084000, after 7639 pages)
hivex_open: SOFTWARE: Operation not supported

Similar to bug 739029.

Anyway, this requires a change to hivex to make it more lax (like
Windows itself) when processing corrupt registries.

Since hivex is not on the ACL for RHEL 7.3, this conveniently means
we can defer this bug to 7.4.

Comment 5 Richard W.M. Jones 2016-07-06 10:28:26 UTC
*** Bug 1230414 has been marked as a duplicate of this bug. ***

Comment 6 Richard W.M. Jones 2017-02-16 14:24:59 UTC
Defer to RHEL 7.5.  Someone is in fact working on this problem
upstream, see:
https://www.redhat.com/archives/libguestfs/2017-February/thread.html#00159

Comment 7 Richard W.M. Jones 2017-02-17 10:25:33 UTC
The hivex patches were completed unexpectedly quickly.  I have
posted patches for libguestfs to use them.

This will require changes to hivex too.

https://www.redhat.com/archives/libguestfs/2017-February/msg00194.html

Comment 9 mxie@redhat.com 2017-04-01 02:33:25 UTC
Verify the bug with builds:
virt-v2v-1.36.3-1.el7.x86_64
libguestfs-1.36.3-1.el7.x86_64
qemu-kvm-1.5.3-134.el7.x86_64
qemu-kvm-rhev-2.8.0-6.el7.x86_64
virtio-win-1.9.0-3.el7.noarch
libvirt-3.1.0-2.el7.x86_64
libguestfs-winsupport-7.2-2.el7.x86_64

Steps:
1.Build auto job:converting win10(i386 and x86_64) guests from ESXi5.1/5.5/6.0 to libvirt by virt-v2v

Note:
rhel means that run the testing with qemu-kvm
rhev means that run the testing with qemu-kvm-rhev

Result:
All win10 guests could be converted successfully and checkpoints are passed, details pls refer to below jobs
https://libvirt-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/v2v/view/RHEL-7.4/job/v2v-RHEL-7.4-runtest-x86_64-acceptance-libvirt/13/testReport/rhel/convert_vm_to_libvirt/
https://libvirt-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/v2v/view/RHEL-7.4/job/v2v-RHEL-7.4-runtest-x86_64-acceptance-libvirt/13/testReport/rhev/convert_vm_to_libvirt/


So the bug has been fixed, move the bug from ON_QA to VERIFIED

Comment 13 errata-xmlrpc 2017-08-01 22:08:55 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:2023


Note You need to log in before you can comment on or make changes to this bug.