Deploy Windows 8 Enterprise x86 on a UEFI x86 device using SCCM 2012 SP1

New Toys For The Boys

Don’t we all love new toys, especially the ones that require an occasional recharge.

The latest thing I got my hands on is the Lenovo Tablet 2, a very nice 10” tablet thing, with a couple of nice add-ons, like a docking  station, Bluetooth keyboard and a pen like stylus. But what I really like about it is that it runs a full version of Windows 8 x86, which means that I can deploy its OS over and over again Smile 

So I fired up my SCCM Console to do exactly that …

The Drivers

First off I needed a driver package and Lenovo has been kind enough to supply a ready-made kit for SCCM.

Which can be downloaded from this URL http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS033326

After unpacking the kit, I imported the driver package without any issues

image

Reading through the readme file for the Lenovo driver kit, I found out that a few extra steps would be required to completely support the Tablet 2 device. The Mobile WAN device need a software package to be installed, and KB2761094 must be installed to remove two “yellow marks” in the device manager. So I added a package for each of these issues.

Mobile WAN device Package

I downloaded the driver for the Ericsson WAN device and got a Lenovo installer and a setup.exe (the only thing actually needed)

I created a package containing the setup.exe file and and program that runs the following command:

setup.exe /zGPS=0 /S

KB2761094 Package

I then downloaded the KB from Microsoft, and ended up with a file called Windows8-RT-KB2761094-x86.msu

I created a package containing this file and a program with the following command:

wusa.exe Windows8-RT-KB2761094-x86.msu /quiet /norestart

The Image

As SCCM 2012 SP1 supports using the install.wim file from a Windows source ISO, I opted for this to save the time to build and capture a new image.

So I added my install.wim from the Windows 8 x86 Enterprise ISO to SCCM.

image

The Task Sequence

I created a completely basic Task Sequence to deploy the image, the TS was using the normal x86 boot image.

image

I added the required steps to install the driver package, and the two extra packages, all were limited to only run on the Lenovo device using the classic WMI query trick.

The Boot Media

I created a completely standard ISO boot media and copied the content to a USB that was prepared using diskpart and formatted with FAT32.

The first attempt

Being a UEFI only and keyboard-less device, the Lenovo Tablet 2 device, required some special tricks to boot from USB.

I spend quite a lot time to figure this out so I just cut it short and list my findings:

  1. The device must be placed in the dock
  2. The USB stick must be connected to the dock
  3. You can connect an external keyboard, but only to the dock
  4. To access the BIOS you must power off the device, and hold volume-up and the power buttons until the Lenovo logo appears, then let go and the BIOS appears
  5. You must change the boot order to have the USB device on top
  6. There is no known way to select the boot device during startup
  7. PXE boot will NOT work using the nic port in dock, only using the USB nic dongle
  8. Secure boot must be disabled (remains to be tested further)

<Insert a lot of trial and errors here>

I came to a point where I could not find any way to have the device boot on the USB, so in shear desperation I took my trusted Windows 8 install media USB stick and tried that.

And then the “miracle” occurred, it booted up without any problem at all.

As the sticks were created in the same way using diskpart and FAT32 formatting, I started to look for the less obvious things like what files where on the devices.

Browsing through the folders, I came across a file called bootia32.efi, which was present on the Windows 8 media USB stick in a folder called EFI\boot. The file was not found on the SCCM USB stick.

I did a quick google for that filename, and the results indicated a relation to UEFI, so I took a dive and copied the file to my SCCM USB stick and tried one more time.

Finally some progress …

Now the device actually booted up from my USB stick and started the deployment process, but stopped prompting that there was no NIC found.

NIC driver for the boot image

So I went back to my driver package and looked for any net devices in the list, and found two

image

I then added the LAN9500 USB driver to my boot image, updated this and built a new boot media ISO, and copied the content to my USB stick, and finally added the bootia32.efi file.

Success at last

Now everything was working, the device booted up, found the NIC and started deploying the image.

The result

I ended up with a fully functional device, touch was working, tilt sensor was working, even the mobile WAN detected and working. The only thing I didn’t solve was the two yellow marks in the device manager, so I guess KB2761094 was not taking effect, and I’ll need to look into that sometime soon.

The essence of this is

If you want to boot a 32 bit UEFI device from USB or ISO media, you need to add the bootia32.efi to your media.

Okay but what about PXE booting UEFI 32 bit devices you may ask

And that is a really good question, but I can’t answer that right now as I don’t have an USB NIC adapter for the Tablet 2, but I can tell you two things you will need:

  • Your DP MUST run on a Windows Server 2012, older Windows Servers will not support UEFI PXE boot
  • You must install SCCM 2012 SP1 CU1 to support UEFI 32 bit devices on your DPs

I will update this section with more info when I get my hands on the NIC dongle

About the Author:

Ronnie Jakobsen

Twitter: @RonnieJakobsen

