Deploy a WinPE 2.0 image using PXE and the WAIK#
This post is a follow-up to my previous post on Installing Vista on your Toshiba M200. It does not stand on its own, so please go read that post first to get some background. I've received more hits and questions about that post than any other. Unfortunately, I am neither a Vista, WinPE, PXE, WAIK, nor BCDEDIT expert. I copied the commands from the Microsoft documentation, then did a bunch of trial-and-error troubleshooting because of the errors in that documentation, and was lucky enough to get it to work. I documented the corrections I made in my article so that others could overcome the problems, and skip the trial-and-error step. But apparently, my instructions weren't much better, people didn't follow them close enough, or some other environmental issue is interfering. Since I cannot possibly give one-on-one support for everyone struggling through this process, I figured a second stab at documenting my steps might be helpful. This time, instead of documenting where to alter the Microsoft instructions, I just document each step exactly as I performed them - mostly copied verbatim from the WAIK User's Guide. The most commonly reported error people are seeing is:
File: \boot\BCD
Status: 0xc0000022
Info: An error occured while attempting to read the boot configuration data

That means people had trouble with the BCDEDIT steps, which is not surprising, since that is the part of the documentation with the most mistakes.

So here are the command-line commands as I entered them, to create a working PXE boot with a valid BCD file. My instructions involve a technician computer running WinXP, which also serves as my TFTP server using tftpd32.exe. I also use VirtualPC on the technician computer to run WinPE 2.0 (see the previous article on how to create this VirtualPC). Step 1 and Step 2 correspond the the steps in the WAIK User's Guide article mentioned in the previous post.

Step 1 - Run these commands from the XP technician computer. My TFTP server is installed at c:\apps\tftpboot. Make sure you substitute the appropriate path for your environment.

Click Start, point to Programs, point to Windows AIK, and then click Windows PE Tools Command Prompt

Enter the following commands at the command prompt. Each bulleted item is a single command and should be typed on one line (even if it wraps to a new line in your web browser).

  • copype x86  c:\winpe_x86
  • imagex /mountrw c:\winpe_x86\winpe.wim 1 c:\winpe_x86\mount

Your command prompt should now have been changed to c:\winpe_x86

  • md c:\apps\tftpboot\boot
  • copy c:\winpe_x86\mount\Windows\Boot\PXE\*.* c:\Apps\tftpboot\boot
  • copy "c:\Program Files\Windows AIK\Tools\PETools\x86\boot\boot.sdi" c:\apps\tftpboot\boot
  • copy c:\winpe_x86\winpe.wim c:\Apps\tftpboot\boot

Step 2 - Run these commands from your Vista / WinPE 2.0 VirtualPC computer. After booting WinPE 2.0, you will automatically be presented with a command prompt. If runnning on Vista, open a command prompt.

  • bcdedit -createstore c:\BCD
  • bcdedit -store c:\BCD -create {ramdiskoptions} /d "Ramdisk options"
  • bcdedit -store c:\BCD -set {ramdiskoptions} ramdisksdidevice  boot
  • bcdedit -store c:\BCD -set {ramdiskoptions} ramdisksdipath  \boot\boot.sdi
  • bcdedit -store c:\BCD -create /d "MyWinPE Boot Image" /application osloader

This last command will respond with a message like:
"The entry {02836f40-9ea0-11db-af23-0003ffc3f7f5} was successfully created."

The GUID WILL BE DIFFERENT FOR YOU. The GUID is the long series of numbers, letters, and dashes enclosed in braces {}. Do not copy the GUID used in my commands below. You must substitute the GUID returned by the previous command.
The following commands use MY GUID. Make sure you change it to yours.

  • bcdedit -store c:\BCD -set {02836f40-9ea0-11db-af23-0003ffc3f7f5} systemroot \Windows
  • bcdedit -store c:\BCD -set {02836f40-9ea0-11db-af23-0003ffc3f7f5} detecthal Yes

In the previous command, the setting is DETECTHAL in all lowercase. It is not DETECTHA1 - numeral one at the end.

  • bcdedit -store c:\BCD -set {02836f40-9ea0-11db-af23-0003ffc3f7f5} winpe Yes
  • bcdedit -store c:\BCD -set {02836f40-9ea0-11db-af23-0003ffc3f7f5} osdevice ramdisk=[boot]\Boot\WinPE.wim,{ramdiskoptions}
  • bcdedit -store c:\BCD -set {02836f40-9ea0-11db-af23-0003ffc3f7f5} device ramdisk=[boot]\Boot\WinPE.wim,{ramdiskoptions}
  • bcdedit -store c:\BCD -create {bootmgr} /d "Windows VISTA BootManager"
  • bcdedit -store c:\BCD -set {bootmgr} timeout 30
  • bcdedit -store c:\BCD -set {bootmgr} displayorder {02836f40-9ea0-11db-af23-0003ffc3f7f5}

Step 3 - Now I will copy the  files created on my WinPE 2.0 VirtualPC to my TFTP server (my technician computer). These steps may be different, depending on your setup.
Run the following commands from the Vista/WinPE 2.0 computer. Substitute the values in ALL CAPS with values for your environment.
TFTPCOMPUTER is the name of your computer running the tftp server.
SHARE is the name of a shared folder on your tftp server.
VALIDUSER is the name of a user on the TFTPCOMPUTER that has write access to SHARE.

net use y: \\TFTPCOMPUTER\SHARE
when prompted for a username, I enter: TFTPCOMPUTER\VALIDUSER
When prompted for a password, I enter the password for VALIDUSER

When the command completes, I now have the Y: drive mapped to my server (technician computer). I run the following command from the WinPE 2.0 VirtualPC:
copy c:\BCD y:\tftpboot\boot

(My share maps to the parent folder - c:\apps - of my tftp server software, which is installed at c:\apps\tftpboot)

I then started tftpd32.exe from c:\apps\tftpboot on my technician/tftp server. I went to the "DHCP server" tab and changed the "Boot file" to: boot\pxeboot.com

I then started the tablet, hit F12, selected network boot, then pressed F12 again to confirm boot from the network. Windows PE booted on the tablet.

Hope this helps.
Sunday, January 07, 2007 3:38:20 PM (Central Standard Time, UTC-06:00) #    Comments [36]  | 

 

All content © 2010, josh
About this site
Send mail to the author(s) Contact me
Feed your aggregator (RSS 2.0)
Joshua Flanagan
I am a software developer focused on continuous improvement in the .NET community
Los Techies

On this page
Archives
Rest of the world

Acknowledgements

Powered by: newtelligence dasBlog 2.1.8209.14743

Special thanks to LosTechies.com

Site theme based on the essence design by Jelle Druyts

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.