Bug 797760

Summary: virt-resize on Windows XP in sysprep state causes "UNMOUNTABLE_BOOT_VOLUME" BSOD
Product: Red Hat Enterprise Linux 6 Reporter: Richard W.M. Jones <rjones>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3CC: grant_williamson, leiwang, moli, qguan, qwan, walicki
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libguestfs-1.16.6-1.el6 Doc Type: Bug Fix
Doc Text:
No Documentation needed
Story Points: ---
Clone Of:
: 797986 797994 (view as bug list) Environment:
Last Closed: 2012-06-20 07:00:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 797986    
Bug Blocks:    

Description Richard W.M. Jones 2012-02-27 09:10:45 UTC
Description of problem:

I don't have much more information about this than in the
summary.  Setting NEEDINFO to get more information.

Version-Release number of selected component (if applicable):

1.16.5 (RHEL 6.3 preview package)

Comment 2 Grant Williamson 2012-02-27 09:24:00 UTC
1 - Grab the sysprep tools from
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11282

2 - Create a sysprep.inf file.
[Unattended]
OemSkipEula=Yes
KeepPageFile=
InstallFilesPath=c:\windows
DriverSigningPolicy=Ignore
ExtendOemPartition=1

[UserData]
ProductKey=*****-*****-*****-*****-*****
FullName="IBM_USER"
OrgName="IBM"
ComputerName=*

[GuiUnattended]
AdminPassword=PASSWORD
AutoLogon=Yes
OEMSkipRegional=1
OEMDuplicatorstring="KVM client for e-business sysprep installation"
TimeZone=85
OemSkipWelcome=1

[GuiRunOnce]
Command0="cmd /c rmdir c:\windows\$OEM$ /s/q"
;Command1="bootcfg.exe /timeout 3"

[Identification]
JoinWorkgroup=WORKGROUP

[Networking]
InstallDefaultComponents=Yes

[NetProtocols]
MS_TCPIP=params.MS_TCPIP

[params.MS_TCPIP]
DNSDomain=

DNSSuffixSearchOrder=IBM.COM

[Display]

[SysprepMassStorage]

[sysprepcleanup]

3 - Sysprep the WINDOWS XP SP3 Image
Copy the sysprep.inf to where you extracted sysprep.exe
i.e. c:\sysprep
then from this directory run.
sysprep -reseal -mini
wait till guest switches off.

4 - Resize the XP image.
truncate -s 40G NEW.raw
virt-resize --expand /dev/sda1 OLD.raw NEW.raw

5 - Boot image, chkdsk runs.
  - Machine reboots.
  - sysprep runs
  - machine reboots
  - boot hangs with BSOD message
  - shutdown/restart, same BSOD message.

6 - Workaround fix.
  - Shutdown guest
  - losetup /dev/loop0 NEW.raw
  - kpartx -a /dev/loop0
  - ntfsfix /dev/loop0
  - kpartx -d /dev/loop0
  - losetup -d /dev/loop0


Resizing on an NON SYSPREP image works.

Comment 3 Richard W.M. Jones 2012-02-27 15:46:49 UTC
I can reproduce this.

Comment 4 Richard W.M. Jones 2012-02-27 17:36:50 UTC
However I cannot fix it.

I added an ntfsfix binding:

https://www.redhat.com/archives/libguestfs/2012-February/msg00109.html

I tried modifying virt-resize so that it calls ntfsfix after
resizing ntfs partitions.  However that did not fix the problem.

I also tried running ntfsfix after seeing the UNMOUNTABLE_BOOT_VOLUME
error, however that just made the guest hang during boot.

Comment 5 Richard W.M. Jones 2012-02-27 18:12:40 UTC
I've cloned this for upstream (bug 797986).

Although I will keep looking at this bug, I don't see
any easy fix that we can implement in the next few days,
so I am (tentatively) moving this to 6.4.

Comment 6 Richard W.M. Jones 2012-02-27 19:45:38 UTC
We seem to have a fix for this (just a small doc change).

Comment 7 Richard W.M. Jones 2012-02-27 20:03:56 UTC
Upstream documentation fix:
https://github.com/libguestfs/libguestfs/commit/a93d4a9dc1aea6940886c85d4b09f21cbfc80969

Comment 10 Richard W.M. Jones 2012-04-26 12:21:20 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
No Documentation needed

Comment 12 errata-xmlrpc 2012-06-20 07:00:47 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.

http://rhn.redhat.com/errata/RHSA-2012-0774.html