Leonid,
I have the same problem to boot off XPE from USB hard disk and USB
CDROM.
I'm really need this option to run XPE from USB CDROM.
I've posted several messages about this issue, but didn't get clear
explanation of this problem.
My current knowledge of this problem:
1. Most Bios-es can read any USB device and boot from it.
2. Bios exposes int 13h which boot loader can use for reading rest of data.
3. Boot Loader loads ntldr. using int 13h.
4. ntldr. loads boot.ini
Until this point non of XP parts are loaded and everything loaded try int
13.
So if you place some hold time in multi choice boot.ini, and you are able to
boot to point where ntldr will give you the choice to select os. Then you
can boot from that type of medium.
After this point XPE will start to load and at some point it will try to use
drivers to complete loading.
USB drivers are marked not to be loaded by ntldr., and when transition
occurs XPE will BSOD because it doesn't have drivers for USB, and can't load
them either.
This is like cutting branch that you are sitting on.
There is work around but it is too complicated and it wont work everywhere,
or in every case. So this is not acceptable.
Now you have two choices, well more likely one.
1. Work around I have posted few weeks ago (but like I said it is
practically useless)
2. Make Ramdisk.
You can make SDI file that will contain XPE partition. This file can be
loaded by ntldr. using int 13h in RAM. And then ntldr. will boot from it.
So there are no more problem regarding is this Flash, CD, USB, or Firewire,
or even network.
To do ram boot boot.ini should have:
ramdisk(0)\windows="XPE RAM" /fastdetect
/rdpath=multi(0)disk(0)rdisk(0)partition(1)\image.sdi /rdimageoffset=245760
For testing purposes you can boot from any HDD in your device, and when it
start working you can use this sdi for Network, USB, or some custom boot
type.
rdpath path is the ARC path to partition that is holding sdi image. Beware
that when you do boot from USB that this ARC path is not the same as when
you look at it from windows.
rdimageoffset is offset to PART and sdimgr will give this number to you.
You must run FBA on volume with letter C: this is the limitation of RAM disk
driver.
You must include in TD Windows RAM Disk Driver.
Use FAT partition in SDI image.
And this is it (how to make sdi image is explained by MS).
You can find some info at:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxpesp1/ht
ml/ram_sdi.asp
But custom boot loader is not what you need so read this just for info.
If you can pass step 4 and have any other question, just ask.
Best regards,
Slobodan