OS Deployment - Unable to read task sequence, WpeInit.exe does not start automatically.

WinPE loads, but shows error:

"Unable to read task sequence configuration disk. For more information, please contact your system administrator or helpdesk operator."

 

Checked in the console, wpeinit.log does not exist in X:\Windows\System32, and no network adapters are installed.  If I manually launch wpeinit.exe, then the network adapters do install and obtain proper IP.  I can then manually relaunch x:\sms\bin\i386\TsBootShell.exe to kick off the build process (which then proceeds without further errors).

 

I've made sure portfast is enabled on the switch and disabled unused NICs on the box, but nothing has helped.

Looking for any suggestions.  Thanks!

<![LOG[LOGGING: Finalize process ID set to 884]LOG]!><time="23:04:17.230+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="888" file="tslogging.cpp:1489">
<![LOG[==============================[ TSBootShell.exe ]==============================]LOG]!><time="23:04:17.230+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="888" file="bootshell.cpp:963">
<![LOG[Succeeded loading resource DLL 'X:\sms\bin\i386\1033\TSRES.DLL']LOG]!><time="23:04:17.245+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="888" file="util.cpp:869">
<![LOG[Debug shell is enabled]LOG]!><time="23:04:17.245+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="888" file="bootshell.cpp:974">
<![LOG[Waiting for PNP initialization...]LOG]!><time="23:04:17.245+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="912" file="bootshell.cpp:59">
<![LOG[Booted from removable media]LOG]!><time="23:04:17.978+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="912" file="configpath.cpp:188">
<![LOG[Checking for "E:\SOURCES\BOOT.WIM"]LOG]!><time="23:04:17.978+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="configpath.cpp:107">
<![LOG[!rsPath.empty(), HRESULT=80070002 (e:\nts_sms_fre\sms\client\tasksequence\bootshell\configpath.cpp,127)]LOG]!><time="23:04:18.056+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="configpath.cpp:127">
<![LOG[Unable to find SOURCES\BOOT.WIM on any removable media]LOG]!><time="23:04:18.056+000" date="01-19-2011" component="TSBootShell" context="" type="3" thread="912" file="configpath.cpp:127">
<![LOG[GetConfigPathRemovable(sArcPath, rsPath, bTdd), HRESULT=80070002 (e:\nts_sms_fre\sms\client\tasksequence\bootshell\configpath.cpp,189)]LOG]!><time="23:04:18.056+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="configpath.cpp:189">
<![LOG[Failed to find the current TS configuration path]LOG]!><time="23:04:18.056+000" date="01-19-2011" component="TSBootShell" context="" type="3" thread="912" file="configpath.cpp:254">
<![LOG[ConfigPath::FindConfigPath(sConfigPath), HRESULT=80070002 (e:\nts_sms_fre\sms\client\tasksequence\bootshell\bootshell.cpp,550)]LOG]!><time="23:04:18.056+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="bootshell.cpp:550">
<![LOG[Failed to find the configuration path. 
The system cannot find the file specified. (Error: 80070002; Source: Windows)]LOG]!><time="23:04:18.056+000" date="01-19-2011" component="TSBootShell" context="" type="3" thread="912" file="bootshell.cpp:550">
<![LOG[Execution failed with error 80070002.]LOG]!><time="23:04:18.056+000" date="01-19-2011" component="TSBootShell" context="" type="3" thread="912" file="bootshell.cpp:634">
<![LOG[Finalizing logging from process 884]LOG]!><time="23:04:18.056+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="912" file="tslogging.cpp:1736">
<![LOG[Finalizing logs to root of first available drive]LOG]!><time="23:04:18.056+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="912" file="tslogging.cpp:1578">
<![LOG[Successfully finalized logs to D:\SMSTSLog]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="912" file="tslogging.cpp:1635">
<![LOG[Cleaning up task sequencing logging configuration.]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="tslogging.cpp:578">
<![LOG[hMap != 0, HRESULT=80070002 (e:\nts_sms_fre\sms\framework\tscore\environmentscope.cpp,136)]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="environmentscope.cpp:136">
<![LOG[m_pGlobalScope->open(), HRESULT=80070002 (e:\nts_sms_fre\sms\framework\tscore\environmentlib.cpp,321)]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="environmentlib.cpp:321">
<![LOG[this->open(), HRESULT=80070002 (e:\nts_sms_fre\sms\framework\tscore\environmentlib.cpp,533)]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="environmentlib.cpp:533">
<![LOG[hMap != 0, HRESULT=80070002 (e:\nts_sms_fre\sms\framework\tscore\environmentscope.cpp,136)]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="environmentscope.cpp:136">
<![LOG[m_pGlobalScope->open(), HRESULT=80070002 (e:\nts_sms_fre\sms\framework\tscore\environmentlib.cpp,321)]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="environmentlib.cpp:321">
<![LOG[this->open(), HRESULT=80070002 (e:\nts_sms_fre\sms\framework\tscore\environmentlib.cpp,533)]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="environmentlib.cpp:533">
<![LOG[hMap != 0, HRESULT=80070002 (e:\nts_sms_fre\sms\framework\tscore\environmentscope.cpp,136)]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="environmentscope.cpp:136">
<![LOG[m_pGlobalScope->open(), HRESULT=80070002 (e:\nts_sms_fre\sms\framework\tscore\environmentlib.cpp,321)]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="environmentlib.cpp:321">
<![LOG[this->open(), HRESULT=80070002 (e:\nts_sms_fre\sms\framework\tscore\environmentlib.cpp,533)]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="environmentlib.cpp:533">
<![LOG[!sVolumeID.empty(), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\tscore\resolvesource.cpp,467)]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="resolvesource.cpp:467">
<![LOG[!sVolumeID.empty(), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\tscore\resolvesource.cpp,467)]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="resolvesource.cpp:467">
<![LOG[!sTSMDataPath.empty(), HRESULT=80070002 (e:\nts_sms_fre\sms\framework\tscore\resolvesource.cpp,1395)]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="912" file="resolvesource.cpp:1395">
<![LOG[There is no TSM local data path being set]LOG]!><time="23:04:18.072+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="912" file="utils.cpp:1400">
<![LOG[Command line for extension .exe is "%1" %*]LOG]!><time="23:04:18.088+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="888" file="commandline.cpp:229">
<![LOG[Set command line: "X:\sms\bin\i386\TsProgressUI.exe" /Register:WinPE]LOG]!><time="23:04:18.088+000" date="01-19-2011" component="TSBootShell" context="" type="0" thread="888" file="commandline.cpp:707">
<![LOG[Executing command line: "X:\sms\bin\i386\TsProgressUI.exe" /Register:WinPE]LOG]!><time="23:04:18.088+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="888" file="commandline.cpp:805">
<![LOG[==========[ TsProgressUI started in process 924 ]==========]LOG]!><time="23:04:18.103+000" date="01-19-2011" component="TsProgressUI" context="" type="1" thread="928" file="winmain.cpp:327">
<![LOG[Command line: "X:\sms\bin\i386\TsProgressUI.exe" /Register:WinPE]LOG]!><time="23:04:18.103+000" date="01-19-2011" component="TsProgressUI" context="" type="0" thread="928" file="winmain.cpp:330">
<![LOG[Registering COM classes]LOG]!><time="23:04:18.103+000" date="01-19-2011" component="TsProgressUI" context="" type="1" thread="928" file="winmain.cpp:185">
<![LOG[sbModulePath = X:\sms\bin\i386\TsProgressUI.exe]LOG]!><time="23:04:18.103+000" date="01-19-2011" component="TsProgressUI" context="" type="1" thread="928" file="tsprogressuiclass.cpp:623">
<![LOG[Unregistering class objects]LOG]!><time="23:04:18.103+000" date="01-19-2011" component="TsProgressUI" context="" type="1" thread="928" file="winmain.cpp:503">
<![LOG[Shutdown complete.]LOG]!><time="23:04:18.119+000" date="01-19-2011" component="TsProgressUI" context="" type="1" thread="928" file="winmain.cpp:520">
<![LOG[Process completed with exit code 0]LOG]!><time="23:04:18.119+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="888" file="commandline.cpp:1102">
<![LOG[Successfully registered TS Progress UI.]LOG]!><time="23:04:18.119+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="888" file="utils.cpp:1922">
<![LOG[Failed to create instance of progress UI (0x800401F0)]LOG]!><time="23:04:18.119+000" date="01-19-2011" component="TSBootShell" context="" type="2" thread="888" file="bootshell.cpp:358">
<![LOG[Executing command line: X:\windows\system32\cmd.exe /k]LOG]!><time="23:04:23.423+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="888" file="bootshell.cpp:767">
<![LOG[The command completed successfully.]LOG]!><time="23:04:23.423+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="888" file="bootshell.cpp:850">
<![LOG[Successfully launched command shell.]LOG]!><time="23:04:23.423+000" date="01-19-2011" component="TSBootShell" context="" type="1" thread="888" file="bootshell.cpp:430">
January 21st, 2011 2:04am

<![LOG[Unable to find SOURCES\BOOT.WIM on any removable media]LOG]!><

Hello - It's seems some issue with Boot media ? Chek your boot media and try to recrea

Free Windows Admin Tool Kit Click here and download it now
January 21st, 2011 2:33am

Issue Resolved!

 

The boot disc was being mounted as a virtual CDROM through HP iLo, and there was a delay for the iLo mounted ISO to show up as a drive letter in WinPE.  In my smsts.log, it showed the SCCM build app check for BOOT.WIM only on D drive (physical), but the mounted ISO was actually on E drive.  By the time the ISO was properly mounted on E, the SCCM build app had already stopped.

 

I modified the \windows\system32\winpeshl.ini file in BOOT.WIM to add a 10 second delay before it attempts to launch the SCCM build app, so the file now looks like this:

[LaunchApps]

%SYSTEMDRIVE%\sleep.exe, "10"

%SYSTEMDRIVE%\sms\bin\i386\TsBootShell.exe

sleep.exe is not normally on the build disc, it was something I added myself.  Instead of sleep, you also simulate a delay with ping -n, or create a batch file that loops through checks for the existence of BOOT.WIM before TsBootShell is launched.

  • Marked as answer by Pea_Soup Saturday, January 22, 2011 4:10 AM
January 22nd, 2011 4:09am

Issue Resolved!

 

The boot disc was being mounted as a virtual CDROM through HP iLo, and there was a delay for the iLo mounted ISO to show up as a drive letter in WinPE.  In my smsts.log, it showed the SCCM build app check for BOOT.WIM only on D drive (physical), but the mounted ISO was actually on E drive.  By the time the ISO was properly mounted on E, the SCCM build app had already stopped.

 

I modified the \windows\system32\winpeshl.ini file in BOOT.WIM to add a 10 second delay before it attempts to launch the SCCM build app, so the file now looks like this:

[LaunchApps]

%SYSTEMDRIVE%\sleep.exe, "10"

%SYSTEMDRIVE%\sms\bin\i386\TsBootShell.exe

sleep.exe is not normally on the build disc, it was something I added myself.  Instead of sleep, you also simulate a delay with ping -n, or create a batch file that loops through checks for the existence of BOOT.WIM before TsBootShell is launched.

  • Marked as answer by Pea_Soup Saturday, January 22, 2011 4:10 AM
Free Windows Admin Tool Kit Click here and download it now
January 22nd, 2011 4:09am

This solution did not actually work for me on the HP Compaq dc7800 that's causing me problems, but I thought I'd add some clarification on what I did to implement the changes to winpeshl.ini in case anyone else tries this. 

I'm using SCCM 2007 SP1 + R2 and my boot images are occasionally built and updated by right-clicking on Boot Image in the SCCM console  and choosing Update Distribution Points. Rather than manually cracking open the finished .WIM file afterward to make these changes I wanted to do this in a way that would automatically be in place if I updated using that method. The process basically takes the base Boot.wim file and adds some components and drivers to it each time you update. Unfortunately the base Boot.wim file does not contain the winpeshl.ini file and adding it manually it got overwritten each time in the final WIM. So I ended up doing the following to both sleep.exe and winpeshl.ini to automatically get added properly to the final .WIM:

 

Step #1 - Add sleep.exe:

 

1. Back up the base Boot.wim file before you modify it.  I just copied mine to the same directory and named it Boot.wim.bak.

2. Mount Boot.wim to a local path using dism.exe. Here is the command I used; adjust for your particular environment. Please note that in this example D:\WINPEMOUNTPOINT is a blank folder that needs to be pre-created by hand.

dism /mount-wim /wimfile:"D:\Program Files (x86)\Microsoft Configuration Manager\OSD\boot\i386\boot.wim" /index:1 /mountdir:D:\WINPEMOUNTPOINT


3. Copy sleep.exe to D:\WINPEMOUNTPOINT\sleep.exe.  (I downloaded a copy from here: http://www.computerhope.com/download/utility/sleep.exe)
4. Unmount Boot.wim to save the changes.  Here is the command I used:

dism /unmount-wim /mountdir:D:\WINPEMOUNTPOINT /commit


Step #2 - Put winpeshl.ini in place:



5. Create a file named winpeshl.ini with the contents mentioned in this thread to the following location: [Program Files]\Microsoft Configuration Manager\OSD\bin\i386\winpeshl.ini

[LaunchApps]

%SYSTEMDRIVE%\sleep.exe, "10"

%SYSTEMDRIVE%\sms\bin\i386\TsBootShell.exe



Now if you rebuild your boot image you should have both files in the proper places and the sleep delay definitely worked as expected for me.  But it did not actually make wpeinit work properly. Even with a 60 second delay in place it still failed to initiate the network adapter properly and get an IP address. If I enable command-line support in the boot image, hit F8 to open a command prompt, and then manually run wpeinit it works every time. I'm not sure what's going on, but the problem only occurs with a bootable USB drive and not with a CD-ROM, so I'm sticking with the disc-based method for this machine type. It's only marginally slower. Hopefully others will have more luck getting it working. 
I'm posting the same instructions to this similar thread:  http://social.technet.microsoft.com/Forums/en-US/configmgrosd/thread/ab47fc6d-1369-4bf1-83b2-b0889ec35662
February 10th, 2011 7:38pm

I just deployed Forefront on SCCM. It's pretty cool.

 

 

 

 

 

 

 

 

Windows 7 Tutorials
Free Windows Admin Tool Kit Click here and download it now
February 11th, 2011 1:34am

http://blogs.technet.com/b/configurationmgr/archive/2010/10/21/osd-how-to-add-a-script-to-a-configmgr-2007-boot-image.aspx

Correct way to do it.  The way mentioned in previous posts won't work as sccm will replace the files when compiling the image.

April 17th, 2012 1:38am

**Update to quite an old post, but hopefully helpful to others**

I was experiencing the same problem when deploying Windows 8.1 to a new HP 705 G1. I used the standalone DVD option which created 2 separate ISOs. WinPE started but failed pretty much immediately with the dreaded error: "Unable to read task sequence configuration disk." 

Quick Solution: Create a second set of ISOs (Exactly the same as the first set) and connect a portable DVD reader to the computer. Insert ISO1 Disk. 

When you receive the Error press F8. This should open in x:\windows\system32\ 

"Run winpeshl.exe" - Your removable DVD drive should mount as E: and the task sequence should complete.

When it requests ISO2 it will eject the original ISO disk. Insert ISO 2 in here. (Not the portable DVD drive).

Free Windows Admin Tool Kit Click here and download it now
May 20th, 2015 9:34am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics