none
Windows 10 in boot loop after sysprep

    Question

  • Have an HP EliteDesk 800 G1.  Windows 10 installed from HP.  Removed some HP apps, added others, removed some Microsoft Store apps, and generally customized the administrator account.  The computer has all Windows updates, including the anniversary update.  All update temp files removed using the Microsoft disk cleanup process.  Have an unattend answer file created using the 1607 version of the install WIM file, along with the Windows 10 version of Windows System Image Manager.  

    The answer file includes the copy profile command, as well as the generalize command to have it keep existing drivers.

    While I did create an "admin" account early in the customization process, it has since been removed, and does not exist in the profile list in the registry.  The computer has not been on the domain.

    Am running sysprep from an elevated command prompt, and from within the sysprep folder.  In that folder is also my answer file (unattend.xml), which worked fine for sysprepping some Surface Pro systems with the same version of Windows.  Sysprep is being run with the following command line:

    Sysprep.exe /generalize /oobe /quit /unattend:unattend.xml

    Sysprep seems to run without incident.  Afterwards, I restart the computer in order to test the system.  The expectation is that OOBE will run, I'll answer a few questions, and then log on as a new user (which OOBE will allow me to create), and the new user will have the custom desktop.  Life should be good.

    However, this doesn't happen.  The computer is restarted, the spinning dots are displayed, going on for a bit with the words "Getting ready" or "Just a moment..." under it (the words change at some point).  That goes on for about a minute, then finally the monitor goes to black, then the computer boot sequence begins again.  No BSOD, no chance to break out of the process, no error messages, no other clues.  The reboot loop will go on ad infinitum.

    At one point I stopped it, removed the hard drive and hooked to another computer, in order to extract the "setup.etl" file from the panther folder.  After converting it to a CSV file, I checked the log, but found no errors or any sign of distress (nothing obvious) from OOBE.

    Then I opted for another direction.  After reloading the pre-sysprep image on the system, sysprep is attempted again, but this time leaving out the "generalize" portion of the command line.  When Windows is restarted for testing, OOBE gets to the "Cortana" question, and after that it allows the user to logon... looking good... until we get to the desktop, which is decidedly not the custom profile which had been created.  When the "generalize" command is removed from the command line, the "copy profile" portion of the answer file is apparently ignored.  

    What am I missing?

    Pat Furrie

    Here is the unattend.xml code:

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="specialize">
            <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <DesktopOptimization>
                    <ShowWindowsStoreAppsOnTaskbar>false</ShowWindowsStoreAppsOnTaskbar>
                </DesktopOptimization>
                <OEMInformation>
                    <SupportPhone>[removed for support]</SupportPhone>
                    <SupportURL>[removed for support]</SupportURL>
                    <Logo>logo.bmp</Logo>
                </OEMInformation>
                <CopyProfile>true</CopyProfile>
                <RegisteredOrganization>[removed for support]</RegisteredOrganization>
                <RegisteredOwner>[removed for support]</RegisteredOwner>
                <DoNotCleanTaskBar>true</DoNotCleanTaskBar>
                <TimeZone>Eastern Standard Time</TimeZone>
            </component>
            <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <InputLocale>en-US</InputLocale>
                <SystemLocale>en-US</SystemLocale>
                <UILanguage>en-US</UILanguage>
                <UserLocale>en-US</UserLocale>
            </component>
            <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <RunSynchronous>
                    <RunSynchronousCommand wcm:action="add">
                        <Order>1</Order>
                        <Path>net user administrator /active:yes</Path>
                    </RunSynchronousCommand>
                </RunSynchronous>
            </component>
            <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <SkipAutoActivation>true</SkipAutoActivation>
            </component>
        </settings>
        <settings pass="generalize">
            <component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
            </component>
        </settings>
        <settings pass="oobeSystem">
            <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <DesktopOptimization>
                    <ShowWindowsStoreAppsOnTaskbar>false</ShowWindowsStoreAppsOnTaskbar>
                </DesktopOptimization>
                <OOBE>
                    <HideLocalAccountScreen>true</HideLocalAccountScreen>
                    <HideEULAPage>true</HideEULAPage>
                    <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                    <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                    <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                    <ProtectYourPC>2</ProtectYourPC>
                </OOBE>
                <TimeZone>Eastern Standard Time</TimeZone>
                <RegisteredOrganization>[removed for support]</RegisteredOrganization>
                <RegisteredOwner>[removed for support]</RegisteredOwner>
                <DoNotCleanTaskBar>true</DoNotCleanTaskBar>
            </component>
            <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <InputLocale>en-US</InputLocale>
                <SystemLocale>en-US</SystemLocale>
                <UILanguage>en-US</UILanguage>
                <UserLocale>en-US</UserLocale>
            </component>
        </settings>
        <cpi:offlineImage cpi:source="wim:c:/wim/install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>


    • Edited by pfurrie Thursday, February 16, 2017 6:25 PM
    Thursday, February 16, 2017 6:23 PM

All replies

  • Windows 10 does not log the full OOBE sequence as previous versions of Windows does, so it can be impossible to troubleshoot in some situations.

    Be aware that only an OEM has the right to reimage an OEM's pre-installed OS. If your company has tasked you do to this work, they should be aware that it is not allowed and they may fail a licensing audit because of it.

    Thursday, February 16, 2017 9:16 PM
  • I'm getting this same issue.  Have a sysprepped image, pre 1607, site lic, 10x64 ent edition.  boot to audit mode, update the programs, update the OS (with 1607+), everything looks good.  Go to generalize, OOBE, shutdown to capture image, and run in to a WHEA_unrecoverable_error, then infinite reboot. 

    Other places say that it may be the network adapters.  Tried uninstalling those, but sysprep says: ran into error, and then quits.

    I can't just start from scratch, and not boot to audit mode, because sysprep says that the apps are not provisioned for all users, and then quits.

    Does sysprep need a revamp?  It has been on version Pi since win7 or before.

    Friday, February 17, 2017 9:06 PM
  • It is impossible to say it is the same thing, the OS is totally different in your case. And your error you talk about is different. You should make a new thread instead of co-opting this one.

    I have not had this problem, but I never put updates in during Audit Mode. Only add updates to the image itself with DISM.

    Friday, February 17, 2017 9:22 PM