none
sysprep /generalize leads to error "Windows Setup could not configure Windows on this computer’s hardware" RRS feed

  • Question

  • Hello,

    sorry for the following wall of text. But I thought, I try to be thorough. After generalizing a fresh installation of Windows Embedded Standard 7 SP1 and reapplying the image I get the following error on reboot: "Windows Setup could not configure Windows on this computer’s hardware".

    This are the steps I do:

    1. Installing WES 7 SP1 via IBW from a USB flash drive
    2. Booting into OOBE and entering  the necessary information (user name, product key, etc.)
    3. Configuring the image, i.e. installing updates, software and drivers. It is possible to reboot the image without problems up to this point
    4. Performing a sysprep from command line: sysprep /generalize /oobe /shutdown
    5. Booting into Windows PE from a second flash drive
    6. Capturing an image with imagex. Just the system partition not the additional 100 MB boot partition.
    7. Using diskpart for cleaning and repartitioning the original disk drive
    8. Applying the captured wim file via imagex onto the freshly partitioned drive
    9. Performing bcdboot: bcdboot C:\Windows /s C:
    10. Rebooting
    11. After that I get the above error and windows starts a rebooting loop. 


    I tried the following steps to solve the problem without success:

    1. Changed the SATA ports configuration in the BIOS from AHCI to IDE
    2. Checked setup.etl if any registry keys are too long: Tracerpt setup.etl -o logfile.csv
    3. Boot into Audit Mode (Ctrl-Shift-F3) and customized the image (w/o installing updates)
    4. Created a second system partition with the size of 100 MB, assigned the letter S and performed: bcdboot C:\Windows /s S:
    5. I can rule out defect hardware. I performed the whole setup procedure on a second pc with the same hardware configuration. 

    I ran out of options so I thought to ask for help. Below you I've listed information about the hardware and the the two setup log files from C:\Windows\Panther

    The processor and chipset are:

    • Processor: Intel Atom N455/D525
    • Chipset: Intel ICH8M

    setuperr.log

    2015-03-11 16:55:42, Error      [0x0e00b3] TOOL   Sysprep_Specialize_Bcd: There was an error opening the system store. Status=[0xC0000098]

    2015-03-11 16:55:42, Error      [0x0f0082] SYSPRP LaunchDll:Failure occurred while executing 'c:\Windows\System32\spbcd.dll,Sysprep_Specialize_Bcd', returned error code 1006

    2015-03-11 16:55:42, Error      [0x060435] IBS    Callback_Specialize: An error occurred while either deciding if we need to specialize or while specializing; dwRet = 0x3ee

    Extract from setupact.log:

    2015-03-11 16:55:40, Info                  IBS    Callback_Specialize: Enter.
    2015-03-11 16:55:40, Info                  IBS    Callback_Specialize: Current State: [4]
    2015-03-11 16:55:40, Info                  IBS    Callback_Specialize: Attempting to specialize image
    2015-03-11 16:55:40, Info       [0x0f008a] SYSPRP RunRegistryDlls:Retrieved section name for this phase as Specialize

    2015-03-11 16:55:40, Info       [0x0f008b] SYSPRP RunRegistryDlls:Found entrypoint in registry at SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SysPrep\Specialize\{b20d9e76-ba82-1249-30fc-1a64408619ba}; will try to launch 'c:\Windows\System32\spbcd.dll,Sysprep_Specialize_Bcd'

    2015-03-11 16:55:40, Info       [0x0f0080] SYSPRP LaunchDll:Found 'c:\Windows\System32\spbcd.dll,Sysprep_Specialize_Bcd'; executing it

    2015-03-11 16:55:42, Error      [0x0e00b3] TOOL   Sysprep_Specialize_Bcd: There was an error opening the system store. Status=[0xC0000098]

    2015-03-11 16:55:42, Error      [0x0f0082] SYSPRP LaunchDll:Failure occurred while executing 'c:\Windows\System32\spbcd.dll,Sysprep_Specialize_Bcd', returned error code 1006

    2015-03-11 16:55:42, Info                  IBS    Callback_Specialize: Internal Providers Specialized Failed. System can't proceed to handle Internal Providers

    2015-03-11 16:55:42, Info                  IBS    Callback_Specialize: Specialize return: [1006]

    2015-03-11 16:55:42, Error      [0x060435] IBS    Callback_Specialize: An error occurred while either deciding if we need to specialize or while specializing; dwRet = 0x3ee

    2015-03-11 16:55:42, Info       [0x0640ae] IBSLIB PublishMessage: Publishing message [Windows Setup could not configure Windows to run on this computer's hardware.]


    Thursday, March 19, 2015 3:37 PM

All replies

  • What happens if you additionally capture/apply the boot partition? The error message "There was an error opening the system store" let's me assume that your installation expects the BCD store to be in the boot partiton that you have omitted during "deployment".

    Thursday, March 19, 2015 4:02 PM
  • I have to admit I didn't come to think about it, probably since Microsoft declared it as optional. I'll try that and report back.

    Thanks

    Thursday, March 19, 2015 4:14 PM
  • The 100MB boot partition is necessary. There are other tricks to recreate the 100MB partition, but I prefer to capture the whole disk rather than use the imagex utility. Ghost or Clonezilla are better solution for image capture: http://www.annabooks.com/Articles/Articles_WE8S/Clonezilla-WE_Rev1.2.pdf

    Sean Liming - Book Author: Starter Guide SIM (WEI), Pro Guide to WE8S & WES 7, Pro Guide to POS for .NET - www.annabooks.com / www.seanliming.com

    Thursday, March 19, 2015 4:44 PM
    Moderator
  • Capturing and applying both partitions didn't work

    But the error has something to do with the bdcstore. I applied the captured system wim file with the help of IBW setup for the first time and it worked.

    But applying it with the IBW is not option. There is a need to execute custom scripts during WinPE deployment. That is not possible with IBW.

    Here is what I tried and did not work:

    Capturing both partitions with imagex:

    imagex /capture c: e:\boot.wim "WES7 Boot"
    imagex /capture d: e:\system.wim "WES7 System"

    Partitioning the drive with diskpart:

    diskpart
    clean
    create partition primary size=100
    select partition 1
    active
    format fs=ntfs quick label="System Reserved"
    assign letter="C"
    create partition primary
    select partition 2
    active
    format fs=ntfs quick
    assign letter="D"
    exit

    Applying both images:

    imagex /apply e:\boot.wim 1 c:
    imagex /apply e:\system.wim 1 d:

    I suppose that it has something to do with the 'references' to the disk within the bcdstore in boot.wim. I suppose they have to be changed after I clean the disk with diskpart.

    I can't check it right now, since I'm leaving the office. But I'll try to 'repair' the bcdstore with bcdedit or something like it tomorrow.


    Thursday, March 19, 2015 6:13 PM
  • One simple test to try, once you ran sysprep and the system shuts down, restart the system and make sure the cloning process works. This will verify that there is nothing in error with generating the master.

    Sean Liming - Book Author: Starter Guide SIM (WEI), Pro Guide to WE8S & WES 7, Pro Guide to POS for .NET - www.annabooks.com / www.seanliming.com

    Friday, March 20, 2015 12:42 AM
    Moderator
  • I remember a problem I had with WES8 where the sysprep'd system started with BSOD when UWF is enebled and continued after pressing enter (deployed the image the same way you did now).

    In my case there were differences between the BCD when the image was captured and the one that imagex/bcdboot created when applying the image.

    See this thread for details.

    Another option ist to try capture/apply with DISM.

    • Edited by Willi K Monday, March 23, 2015 9:01 AM
    Monday, March 23, 2015 8:52 AM
  • The post from Willi K is correct. The BCD gets changed. This is true for WES7, too.

    Extract from BCD entry before sysprep and imagex /capture

    Windows Boot loader
    -------------------------
    identifier {default}
    device partition=D:
    path \Windows\system32\winload.exe
    ...
    osdevice partition=D:
    systemroot \Windows

    ...

    Extract from BCD entry after sysprep and imagex /apply

    Windows Boot loader
    -------------------------
    identifier {default}
    device locate=\Windows\system32\winload.exe
    path \Windows\system32\winload.exe
    ...
    osdevice locate=\Windows
    systemroot \Windows

    ...

    And I think that the key problem is the BCD entry for the Windows Boot Manager.

    Before syspsrep and imagex /capture:
    device partition=C:

    After sysprep and imagex /apply:
    device  locate=unknown

    I can change it with

    bcdedit /set {bootmgr} device partition=C: 

    Regardless it doesn't work. 

    Nonetheless, the error disappeared somehow. Just to be clear, it still doesn't work if I use two partitions. One as boot partition and a second as system partition. Regardless if I apply an existing wim-file of the boot partition and change some entries manually or if I 'recreate' the whole boot partition with 'bcdboot'. 

    What works is omitting the separate 100MB boot partition. If the boot manager resides on the same partition as Windows everything works as expected. That really puzzles me. Because this is the default setup which caused the problems in the first place.

    I noticed it by accident. I wanted to check if there are any differences in the error logs, between a two partition and a single partition setup. Some further clues to narrow down the problem. Since I didn't save the original logs I needed to recreate them. And then it suddenly worked. I deleted it and retried it, it still worked. I can't tell why. It's the same PC and I'm using the same wim-files. It could still be that I made some error in the first place. But I repeated this step at least a dozen times. Every time with little changes, but still the same overall process. 

    Anyway, problem is solved. At least for now it seems. Although I can't give any real solution, why it's solved. 

    Tuesday, March 24, 2015 2:55 PM