Troubleshooting Windows Embedded Standard boot problems
**Updated 3/26/09 with preface
[The following article is authored by one of the Windows Embedded MVPs (Most Valuable Professionals). Our MVPs have a heavy background in Embedded systems and are a great repository of information on Windows Embedded products. We’re providing this space on our team blog as a service to our readers by allowing MVPs to share some of their knowledge with the rest of the community.]
Windows Embedded Standard does not normally require too much troubleshooting, because the boot process is exactly the same as in XP Professional. But, according to Murphy’s Law, something will go wrong, no matter how the small the chance is. This post will try to give an overview of the most common reasons for failure and the ways to resolve them.
Disk Preparation
I am starting with disk preparation because, from what I have seen, this is the most common reason that a system does not boot. The most important things to remember here are that:
- the booting partition needs be marked as active
- the master boot record should be the correct one for the file system on the disk
If either of these things are not set, will get an error message from the BIOS such as:
No system disk or operating system
This can easily be resolved by following the steps I have laid out in a previous post. You can use diskpart to activate and format the partition in the desired way. Formatting the disk as NTFS normally writes the correct MBR, but you can also use other utilities such as bootprep to prepare the disk for booting to otehr file systems (like FAT). In addition, there also some easy-to-use freeware utilities on the web that help fix boot record problems.
ARC path configuration
Another common issue occurs when the ARC path in the boot.ini is not in sync with the real disk layout. This is normally set in the configuration of the Target Device settings for the image:
It is very important to set the right options, especially selecting the correct boot drive, Windows folder and ARC path.
Quite often the fact that disks in the ARC path are enumerated starting at 0 and partitions are enumerated starting at 1 causes some confusion. To correct this the best way is to start diskpart e.g. on WinPE on the target device using the detail disk as well as the detail partition commands to get an overview on the real layout of the media.
Sometimes disks prepared by OEMs have a hidden maintenance partition that requires a change in the partition entry in the ARC path (such as setting partition = 2).
The Windows folder path should point the exact path you expect it to be deployed to on the actual partition. It is normally c:\windows but could be e.g. c:\WES\Windows in a dual boot scenario.
If the settings above are not correct the system will react with one of the following error messages:
- NTLDR is missing
- Windows\Sytem32\Hal.dll is missing
- No system disk or operating system
Unfortunately, there is no simple fix that you can configure on the system at this point and the Windows Embedded Standard image must be rebuilt to get all the correct settings.
Fighting Windows Product Activation
Another issue you might experience, which not really is a boot issue, is the wrong boot partition size. If this is not set correctly during build and one tries to deploy a Windows Embedded Standard image, for example to a 8GB flash card instead of the configured 1GB card, a message window generated by Windows Product Activation will pop up telling you that this image is not configured for this device and FBA will stop immediately. Closing the window reboots the system. This clearly shows that WPA is included in Windows Embedded Standard although no online activation is required.
The solution here is to set the correct size of the boot partition in the configurable settings in Target Device and rebuild the image.
Handling file compression
Very often CF cards use NTFS file compression to save space. In this scenario it is important not to compress the files required for booting the system (ntldr, boot.ini, ntdetect.com), because the boot loader is not able to read compressed files. This normally leads to messages such as:
NTLDR is missing
USB boot
When booting from USB, preparethe USB flash device either using the UFDPrep utility running on XP:
UFDPrep.exe F: (where F is the drive letter resembling the USB flash device)
or format the UFD under VISTA with diskpart. Vista is able to create bootable UFDs (UFDprep does not when running it from a Vista dev machine).
Alexander Wechsler
Wechsler Consulting
Comments
Anonymous
November 18, 2008
PingBack from http://blog.a-foton.ru/index.php/2008/11/18/troubleshooting-windows-embedded-standard-boot-problems/Anonymous
November 18, 2008
Murphy's Law always up to date. Thanks for the entryAnonymous
May 15, 2009
The comment has been removedAnonymous
September 30, 2009
stop 0x000000C2,0x00000CD4,0x43001002,0xE1058471 Bad_Pool_Caller My question is could the Hardware be causing this or is the software used is starting to go bad?Anonymous
September 30, 2009
I would suspect that faulty HW is causing this Stop Error. Please, try to verify the machine's RAM and check its correct placement on the board. Or, try to boot on another target machine to find out if this error is machine specific.Anonymous
January 27, 2010
I have a problem with the boot of Windows Embedded. There isn't error messages but the PC reboot in loop. The partition is active, the boot.ini is setting correctly. Where is the problem? thanksAnonymous
January 27, 2010
There isn't a problem of boot but it's a problem equal to Bernard Jackson. There is a solution?Anonymous
January 28, 2010
This is most probably caused by the default setting, which reboots WES any time a blue screen occurs. Press F8 during the reboot and choose the option not to reboot again. This will give you the chance to examine the stop error codes on the blue screen and determine the reason for the failure. Alexander