Thursday 15 August 2013

HP Elitepad 900 Deploying Windows 8: UEFI and MDT2012

I have been having a bit of a nightmare the last few weeks. We have an Elitepad 900 on loan from HP to trial with our sales staff, of course if we are wanting to give out 30-50 of these we want to use our MDT infrastructure. I have finally got it working but there are a fair few hurdles.

UEFI Native Mode Only

The only ways to boot an Elitepad 900 is using a UEFI enabled PXE or USB boot device running Windows PE4.0. So basically this means for PXE boot you need to be running Server 2012, you also need to use the Windows ADK and not the Windows AIK, as that gives you PE4.0. Which leads to hurdle number 2.

MDT2012 cannot locate an ADK or AIK Install

So I have my Server2012 with MDT2012 U1 and the latest ADK (8.1) however MDT2012 reports it cannot find it.  I tried allsorts with this one, in the end I rolled back to the ADK 8.0 and the problem went away. http://www.microsoft.com/en-gb/download/details.aspx?id=30652 A lot of links take you to the 8.1 Preview so it's worth checking.

So now we can create our PE4.0 boot media. You will need to add the Elitepad drivers to get network support, you may also want to add the drivers for the touch screen. You need the Driver and Firmware update pack from here . You will need to extract it with the /e /f <foldername> before importing it.

One thing to note if you aren't aware UEFI boot requires a FAT32 device, it cannot read NTFS.

It's worth noting you don't need to modify your task sequences for UEFI despite what HP tell you to do if you read their deployment guide. MDT2012 is UEFI aware and if the device is in native mode it will set an IsUEFI variable to True and will automatically partition the drives accordingly despite the task sequence being set to MBR it will create the EFI, MSR and NTFS partitions.

So now we can boot into our deployment environment and run the deployment wizard. It all runs well until it gets to the Install Operating System Task which leads to hurdle number 3.

LTIApply FAILURE ( 5616 ): 87: Verify BCDBootEx

I spent days on this one due to a few red herrings, but as always it is actually quite straight forward, although as a result it does mean that it's impossible to deploy to a native UEFI device without making this modification.

The LTIApply.log file (From c:\windows\temp\deploymentlogs) shows the command that caused the error cscript.exe //nologo "\\server\deploymentshare$\Scripts\ztiRunCommandHidden.wsf" ""\\server\deploymentshare$\Tools\X86\BCDBoot.exe" C:\windows /l en-US  /s V: /f UEFI"

It turns out that this version of BCDBoot.exe is 6.1 not 6.2 so it's from some point in the Windows 7 era hence doesn't support the UEFI command. This file isn't actually required as it is included in the source so I just removed it, the other utilities in there are just as old so it may be worth removing them as well.

Once the BCDBoot.exe has been removed Windows 8 will deploy successfully.

I have since discovered the source for this is the fact I was replicating from our older system, so in a pure 2012/PE4.0 environment this situation wouldn't occur.








4 comments:

  1. Narcy, I have an ElitePad 900 that is running Windows 8 right now. I want to blow away the current install and start fresh. I have Windows 8 iso's - what is best way rebuild the ElitePad?

    Should I somehow boot to a USB stick that has the Windows 8 media?

    Thanks for your guidance.

    ReplyDelete
  2. 1st make sure you are running the latest Elitepad Firmware, you will then need to use the windows 7 usb download tool to make a bootable USB stick from the iso

    http://www.microsoftstore.com/store/msusa/html/pbPage.Help_Win7_usbdvd_dwnTool

    You should then be able to boot Windows 8 setup from the USB stick.

    ReplyDelete
  3. Thanks for help Narcy. How do I ensure I am running the latest firmware?

    ReplyDelete
  4. You can download the latest from the HP Website, chances are if you haven't done it then it won't be up-to date. The version ours shipped with couldn't boot USB devices so I had to upgrade it.

    I no longer have one in my possession so I'm not sure how to check version.

    ReplyDelete