Bug 2218136

Summary: Should correct windows hibernate info in virt-v2v man page
Product: Red Hat Enterprise Linux 9 Reporter: mxie <mxie>
Component: virt-v2vAssignee: Richard W.M. Jones <rjones>
Status: CLOSED MIGRATED QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 9.3CC: chhu, hongzliu, juzhou, lersek, rjones, tyan, tzheng, vwu, xiaodwan
Target Milestone: rcKeywords: MigratedToJIRA, Triaged
Target Release: ---Flags: pm-rhel: mirror+
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-08-28 09:13:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
no-fast-startup-option none

Description mxie@redhat.com 2023-06-28 09:48:54 UTC
Created attachment 1972987 [details]
no-fast-startup-option

Description of problem:
Should correct windows hibernate info in virt-v2v man page
 
Version-Release number of selected component (if applicable):
virt-v2v-2.3.4-3.el9.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Check how to disable windows hibernate in v2v man page
# man virt-v2v |grep hibernate -A 10 -B 2
       Windows ≥ 8 Fast Startup is incompatible with virt-v2v

       Guests which use the Windows ≥ 8 "Fast Startup" feature (or guests which are hibernated) cannot be converted with virt-v2v.  You will see an
       error:

        virt-v2v: error: unable to mount the disk image for writing. This has
        probably happened because Windows Hibernation or Fast Restart is being
        used in this guest. You have to disable this (in the guest) in order
        to use virt-v2v.

       As the message says, you need to boot the guest and disable the "Fast Startup" feature (Control Panel → Power Options → Choose what the power
       buttons do → Change settings that are currently unavailable → Turn on fast startup), and shut down the guest, and then you will be able to
       convert it.

2. Try to disable  hibernate in windows guest according to above info, but can't find 'fast startup' option  after clicking ' Change settings that are currently unavailable' in windows guest, pls refer to screenshot 'no-fast-startup-option'

3. Power on the windows guest,  try to disable hibernate via cmd 'powercfg.exe /hibernate off',  but shut down guest with power off option on vsphere client,  v2v still can't convert windows guest 

# virt-v2v -ic vpx://administrator%40vsphere.local.213.93/data/10.73.212.38/?no_verify=1 -it vddk -io vddk-libdir=/home/vddk8.0.1 -io  vddk-thumbprint=1B:83:D8:5A:33:31:62:DB:BA:9E:73:6D:A8:29:14:48:3F:82:F6:FD  -ip /home/passwd  esx7.0-win2022-x86_64
[   0.0] Setting up the source: -i libvirt -ic vpx://administrator%40vsphere.local.213.93/data/10.73.212.38/?no_verify=1 -it vddk esx7.0-win2022-x86_64
[   1.8] Opening the source
[   8.6] Inspecting the source
virt-v2v: error: filesystem was mounted read-only, even though we asked for 
it to be mounted read-write.  This usually means that the filesystem was 
not cleanly unmounted.  Possible causes include trying to convert a guest 
which is running, or using Windows Hibernation or Fast Restart.

Original error message: touch: open: /azw3p6uu: Read-only file system

If reporting bugs, run virt-v2v with debugging enabled and include the 
complete output:

  virt-v2v -v -x [...]

4. Power on the windows guest,  just shut down guest via cmd 'shutdown -s'(NOT disable hibernate via cmd 'powercfg.exe /hibernate off') or shutdown guest via power button in guest,  then v2v can convert the windows guest successfully

# virt-v2v -ic vpx://administrator%40vsphere.local.213.93/data/10.73.212.38/?no_verify=1 -it vddk -io vddk-libdir=/home/vddk8.0.1 -io  vddk-thumbprint=1B:83:D8:5A:33:31:62:DB:BA:9E:73:6D:A8:29:14:48:3F:82:F6:FD  -ip /home/passwd  esx7.0-win2022-x86_64
[   0.0] Setting up the source: -i libvirt -ic vpx://administrator%40vsphere.local.213.93/data/10.73.212.38/?no_verify=1 -it vddk esx7.0-win2022-x86_64
[   1.8] Opening the source
[   8.0] Inspecting the source
[  14.8] Checking for sufficient free disk space in the guest
[  14.8] Converting Windows Server 2022 Standard to run on KVM
virt-v2v: This guest has virtio drivers installed.
[  31.4] Mapping filesystem data to avoid copying unused and blank areas
[  33.0] Closing the overlay
[  33.2] Assigning disks to buses
[  33.2] Checking if the guest needs BIOS or UEFI to boot
[  33.2] Setting up the destination: -o libvirt
.....


Actual results and expected results:
Some customers can't convert windows guest because they didn't disable hibernation in guest before conversion, such as case03486166 and case03470708,  but I found the info in v2v man page about how to disable hibernated is incorrect and the error info described in man page is inconsistent with actual  error,  besides,  fix windows hibernate failure must shut down windows guest via cmd 'shutdown -s' or power button in guest,  this workaround should be updated in v2v man page

As above description

Additional info:

Comment 1 Richard W.M. Jones 2023-06-28 15:33:51 UTC
https://answers.microsoft.com/en-us/windows/forum/all/change-settings-that-are-currently-unavailable-is/47d7c532-5e75-4c47-889c-736f913ac4ef

This page has some information about the "Change settings that are currently unavailable"
although nothing conclusive.  It seems as if Microsoft either removed the button, moved
it somewhere else, or you must be administrator to see it.

Comment 3 RHEL Program Management 2023-08-28 08:55:46 UTC
Issue migration from Bugzilla to Jira is in process at this time. This will be the last message in Jira copied from the Bugzilla bug.