can't get a windows xp image to boot

J

John F. Davis

Hello

I am still trying to get windows XP embedded image to boot. It fails
to boot with this message:

Windows could not start because the following file is missing or
corrupt.
<windows root>\system32\hal.dll

Please reinstall a copy of the above file.

The above file is 124KB on both my d:\windows embedded images
directory on my development computer and in d:\windows\system32 on my
target computer. I did not run a binary diff to see if they are
actually different inside. ie. the difference is not size.


This is my setup:

Development Box:
Windows 2K pro with SP4
all windows XP embedded sp1 tools installed.

Target Box:
Windows 2k pro with SP4
only windows installer, and windows embedded sp1 tools
installed. ie. skipped database, remote boot etc.

Method of building.
Installed xp tools on target box so I could run tap. Took
resultant file and transferred to developement box. Imported .pmk
file into component designer. Created a component which could be
added to the target designer. Used the basic set top box as a
template in target designer. Added the component which corresponds to
the hardware imported above. Added ntfs, english, and win login.

I have tried multiple combinations for the Target Device Settings
in target designer. None of them work:

eg:
Boot drive
Windows Folder
Program Files folder
Documents and Settings folder
Boot ARC path
Boot partition size (MB)
Partition cluster size (bytes)


try 1 - leave above unmodified. It creates a d:\windows xp embedded
images directory with all files at top level.

After I build the image, I copy the entire folder contents to my d: on
my target machine. I click ok when asked to overwrite files.

try 2 - this is how they do it in a video. Leave Boot drive setting
at c:. Change the other settings to d: prefix. ie. windows folder is
d:\windows. Change the Boot ARC path to partition 2 - ie. change the
last number 1 to number 2. When it builds it creates DriveD folder in
the d:\windows xp embedded images directory.

After I build the image, I delete all files/folders on d drive and
copy the development computers d:\windows xp embedded images
directory to the d drive. I move the folders in the DriveD folder to
the toplevel.

try 3 - same as above but also change boot drive setting to d:.



Since I am using Win2k, I copy ntloader and ntdetect from d: on my
target machine to c:. I only did this once after I had installed
win2k service patches and win2k tools. I do not copy these files over
each time I build a new image.


PS.

The good news, is that one time today, I did get a build which ran up
FBA. I saw the windows XP logo and everything. After the reboot
though it just locked up. When I tried to reboot into windows I
noticed the drive started acting up in general. The drive appeared to
be having a hardware problem so I got a new drive and reinstalled
windows. I set up the partition to be 8GB for drive c and ~700 MB for
drive d. However since then, I have been having the error documented
above. Could it be that I need to rerun TAP because the disk is not
the same?
 
J

John F. Davis

Hello

I am still trying to get windows XP embedded image to boot. It fails
to boot with this message:

Other things I forgot to mention.

When I build the image it says 0 errors and 2 warnings. I could only
find one warning and not two. The one warning is that the build will
expire in 120 days.


When I copy files from the built image (d:\windows embedded images) to
the target machine d drive, I have tried the copy two different ways.
One way is to copy the files and folder as-is to the target machine.
ie. if there is a DriveD folder with windows, program files, my
documents, it gets set to the target machine in the same tree - the
target machine gets a DriveD folder on the d: drive. The second way I
copy the files is that I will always move DriveD files to the
top-level directory. ie. I move the DriveD\windows directory to
d:\windows on the target.
 
W

Wayne Taylor

What is your target system?

John F. Davis said:
Hello

I am still trying to get windows XP embedded image to boot. It fails
to boot with this message:

Windows could not start because the following file is missing or
corrupt.
<windows root>\system32\hal.dll

Please reinstall a copy of the above file.

The above file is 124KB on both my d:\windows embedded images
directory on my development computer and in d:\windows\system32 on my
target computer. I did not run a binary diff to see if they are
actually different inside. ie. the difference is not size.


This is my setup:

Development Box:
Windows 2K pro with SP4
all windows XP embedded sp1 tools installed.

Target Box:
Windows 2k pro with SP4
only windows installer, and windows embedded sp1 tools
installed. ie. skipped database, remote boot etc.

Method of building.
Installed xp tools on target box so I could run tap. Took
resultant file and transferred to developement box. Imported .pmk
file into component designer. Created a component which could be
added to the target designer. Used the basic set top box as a
template in target designer. Added the component which corresponds to
the hardware imported above. Added ntfs, english, and win login.

I have tried multiple combinations for the Target Device Settings
in target designer. None of them work:

eg:
Boot drive
Windows Folder
Program Files folder
Documents and Settings folder
Boot ARC path
Boot partition size (MB)
Partition cluster size (bytes)


try 1 - leave above unmodified. It creates a d:\windows xp embedded
images directory with all files at top level.

After I build the image, I copy the entire folder contents to my d: on
my target machine. I click ok when asked to overwrite files.

