In this post we are going to configure SCCM PXE Boot environment which enables us to deploy operating system in the environment.

Enabling PXE will allow us to do PXE Boot helping us to load boot image and selecting the Task Sequence to continue the build.

Enable PXE through Distribution Point Properties

Launch SCCM Console, navigate to \Administration\Overview\Site Configuration\Servers and Site System Roles. Select existing System system, under Site System Roles, you will be seeing all roles installed on the server including Distribution point role.

Right click Distribution point, and select Properties to launch Distribution point Properties. Click on tab PXE.

Check the box Enable PXE support for clients, this will eventually launch popup showing prerequisites related to ports we need to open, in case if these ports are not opened we need to configure firewall rules.
For PXE requests: UDP port 67,68,69 and 4011 is required.
For operating system installation:  UDP port 69 is required.

Click on Yes to continue. By selecting this SCCM will automatically install the required role on the server ie. Windows Deployment Services.

On same page, do following:
check the box: Allow this distribution point to respond to incoming PXE requests
check the box: Enable unknown computer support
Uncheck the box: Require a password when computer use PXE

Click on ok to initiate WDS Role and PXE configuration required for Distribution Point.

Installation of PXE Configuration can be verified through distmgr.log located under Microsoft Configuration Manager\logs folder.

Distmgr.log will show following Powershell command executed to install WDS Server:

PowerShell.exe -Command Import-Module ServerManager;
Get-WindowsFeature WDS; Add-WindowsFeature WDS.

Further we will also see,

Deploy boot image to PXE-enabled distribution point

Navigate to \Software Library\Overview\Operating Systems\Boot Images, select Boot Image (x64) right click and properties, click on tab Data Source and make sure option is selected for Deploy this boot image from the PXE-enabled distribution point. This will deploy the boot image to PXE Share ie d:\RemotInstall folder which gets created as part of WDS role. Distribute the boot image on DP.

Do the same for Boot Image (x86) as well.

Verify WDS and PXE Configuration

Once PXE is configured, it will create new log file with the name smspxe.log, this is a very important log file helping us troubleshooting the PXE issues. Smspxe.log will show the boot images initialized and ready to be used.

Both boot images can be verified under location d:\RemotInstall\SMSImages.

At the same time, Boot files can also be verified under d:\RemoteInstall\SMSBoot\x64 and d:\RemoteInstall\SMSBoot\x86. These are the files required for PXE boot process which will help further help loading the boot image:

We can also see Service Windows Deployment Services Server showing up and running which is required for successful PXE process.

Create 2 bare metal machines on Hyper LAB (for Legacy & UEFI)

Create PXETEST-BIOS (For Legacy Boot)

Launch Hyper-V Manager, right click New > Virtual Machine, under page Specify Name and Location specify name as PXETEST-BIOS. Click on Next.

Under page Specify Generation, select Generation 1. By selecting this option we are making this system BIOS as Legacy which is compatible with both Windows 7 and Windows 10 versions (including Windows 8, 8.1 as well).

Under Assign Memory page, provide startup memory as  4GB ie 4096 MB.

Under Configure Networking page, select connection as Internal, make sure SCCM and AD Server both are connected to same internal network ie Internal to be on the same network.

Click next under Connect Virtual Hard Disk page.

Click next under Installation options, as we are going to use PXE no other configuration is required at this page.

Click on Finish to complete the wizard.

We are not going to make a change now under network properties to support Legacy Boot. Right click the system PXETEST-BIOS and click on settings. Select Add Hardware and select Legacy Network Adapter and click on Add.

Select newly created Legacy Network Adapter on left pane, under right pane select appropriate Virtual switch, in this case we are going to select Internal.

Select previously created Network Adapter on left pane, under right pane click on Remove. As Legacy Network Adapter is the only supported one BIOS based systems.


Follow same previous steps from 1 to 7. Only difference is on Step No 2 by selecting Generation 2. There is no need to perform step 8,9,10 as Generation 2 systems supports PXE boot using default Network Adapter setting.

Test PXE Boot

Test PXE Boot (for BIOS)

Right click system PXETEST-BIOS and select connect to launch the system. Click on Start.

System will get IP from DHCP Server and then contact WDS Server and finally you will see:
Press F12 for network service boot.

Once we press F12, boot image we start loading from WDS Server remote install folder ie.

Once boot image is loaded, it will take us to Task Sequence Wizard window where we can click next and can go with deploying operating system.

Test PXE Boot (for UEFI)

Same way we can launch UEFI system, which will show something different what we saw for BIOS.

However, process will remain same. We need to press F12 once we see Press ENTER for network boot service.

WinPE boot image will load with Task Sequence Wizard window.