Red Hat Bugzilla – Bug 797760
virt-resize on Windows XP in sysprep state causes "UNMOUNTABLE_BOOT_VOLUME" BSOD
Last modified: 2012-06-20 03:00:47 EDT
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)
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.
I can reproduce this.
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.
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.
We seem to have a fix for this (just a small doc change).
Upstream documentation fix: https://github.com/libguestfs/libguestfs/commit/a93d4a9dc1aea6940886c85d4b09f21cbfc80969
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
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