14 Comments

  1. Lars Dalgaard-Madsen April 4, 2013 at 10:08 - Reply

    Hi Ronnie

    Interesting blok 🙂

    You could have bought the small 32 Gb. Tablet. It ships with at USB stick, With image and drivers.

    Reg.

  2. Michael April 18, 2013 at 13:28 - Reply

    6.There is no known way to select the boot device during startup

    F12? – work fine 🙂

  3. Ronnie Jakobsen April 18, 2013 at 13:30 - Reply

    Didn’t Work for me, are you by any chance using the USB NIC dongle?

  4. Jaren April 29, 2013 at 23:19 - Reply

    Thanks for the article!

    I also got f12 working. It’s finicky – you have to hold it down as soon as the green light by the webcam comes on, till at least the Lenovo logo. then on an external USB keyboard (attached to the dock) you should be able to select up /down for pxe or usb.

    however.. as this device is uefi only, perhaps this menu is stored on a partition that you deleted?

    https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface
    ” it uses a special partition in the partition table called EFI SYSTEM PARTITION in which files required to be launched by the firmware are stored. Each vendor can store its files under /EFI// folder and can use the firmware or its shell (UEFI shell) to launch the boot program. An EFI System Partition is usually formatted as FAT32.”

    ill do some testing.

  5. Ryan Steele May 28, 2013 at 20:05 - Reply

    I also found that using F12 to choose the startup device was unreliable. I suspect it may have something to do with the “Windows Boot Manager” device that gets added to the startup device list each time Windows boots.

    Is there a particular reason you created the boot media by copying from an ISO, rather than just selecting the “USB flash drive” option in the “Create Task Sequence Media” wizard?

    I believe it’s actually KB2756872 which is supposed to remove the two “yellow exclamation mark” errors from Device Manager. In theory, you should be able to add this update to the Windows 8 OS image using Scheduled Updates. I haven’t tested that yet though.

    The one glitch I encountered was that none of the drivers seemed to install. I am using the “Auto Apply Drivers” task rather than applying the specific driver package I created, which may be why it’s not working. I may try disabling that and applying the driver package directly.

  6. Ronnie Jakobsen May 28, 2013 at 21:56 - Reply

    I created the boot media using a ISO file as my server is running on a hyper-v host and therefore cannot see USB devices, which can be circumvented by installing the SCCM console on a physical machine.

    You are correct on the KB number, I will update the blog entry soon to reflect this.

    I heard from a friend that he had have the same bad experience with Auto Apply Drivers, it worked for him when using a driver package like I did.

    Thanks a lot for your comments

  7. Mike Compton June 25, 2013 at 14:52 - Reply

    THANK YOU!!!!!!!! Why on earth do MICROSOFT not copy the correct MICROSOFT efi files (bootia32.efi or bootx64.efi) when generating the files for the boot media (whether ISO or USB). The device simply will not boot without them, so it is utterly critical. I have found no other documentation anywhere on the internet to point this out.

  8. pdawg July 26, 2013 at 2:16 - Reply

    Wow!

    Thanks so much for this. Trying to get the tablet to run the SCCM boot USB was driving me insane til I came across your blog!

  9. Miagi October 21, 2013 at 14:39 - Reply

    Thanks for a great guide. My deployment is now working but the step where the install.wim gets downloaded is taking forever(2+ hours). Any idea on where the bottleneck can be located?

    • Ronnie Jakobsen
      Ronnie Jakobsen October 21, 2013 at 20:08 - Reply

      That is very slow, can you elaborate a little on your setup? Fell free to contact me by email if you like.

  10. Darren Milne December 4, 2013 at 8:43 - Reply

    Thanks for the post, very helpful for me to get our StorageCraft imaging software booting on the Lenovo Tablet2 device.

    I am having trouble deploying Windows 8.1 to the Tablet2 via MDT 2013.

    The only drivers in the deployment database is the Tablet2 SCCM driver pack from the Lenovo website, however one particular driver causes Windows to stop at a black screen on first boot from the HDD (after the successful deployment to the HDD off the LightTouch USB stick).

    I have traced the problem driver to: TP_Tablet2_WB32_201311ChipsetGEHSC2WWIPC

  11. Kyle Reyes October 21, 2014 at 23:55 - Reply

    Hello! I have been following your steps to attempt to deploy Windows 8.1 to some Tablet 2’s in my environment. No matter what I do though, I constantly get a “Failed to find a valid network adapter” error once I’ve booted to the media. I know I have the driver you do, as well as have ensured it’s loaded in the boot image.

    Any help or ideas would be GREATLY appreciated!!!!

  12. Warren March 18, 2015 at 9:44 - Reply

    So I just found a NIC driver that works with the dock. I have not added it to my boot image yet, but manually loading it from an F8 command prompt in WinPE worked using drvload. Its a Realtek driver and the download can be found here. http://support.lenovo.com/au/en/documents/ht101981

    Hope this helps someone.

Leave A Comment