KNOWN ISSUE: PXE Server not listed in the PXE Servers list on the PXE Server Configuration Policy page

book

Article ID: 152270

calendar_today

Updated On:

Products

Deployment Solution

Issue/Introduction

In certain environments, even though all SBS(PXE) services are active, the SBS(PXE) Server(s) are not listed in the PXE Servers list on the PXE Server Configuration Policy page.

Cause

To explain the cause of this issue, it is necessary to understand the process that populates the PXE Servers field when the SBS(PXE) services are started.   In DS 7.1, there are four PXE services:
  1. _Symantec_netBoot_Interface
  2. _Symantec_netBoot_Mtftp
  3. _Symantec_netBoot_NSiSignal
  4. _Symantec_netBoot_Server

The role of each of these services is described in other KB articles.(cite)  For our purposes we will only be discussing the _Symantec_netBoot_NSiSignal and _Symantec_netBoot_Server services, as they are the two services that work together to populate the PXE server field.

To populate the PXE Server field, first start the _Symantec_netBoot_NSiSignal service followed by the _Symantec_netBoot_Server service.  As shown below, the _Symantec_netBoot_NSiSignal service does the work to populate the PXE server field; however, it doesn't do this unless the _Symantec_netBoot_Server is also running.

The  _Symantec_netBoot_NSiSignal service starts the process by reading the SbsNSiSignal.ini file to find the location of the PxeStartupInfo.exe file (both of the aforementioned files are located in the ...\SBS directory).(1)(2)  After the location of PxeStartupInfo.exe is found, it is executed.  PxeStartupInfo starts by reading the value of the 'HasSBSRegistered' registry key located at 'HKLM\Software\Altiris\Deployment\Symantec Boot Services'.  This process can be seen in the 'PxeStartupInfo.log' file located in the 'Windows\system32' directory:

5/7/2010 11:10:25 AM    Entering Main function
5/7/2010 11:10:25 AM    Successfully reads the registry value of HasBeenRegistered Key
5/7/2010 11:10:26 AM    The machine Guid fetched from the registry is 0F82E0EB-C001-4EDE-94D1-292E6FCEDE31

If the value of the key is set to '0', PxeStartupInfo.exe fetches the GUID of the system from the registry.  It then takes this GUID and the IP address of the system and populates the 'sbs_ServerList' within the 'Symantec_CMDB' database.  The 'HasSbsRegistered' key is set to '1' to tell the PxeStatupInfo.exe executable that the next time it is ran, it does not need to run thru this process as it has already been completed. Finally, the NS console reads the GUID and IP address from the aforementioned table, resolves the GUID, and displays the PXE Server to the 'PXE Server Configuration' policy page.

Having established the PxeStartupInfo process, we can now exame the cause of the issue. On some systems, the first time that the two services listed above are started, the 'HasBeenRegistered' key is getting set to '1' even though the 'sbs_ServerList' is not being populated.  The 'PxeStartupInfo.log' file will only show the following if this error has occured:

5/7/2010 11:10:25 AM    Entering Main function

No other entries will be made in the log because PxeStatupInfo.exe is incorrectly informed that the table has already been populated.

(1) PxeStartupInfo.exe has many purposes but, for our discussion, I will only describe how it populates the PXE Servers field.
(2)
Note: To learn more about the other purposes of PxeStartupInfo.exe, gather the pxestartupinfo.log files located in the 'windows\system32' and '..\SBS' directories. Open the pxestartupinfo.log file located in 'windows\system32' first and when done continue reading the pxestartupinfo.log file located in the '..\SBS' directory.  There are two log files because of bug in the code that has already been addressed in the next release of DS 7.1 due out fourth quarter 2010.

Resolution

To populate the PXE Server field do the following:
  1. Open the registry using regedit and browse to 'HKLM\Software\Altiris\Deployment\Symantec Boot Services'.
  2. Double-click on the 'HasSBSRegistered' key in the right panel and set the value to '0'.   
  3. Restart the '_Symantec_netBoot_NSiSignal and _Symantec_netBoot_Server' services.

PxeStartupInfo.exe will now update the 'sbs_ServerList' table and the PXE Server field will be populated on the 'PXE Server Configuration' policy page.

One customer reported success when he copied the file initialpxeconfigpath.txt from Notification Server to the child server.


Applies To

Notification Solution 7.0 SP4 with Deployment Solution 7.1 installed.

This issue may also occur on any site server that has Deployment Site Handlers installed.