Windows – Dell Latitude 3490 – MDT results in “No Boot Device Found”


We recently got in a batch of a new (to us) model laptop, Dell Latitude 3490. Whenever I attempt to deploy Windows 10 (Education, version 1709 x64), I end up at "No boot device found. Press any key to reboot the machine".

I found, downloaded, and imported the associated driver pack from Dell, and added that to the Windows 10 Selection Profile (which I verified as being used by this Task Sequence). We have other Dells and haven't needed it, but when this failed I added the Dell's WinPE driver pack to MDT and set up a Selection Profile for the WinPE image to use. I tried rebuilding with these BIOS options on and off:

  • Legacy Option ROM
  • Enable Legacy Boot
  • Secure Boot
  • SATA Operation (AHCI vs RAID)

The OptiPlex 3050s that we got in at the same time required the "Attempt Legacy Boot" option, which I was able to set as part of the MDT sequence – this option exists in the same place on the Latitude 3490s, but did not have the same affect.

I am getting 0 errors or warnings or otherwise bad vibes from PXE, WDS, or MDT. The build starts and progresses as expected through the Install Operating System step, and then goes to its reboot that should take it out of WinPE and into the OS to finish installing applications, but when it should boot to the internal drive it starts a diagnostic scan and then ends on "No boot device found".

By default (and this works on all other models), MDT tries to format BIOS and also UEFI – I tried disabling one or the other, no dice.

The drive itself works – I can see it in diskpart in WinPE, it shows up in the BIOS, the Windows that came on it works, and I can install the same Windows image from a base ISO on a USB drive.

When I successfully install Windows from a USB drive, Diskpart looks like this:
Volume — Ltr — Label — Fs — Type — Size — Status
Volume 0 — C — System Rese — NTFS — Partition — 549MB — Healthy
Volume 1 — D — — NTFS — Partition — 118GB — Healthy

I tried to recreate that as best as possible (disabling the default options):

Format and Partition Disk

No change with that. If I PXE back in to WinPE and check Diskpart, list volume shows basically identical, just with the Volume 1 (D:) being labeled OSDisk which is how it is named in MDT.

Versions and such

  • DHCP: Windows Server 2008 R2 (options 66 and 67 set to point at the WDS box)
  • WDS: Windows Server 2012 R2
  • MDT: 8450
  • Clients: Windows 10 Education, version 1709 x64

Best Answer

To provide some closure, this was the answer:

I had to add a DHCP Policy to treat legacy and UEFI clients differently. I had to wait until our DHCP server (2008 R2) was replaced with a (2016) new one sometime that summer. I basically followed this guide: . I'll repost the text here in case that URL goes down.

Defining DHCP Vendor Classes

  1. Go to DHCP, right-click on IPv4.
  2. In the DHCP Vendor Classes window, click Add
  3. For the Name enter PXEClient (UEFI x86).
  4. For the Description enter whatever you want.
  5. Under the ASCII text enter PXEClient:Arch:00006 (you will not be able to paste this text, and it’s also case-sensitive)
  6. Click OK to add it to the list.
  7. Now repeat steps 2 – 6 for PXEClient (UEFI x64) with PXEClient:Arch:00007 as the ASCII value.
  8. Finally, repeat steps 2 – 6 for PXEClient (BIOS x86 & x64) with PXEClient:Arch:00000 (five zero’s) as the ASCII value.

Defining DHCP Policies

  1. Go to DHCP and expand the scope you wish to create a policy for.
  2. Right-click on Policies and choose New Policy.
  3. Enter PXEClient (UEFI x64) for the name.
  4. Enter a Description, or leave it blank. Click Next.
  5. On the Configure Conditions for the policy screen, click Add.
  6. In the Add/Edit Condition window, click the Value: drop down menu.
  7. Choose the PXEClient (UEFI x64) vendor class you created earlier.
  8. Tick the Append wildcard(*) check box and then click Add and finally OK.
  9. Click Next on the Configure Conditions for the policy screen.
  10. On the Configure settings for the policy screen, click No for the Do you want to configure an IP address range for the policy. Click Next.
  11. Please Note: if DHCP is on the same server as WDS, you will need to set option 060, if WDS is on a different server, you do not need to set option 060.
  12. On the Configure settings for the policy screen, scroll down until you see options 060 (if applicable), 066 and 067.
  13. Tick option 060 and enter PXEClient if applicable.
  14. Tick option 066 and enter either the FQDN or the IP address of the WDS server.
  15. Tick option 067 and enter boot\x64\wdsmgfw.efi – this is the x64 UEFI boot file for WDS. Click Next.
  16. On the Summary screen, if all the details are correct, click Finish.
  17. Now repeat steps 2 – 14 for PXEClient (UEFI x86) with boot\x86\wdsmgfw.efi as option 067.
  18. Finally, repeat steps 2 – 14 once again for PXEClient (BIOS x86 & x64) with boot\x64\ as option 067 and leave option 060 empty.