try 2 - this is how they do it in a video. Leave Boot drive setting
at c:. Change the other settings to d: prefix. ie. windows folder is
d:\windows. Change the Boot ARC path to partition 2 - ie. change the
last number 1 to number 2. When it builds it creates DriveD folder in
the d:\windows xp embedded images directory.

After I build the image, I delete all files/folders on d drive and
copy the development computers d:\windows xp embedded images
directory to the d drive. I move the folders in the DriveD folder to
the toplevel.

try 3 - same as above but also change boot drive setting to d:.



Since I am using Win2k, I copy ntloader and ntdetect from d: on my
target machine to c:. I only did this once after I had installed
win2k service patches and win2k tools. I do not copy these files over
each time I build a new image.


PS.

The good news, is that one time today, I did get a build which ran up
FBA. I saw the windows XP logo and everything. After the reboot
though it just locked up. When I tried to reboot into windows I
noticed the drive started acting up in general. The drive appeared to
be having a hardware problem so I got a new drive and reinstalled
windows. I set up the partition to be 8GB for drive c and ~700 MB for
drive d. However since then, I have been having the error documented
above. Could it be that I need to rerun TAP because the disk is not
the same?
 
J

John F. Davis

What is your target system?

FWIW, I talked to a colleague and he suggested that since I swapped
out the bad harddisk, I might need ot rerun tap. Even though both
disks are LVD scsi, the difference in manufacturers could be the
problem. I am redoing that part now.

JD
 
B

Brad Combs

John,

Double check the settings in your boot.ini. HTH,

Brad Combs
Imago Technologies
 
J

John F. Davis

Brad,

This is what I am using for the boot.ini.


