QUOTE (TGP1994 @ Aug 28 2009, 12:41 AM)

Well, what I was thinking was that, because of using the included (not standard) boot loader, it would be causing the registry overwrites, which I don't want. I was kind of hoping for a way around that, but tbh, I don't actually know which part of the BartPE loading process causes it to overwrite the registry, or how I can tell it to just skip that and read from the included one. I'm sure you remember the part where I was having trouble with a corrupted SYSTEM hive, that was because BartPE somehow makes it's own. I just wish I could bend that to my own needs.
I usually completely remove from my memory anything that I don't understand, sorry, you will need to refresh my memory on that episode.
BTW, the bolded part:
QUOTE (TGP1994 @ Aug 28 2009, 12:41 AM)

I'm sure you remember the part where I was having trouble with a corrupted SYSTEM hive, that was because BartPE somehow makes it's own.
Appears anyway what you
think happened,
not necessarily what happened.
Is it the "not standard" the problem?

SETUPLDR.BIN is "standard", it was written by Microsoft guys to load a PE. (and Setup).
NTLDR is "standard", it was written by Microsoft guys to load a "full" NT based system (NT/2K/XP/2003).
Starting from XP the kernel accepts a switch " /minint", that makes a PE possible.
If the /minint switch is supplied, among other things, the Registry is loaded to Ram (and thus it is NOT persistent).
If using SETUPLDR.BIN, a /minint switch is implied (and a /I386 or /minint kind of structure) is needed, AND changes to the Registry are NOT persistent.
If using NTLDR a /Windows/ kind of structure is needed.
If using NTLDR with a /minint switch in BOOT.INI, a /Windows structure is needed, AND changes to the Registry are NOT persistent.
So you need to write your own SETUPLDR.BIN that implies NOT the /minint switch. (and possibly a NTDETECT.COM also)
Or you need to write your own NTLDR that uses /I386 or /minint structure (and possibly a NTDETECT.COM also)
Both the above may not be sufficient, and you will need probably to write a new kernel also and countless .dll's/services.

But, then again, what would be the SCOPE of that?
I mean, thanks to several findings here on 911CD or on boot-land, you can use a PE on almost any media (with PE limits) or a "Full XP" on almost any media (with XP limits):
which are the limits in XP that you find NOT in a "hypothetical" PE with persistent Registry? (remember to balance the supposed advantages against the limits of a PE build)
Or, as said, if you really really want a PE with persistent settings, why not easily (or not easily) workaround the problem on a PE by backing up and restoring the Registry (or, better, selected parts of it, and then restore it)?
jaclaz