Once WinPE has booted, the TS boot shell is initiated from the SMS folder that's included in the WinPE image (this folder is injected into the boot WIM when it's imported into Configuration Manager). You can see this process logged in SMSTS.log that's located under X:\Windows\Temp\SMSTS\.
Note: To access this login WinPE, enable the command prompt on the boot image. To do this, right-click Boot Image > Properties > Customization, and then check Enable command support (testing only). You can then access the command prompt by pressing F8 in WinPE.
Here is the initial TS boot shell process:
SMSTS.log
========================[ TSBootShell.exe ]========================
Succeeded loading resource DLL 'X:\sms\bin\i386\1033\TSRES.DLL'
Debug shell is enabled
Waiting for PNP initialization...
RAM Disk Boot Path: NET(0)\SMSIMAGES\RR200004\BOOT.RR200004.WIM
Booted from network (PXE)
Network(PXE) path: X:\sms\data\
Found config path X:\sms\data\
This is not a fixed non usb disk
Booting from removable media, not restoring bootloaders on hard drive
X:\sms\data\WinPE does not exist.
X:\_SmsTsWinPE\WinPE does not exist.
Executing command line: wpeinit.exe -winpe
The command completed successfully.
Starting DNS client service.
Executing command line: X:\sms\bin\i386\TsmBootstrap.exe /env:WinPE /configpath:X:\sms\data\
The command completed successfully.
Followed by the Task Sequence Manager boot strap:
SMSTS.log
========================[ TSMBootStrap.exe ]========================
Command line: X:\sms\bin\i386\TsmBootstrap.exe /env:WinPE /configpath:X:\sms\data\
Succeeded loading resource DLL 'X:\sms\bin\i386\1033\TSRES.DLL'
Succeeded loading resource DLL 'X:\sms\bin\i386\TSRESNLC.DLL'
Current OS version is 6.2.9200.0
Adding SMS bin folder "X:\sms\bin\i386" to the system environment PATH
PXE Boot with Root = X:\
Executing from PXE in WinPE
Loading TsPxe.dll from X:\sms\bin\i386\TsPxe.dll
Once TSPXE is loaded, it downloads the TS variables using TFTP:
SMSTS.log
TsPxe.dll loaded
Device has PXE booted
Variable Path: \SMSTemp\2014.09.05.18.20.31.0001.{0C616323-A027-41B0-A215-057AF4F1E361}.boot.var
Succesfully added firewall rule for Tftp
Executing: X:\sms\bin\i386\smstftp.exe -i 10.238.0.2 get \SMSTemp\2014.09.05.18.20.31.0001.{0C616323-A027-41B0-A215-057AF4F1E361}.boot.var X:\sms\data\variables.dat
Executing command line: "X:\sms\bin\i386\smstftp.exe" -i 10.238.0.2 get \SMSTemp\2014.09.05.18.20.31.0001.{0C616323-A027-41B0-A215-057AF4F1E361}.boot.var X:\sms\data\variables.dat
Process completed with exit code 0
Succesfully removed firewall rule for Tftp
Successfully downloaded pxe variable file.
Loading Media Variables from "X:\sms\data\variables.dat"
Loading Media Variables from "X:\sms\data\variables.dat"
Found network adapter "Intel 21140-Based PCI Fast Ethernet Adapter (Emulated)" IP Address 10.238.0.3.
Loading Media Variables from "X:\sms\data\variables.dat"
Loading variables from the Task Sequencing Removable Media.
Loading Media Variables from "X:\sms\data\variables.dat"
Succeeded loading resource DLL "X:\sms\bin\i386\1033\TSRES.DLL"
Setting SMSTSMP TS environment variable
Setting _SMSMediaGuid TS environment variable
Setting _SMSTSBootMediaPackageID TS environment variable
Setting _SMSTSHTTPPort TS environment variable
Setting _SMSTSHTTPSPort TS environment variable
Setting _SMSTSIISSSLState TS environment variable
Setting _SMSTSLaunchMode TS environment variable
Setting _SMSTSMediaPFX TS environment variable
Setting _SMSTSPublicRootKey TS environment variable
Setting _SMSTSRootCACerts TS environment variable
Setting _SMSTSSiteCode TS environment variable
Setting _SMSTSSiteSigningCertificate TS environment variable
Setting _SMSTSUseFirstCert TS environment variable
Setting _SMSTSx64UnknownMachineGUID TS environment variable
Setting _SMSTSx86UnknownMachineGUID TS environment variable
At this point, TSPXE locates the Management Point (MP) and downloads policy before presenting the user interface for the user to select the optional Task Sequence:
SMSTS.log
site=RR2, MP=<http://ConfigMgrR2.CONTOSO.COM>, ports: http=80,https=443
certificates are received from MP.
CLibSMSMessageWinHttpTransport::Send: URL: ConfigMgrR2.CONTOSO.COM:80 CCM_POST /ccm_system/request
Request was successful.
Downloading policy from <http://ConfigMgrR2.CONTOSO.COM>.
Retrieving Policy Assignments:
Processing Policy Assignment {7898f153-a6de-43e9-98c3-ca5cc61483b0}.
Processing Policy Assignment {fba19677-0e9b-490d-b601-07e247979bd4}.
Processing Policy Assignment {6306ca4c-e7ed-4cf5-8419-af9b1695a909}.
Processing Policy Assignment {05a027ff-e9cf-4fa1-8bd8-4565481061e2}.
Processing Policy Assignment {b3c991f6-9f83-43c3-875c-f60c4492d278}.
Successfully read 152 policy assignments.
Lastly, the collection and machine variables are downloaded and the Welcome Page is activated:
SMSTS.log
Retrieving collection variable policy.
Found 0 collection variables.
Retrieving machine variable policy.
Downloading policy body {01000053}-{RR2}.
Response ID: {01000053}-{RR2}
Reading Policy Body.
Parsing Policy Body.
Found 0 machine variables.
Setting collection variables in the task sequencing environment.
Setting machine variables in the task sequencing environment.
Running Wizard in Interactive mode
Loading Media Variables from "X:\sms\data\variables.dat"
Activating Welcome Page.
Loading bitmap
Issue:
The active system partition on a MBR system must be NTFS.
Failed to prepare the system partition for staging.
And
The request is not supported. (Error: 80070032)
And
Failed to stage WinPE. CODE (0x80070032)
Cause:
The disk partitioning is creating problem, and WinPE is not able handle it.
Resolution:
-
Boot OSD PE
-
Press F8 (This needs to be enabled in your OSD PE)
-
Run 'diskpart'
-
type 'list disk'
-
type 'select disk 0' (should be zero, 1 should be the USB drive)
-
type 'clean'
-
type 'list partitions', it should be blank
-
type 'exit'
-
Reboot and rerun OSD PE.
-
Depending when the OSD wizard starts up you can do this beforehand, and then start the wizard saving a restart.
Issue:
"[...] Found 0 DPs in subnet, 0 DPs in local site, 0 DPs in remote location and 0 Multicast DPs [...] HRESULT=80040102 [...] Content location request for content package code, for example S0100006:1> failed [...]"(on smsts.log)
On Windows PE, the preparing network connections appear briefly and ABOUT 10 seconds later the client reboots. If you open a command prompt (pressing F8) before the client reboot and inspect the log file (X:\Windows\Temp\SMSTSLog\smsts.log) you will see the output listed above.
Cause:
No content location returned for the given package. In the example above, the package with code S0100006 is not being found
Resolution:
First of all, identify the package that is not being found. In order to do that, search for indicated package code. That package can be the boot image, the operating system image, or even a software package that you use in the task sequence. Then, for that package:
-
Check the server side to make sure the package is distributed to at least one distribution point (DP). On "SCCM / Site Database / Computer Management / Operating System Deployment / Boot Images / <Windows PE boot image> / Distribution Points" verify that you have at least one DP listed. You can try to remove and re-add your DPs. For more information see "Step 2: Add boot images to the PXE Service Point" above.
-
Verify the status of the package is "Installed" for the given DPs. On "SCCM / Site Database / Computer Management / Operating System Deployment / Boot Images / <Windows PE boot image> / Package Status / Package Status / <site>" verify that for each DP listed the state is "Installed". You can try to remove and re-add your DPs. For more information see "Step 2: Add boot images to the PXE Service Point" above.
-
There can be a problem with your PXE server certificate. If the certificate is not trusted you may not see the DP. On the console go to "SCCM / Site Database / Site Management / <site> / Site Settings / Certificates / PXE" select the certificates and right-click "Open". The "Certificate" window will open, click "Install", if it is not yet installed.
Testing WinPE-based sequence actions
Always configure advertisements with the following settings when using PXE:
Table 1. PXE-required settings for advertisements |
|
General page |
Make this task sequence available to boot media and PXE.Otherwise, the network client cannot receive the intended task from the Configuration Manager server. |
General page |
Browse to select the collection of the target server. |
Schedule page |
Mandatory assignments: “As soon as possible” |
Schedule page |
Program rerun behavior: “Always rerun program” |
Distribution Points page |
Access content directly from a distribution point when needed by the running task sequence.In WinPE, the default option of "Download content locally when needed by running task sequence" does not work. WinPE cause the task sequence engine to ignore all actions that have packages set for this option. |
Interaction page |
Show task sequence progress |
Always configure WinPE boot images with the following setting:
Restarting a failed PXE-based task sequence
-
You can troubleshoot a failed PXE-based task sequence.
-
Right-click on the computer you are testing, select Clear last PXE advertisement, select the advertisement, and click OK.
-
If you updated anything in the package used by the client, find the package under Software Distribution, right-click the package, then select Update Distribution Points.
-
If you updated any DLL associated with task sequences, go back through the task sequences and edit each step that uses that DLL. Task steps do not change automatically, but require that you edit them to pick up the updated DLL. All that is required is a keystroke in the Description box so that you can click Apply.
-
If you updated anything in the WinPE Boot Image, find the boot image under Operating System Deployment > Boot Images, right-click the image, then select Update Distribution Points.
Issue:
PXE Boot aborted. Booting to next device
Possible causes are:
This will happen when you are trying to image a machine second time.
OR
Task sequence is not advertised to a collection.
Logfile:
SMSTS.log and SMSPXE.log
Resolution:
Known Computers
If it is an already existing computer that is being reimaged, then you need to 'clear the last PXE advertisement'.
Right click on the Collection and select Clear last PXE advertisement.
After some time, you will find that this method no longer works. Then you can use the below method.
-
Find out the name of the computer you are trying to image. (If you don’t know the name, then try searching by the Mac address). Go to your OS distribution collection.
-
Open the collection properties.
-
Then, create a new direct membership rule. On the Search for the resources page, give Resource class as System Resource, then give the name of the computer.
-
On the select resources page, you will find that there are two entries (the second one is the new one you are imaging). Select both, and them.
-
That is it. Now SCCM will see your computer and the process will start.
Note: Sometimes, you need to restart the WDS service to make the change effective
Unknown Computers
For Unknown computers (bare metal), create a new Task sequence advertisement, and point it to the All Unknown Computers collection).
Again, restart the WDS Service.
Many Problem, One Place solutions.
Thanks & Regards,
Haresh Hirani
Email: [email protected], [email protected]
Facebook https://www.facebook.com/Hiraniconfigmgr-120189361980772/
Follow us: https://www.linkedin.com/in/hiraniconfigmgr
Twitter: https://twitter.com/hiraniconfigmgr
X
0 Comments
No Comments