[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000
Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows XP
Embedded" /fastdetect


Thanks

JD
 
J

John F. Davis

Hello

rerunning tap and reimporting the component into the database and
project did not resolve the error. I even tried to use the default
settings for the target. ie. use drive c:, windows folder in c:, etc.
The method specified in the video where they change everything to be
d: based did not work either.


JD


Brad,

This is what I am using for the boot.ini.


[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000
Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows XP
Embedded" /fastdetect


Thanks

JD


John,

Double check the settings in your boot.ini. HTH,

Brad Combs
Imago Technologies
 
S

Slobodan Brcin

We don't use scsi disks so I don't know.

But I always thought that one need to use following syntax:
scsi(X)disk(Y)rdisk(Z)partition(W)\<winnt_dir>

But this is not a problem since you say that you can boot from Windows 2000
with this syntax.

Are you using WINNT, or Windows directory for XPE?

Slobodan




John F. Davis said:
Hello

rerunning tap and reimporting the component into the database and
project did not resolve the error. I even tried to use the default
settings for the target. ie. use drive c:, windows folder in c:, etc.
The method specified in the video where they change everything to be
d: based did not work either.


JD


Brad,

This is what I am using for the boot.ini.


[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000
Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows XP
Embedded" /fastdetect


Thanks

JD


John,

Double check the settings in your boot.ini. HTH,

Brad Combs
Imago Technologies

On Fri, 31 Oct 2003 17:36:32 -0000, "Wayne Taylor"

What is your target system?


Target Box:
Windows 2k pro with SP4
only windows installer, and windows embedded sp1 tools
installed. ie. skipped database, remote boot etc.


FWIW, I talked to a colleague and he suggested that since I swapped
out the bad harddisk, I might need ot rerun tap. Even though both
disks are LVD scsi, the difference in manufacturers could be the
problem. I am redoing that part now.

JD
 
G

Guest

Hello
-----Original Message-----
We don't use scsi disks so I don't know.

But I always thought that one need to use following syntax:
scsi(X)disk(Y)rdisk(Z)partition(W)\<winnt_dir>

I just copied the existing line in the boot.ini and
changed the description and partition number.
But this is not a problem since you say that you can boot from Windows 2000
with this syntax.

Are you using WINNT, or Windows directory for XPE?


I think your questions pertains to the directory I
specified for the windows XP embedded build. If so, I did
not change the default target settings in the target
designer other than the drive setting. Are you saying I
need use this form?

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft
windows XP Embedded" /fastdetect

If so that makes sense. I'll go back to work and try that
real quick.

Slobodan




John F. Davis said:
Hello

rerunning tap and reimporting the component into the database and
project did not resolve the error. I even tried to use the default
settings for the target. ie. use drive c:, windows folder in c:, etc.
The method specified in the video where they change everything to be
d: based did not work either.


JD


Brad,

This is what I am using for the boot.ini.


[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000
Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows XP
Embedded" /fastdetect


Thanks

JD


On Fri, 31 Oct 2003 13:15:14 -0500, "Brad Combs"

John,

Double check the settings in your boot.ini. HTH,

Brad Combs
Imago Technologies

On Fri, 31 Oct 2003 17:36:32 -0000, "Wayne Taylor"

What is your target system?


Target Box:
Windows 2k pro with SP4
only windows installer, and windows embedded sp1 tools
installed. ie. skipped database, remote boot etc.


FWIW, I talked to a colleague and he suggested that since I swapped
out the bad harddisk, I might need ot rerun tap. Even though both
disks are LVD scsi, the difference in manufacturers could be the
problem. I am redoing that part now.

JD


.
 
S

Slobodan Brcin

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft
windows XP Embedded" /fastdetect

This is default dest dir from target designer, if you have not changed it.

But open d:\boot.ini and read it. Since TD created it with settings you
made.


Slobodan

Hello
-----Original Message-----
We don't use scsi disks so I don't know.

But I always thought that one need to use following syntax:
scsi(X)disk(Y)rdisk(Z)partition(W)\<winnt_dir>

I just copied the existing line in the boot.ini and
changed the description and partition number.
But this is not a problem since you say that you can boot from Windows 2000
with this syntax.

Are you using WINNT, or Windows directory for XPE?


I think your questions pertains to the directory I
specified for the windows XP embedded build. If so, I did
not change the default target settings in the target
designer other than the drive setting. Are you saying I
need use this form?

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft
windows XP Embedded" /fastdetect

If so that makes sense. I'll go back to work and try that
real quick.

Slobodan




John F. Davis said:
Hello

rerunning tap and reimporting the component into the database and
project did not resolve the error. I even tried to use the default
settings for the target. ie. use drive c:, windows folder in c:, etc.
The method specified in the video where they change everything to be
d: based did not work either.


JD


On Fri, 31 Oct 2003 13:22:28 -0500, John F. Davis

Brad,

This is what I am using for the boot.ini.


[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000
Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows XP
Embedded" /fastdetect


Thanks

JD


On Fri, 31 Oct 2003 13:15:14 -0500, "Brad Combs"

John,

Double check the settings in your boot.ini. HTH,

Brad Combs
Imago Technologies

On Fri, 31 Oct 2003 17:36:32 -0000, "Wayne Taylor"

What is your target system?


Target Box:
Windows 2k pro with SP4
only windows installer, and windows embedded sp1 tools
installed. ie. skipped database, remote boot etc.


FWIW, I talked to a colleague and he suggested that since I swapped
out the bad harddisk, I might need ot rerun tap. Even though both
disks are LVD scsi, the difference in manufacturers could be the
problem. I am redoing that part now.

JD


.
 
G

Guest

You are the man. That was the fix. I changed winnt to
windows in the boot.ini and it booted to xp embedded.
Tip of the hat to you.

I was surprised that the only thing it included was a
start button which said logoff or shutdown. I was
expecting more by default. Next week, I will try to get
enough working that it has networking capabilites.

Also, I am going to buy the Art Baker book on Device
Drivers. Is that a good reference? Is there another
reference which I should read as well?

JD
 
D

Doug Hoeffel \(eMVP\)

John:

There are better device driver books than the Art Baker book. A few year
ago I bought the OSR book. Refer to:
http://www.osr.com/publications_book.shtml

Also, you could always query the microsoft.public.development.device.drivers
NG for other recommended device driver books.

HTH... Doug
 
S

Slobodan Brcin

I'm using Windows DDK from MS. But this is not meant for learning purposes.

Slobodan
 
G

Gordon Smith \(eMVP\)

You are the man. That was the fix. I changed winnt to
windows in the boot.ini and it booted to xp embedded.
Tip of the hat to you.

I was surprised that the only thing it included was a
start button which said logoff or shutdown. I was
expecting more by default. Next week, I will try to get
enough working that it has networking capabilites.

Also, I am going to buy the Art Baker book on Device
Drivers. Is that a good reference? Is there another
reference which I should read as well?

JD

You'll want to configure the "User Interface Core" component's settings
next... Enjoy.
 
L

Levi O'Sulliven

I've heard of problems happening when Win2k is on the primary
partition, although this specific error I haven't seen before.

I got this from another thread: "You have to include a ntldr and
ntdetect.com from xp cd. The reason is that xp embedded image will
still use the ntldr and ntdetect.com from windows 2000 which will only
boot from 2000 and before. XP's ntldr and ntdetect will boot
everything prior to it."

Here's a link to that thread:
http://www.windowsfordevices.com/cg...5&Idle=0&Sort=0&Order=Descend&Page=0&Session=

Hope that helps
 
A

Amit Shreewastav

I had same problem.....did u check your boot.ini file.
your stored device (harddisk/CF/..) of target device may
have different setting for boot ARC path.
Check out Target Device setting for further information.

Hope, it will help...
Amit
 
G

Guest

YES, that helps!
I've been looking for weeks to find the cause, and this
was it...
Thanks,
Maarten
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top