Client PC,Notebooks and Tablets can PXE boot and download the images from a server. This method supports both UEFI and Legacy modes. For that to work on a single server, the PXE boot menu will provide 4 boot options.
In this example server 2012 standard operating system was used.
DHCP server installed within server 2012 installation on the same unit
Set a a static IP address 192.168.0.55 for the Server
-attach a network cable going to a switch- often static address does not take effect without this
-default gateway and DNS leave blank-
Change Server name to something more memorable- as this name will be used in later steps
-change it to Imageserver
Add DHCP server
in Server manager Dashboard- Manage–Add Roles and Features-
-changed server name and static IP address should be visible – Just follow the prompts- select DHCP and select Features pop up
Once DHCP installation is complete- in the same screen select ‘Complete DHCP Configuration’ commit.
start DHCP- add a new scope 192.168.0.1 to 192.168.0.200 exclude server IP 192.168.0.50 192.168.0.60
-select configure other options later-
if there is a red mark on scope-right click scope and ‘Activate’
Install Solarwinds TFTP server
It may ask for Net Framework 3.5- install from server Manager Dashboard-Manage- add roles and Features-Select features this time- check network 3.5 features box — Must select ‘specify an alternate source path’ at the bottom of this window put your server installation media, DVD or USB and specify this path with correct drive letter
D:\Sources\sxs\ install solarwinds TFTP now
Solarwinds TFTP server will create a folder in C:\ called TFTP-Root. This is the Solarwind’s default folder for boot files.
Create another folder called ‘ Boot’ in this folder. This folder will host all the PXE boot files.
Create another folder inside C:\TFTP-Root and name it ‘Boot’
Make TFTP-Root a shared folder.
‘Boot’ folder will keep the PXE capable boot files and when a client PXE boots, it will boot from the files compiled here.
Mount the boot.wim file from the ‘Media’ folder created when making a bootable USB
Refer to this article for making USB and mounting boot.wim. ADK installation is required. It is explained in this article
In the mounted boot.wim -windows-Boot folder. There is a PXE folder. Copy all the contents of PXE folder to C:\TFP-Root\Boot folder.
Copy boot.sdi from Media\Boot to C:\TFTP-Root\Boot
This is optional, Copy true type Fonts folder from Media \Boot to TFTP-Root\Boot
Copy boot.wim from Media\Source to C:\TFTP-Root\Boot
-You have to copy both 64-bit and 32-bit. Since both are named boot.wim and cannot be in the same folder, name the 32-bit x86.wim and 64-bit x64.wim. Both these wim files are not ready yet. These need to be mounted and commands added to connect to the images folder
EDIT wim Files
In the mounted folder windows-syatem32 , you have to add two files winpeshl.ini and connect.cmd
You can download the files from here -or use the script to create
Change connect.cmd to reflect your server name password, drive letter and share name
Unmount the wim file with commit command
Do the same for x64.wim
Copy both files to TFTP-Root\Boot folder
A boot configuration Data file needs to be created and copied to TFTP-Root\Boot folder. This BCD file will show multiple operating systems to boot, as in the screenshot at the top
I have created this BCD file and it can be downloaded from below. –or batch file to create –or script of batch file
Copy BCD file to TFTP-Root\Boot folder.
IF DHCP was set correctly, TFTP server is running without errors, all the necessary files are in the boot folder and sharing is enabled, pxe boot client machine, it should connect to the server show the boot manager’s four options screen. Select the applicable one.
How to Setup Mixed Mode Boot on the same Server- UEFI and Legacy
For Legacy and UEFI to work together in a single server vendor classes needs to be defined
In DHCP – right click on IPV4 and select Define Vendor Classes, select Add
Give it a display name of UEFI64- description can be UEFI 64 boot or any other-
Under ASCII type PXECLIent:Arch:00007 this will appear in multiple lines and will generate a code on the other side- Type exactly as shown . It is case sensitive. -and click OK
Create another one for UEFIx86 – right click IPV4 again and select Define vendor classes Give display name UEFIx86
Description any- Type uder ASCII PXECLient:Arch:00006 – and click OK
The above two are for UEFI
Foe legacy create another ,type under ASCII PXEClient:Arch:00000
In DHCP-right click Policies-New Policy type a policy name i.e ‘UEFIx64’ in Description ‘UEFIx64 Policy’
Next- Add- in ‘value’ drop down menu select UEFIx64- check Append Wildcard- click ‘Add’-Next
set 066 to server IP address
067 to \boot\bootx64.efi -click OK
this needs to be repeated for UEFIx86 and Legacy- three policies will be created in the end
For UEFIx86 the 067 boot file name should be \boot\boootia32.efi
For Legacy 067 file name \boot\pxeboot.n12
— if it seems that the policy settings are not taking effect, the indication is when it boots from the file name in server boot options instead of policy, then go to IPV4 right click and define vendor classes DELETE the offending entry- close – before creating vendor class delete the corresponding Policy entry as well. Now create first the ‘Define Vendor class’ and create policy for it again. This worked.–
shared image folder should be created-ghost 32 is in a ‘es’ folder in shared images folder
Note: Ghost here is shown as an example. It is a paid program; you have to purchase a license to use it. But it is the most user friendly and reliable program for imaging on the planet. Ghost 12 fully supports UEFI architecture. You can use any other program here that works similar to ghost if you already have the license for it.
Please share your thoughts below. This may not be as detailed but if you have any questions please let me know.