Help - Search - Members - Calendar
Full Version: Continuation: Moving PE onto the HD
The CD Forum > Bart's PE Builder > UBCD4WIN
TGP1994
Ok everyone, I suppose this is a continuation on my quest to get UBCD4WIN onto my hard drive, and to be able to use window's default boot loader to get things started. I guess I'll update this post every time I run into an issue.

Current Issue:
Moving over to pester the guys at ReactOS

So right now, I'm attempting to boot directly from my C:\minint directory, with the windows default boot loader. Note that booting from the .bin file for PE still works. So when I boot with the windows boot loader, I get an error after a bit saying ntfs.sys is missing or corrupt. The odd thing I find about this is that it doesn't use it's full path, like where it should be: C:\minint\system32\drivers\ntfs.sys. I know it's there, and I've even copied over a file that I know is working on my pc, so something else is causing this. If anyone knows, that would be great.

Thanks in advanced!

Previous Issues:
None biggrin.gif
rdsok
UBCD4Win is based off of the OEM version of BARTPE.... so the restrictions you've been told about several times now still apply. It appears to me that you don't want to hear the real answer since you are still asking the same question.
TGP1994
I guess what I'd like to hear is why everyone insists on how copying files off of an XP installation disk doesn't make it windows xp, or how I can make it act like it. And I'm not exactly sure what you mean by "restrictions", if you could elaborate on that a bit, that would be nice. (Unless you're referring to the fact that it's a PE trying to be XP, which will also need elaboration.)

Furthermore, all I really need answered is these tiny little problems that keep coming up, which I would imagine should be simple enough to fix to or be answered.

I'm ready and willing to hear the answer, if only someone could explain on their answer. hmm.gif

Learning is my game here, and I probably won't learn from my mistakes if I don't know what caused it bangin.gif
hilander999
You simply cannot use the default windows boot loader to launch a "Preinstalled Environment"

PE is Windows setup with a twist. Textmode Setup (real mode) is used with the /minint switch to allow a Preinstalled Environment (Protected Mode) to function with a limited set of windows API's.

I could write a book, and still don't think your going to make the connection.

Perhaps Jaclaz can explain it in layman's terms???

PS: Why are you trying to boot a PE as if it were an installed OS in the first place?
TGP1994
That was the answer I was looking for, thank you. Basically, the reason I'm doing this is for my own education, which I have learned a lot through. To further my education what I was (and still) going to do was attempt to get it to work with the windows boot loader. And I almost had it working, till I reformatted and tried something else. Back in Boot-Land, I was even able to get to the point of seeing a wall paper, till an lsass error came up.
hilander999
In textmode setup all base hardware drivers are loaded through txtsetup.sif.

When an installed Windows OS is booted these drivers are loaded at a much higher level and will reset the busses causing all kinds of glitches and a nice fat BSOD when hooked after they are already loaded.
TGP1994
QUOTE (hilander999 @ Aug 26 2009, 05:59 PM) *
In textmode setup all base hardware drivers are loaded through txtsetup.sif.

When an installed Windows OS is booted these drivers are loaded at a much higher level and will reset the busses causing all kinds of glitches and a nice fat BSOD when hooked after they are already loaded.


Actually, I haven't gotten a BSOD since WinBuilder. And I was messing around with literally everything, so something was bound to go bad. So could these resets you're talking about cause it to read ntfs.sys as bad?
Ed_P
FWIW I boot BartPE from a separate partition on my nb and from a separate hd on my desktop using each machine's XP boot.ini.

The two things I think are worth noting are the BartPE partitions are Primary partitions not Logical partitions and I use GRUB4DOS's grldr to boot them.

This is my boot.ini on my nb:
CODE
[boot loader]
timeout = 10
default = multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /noexecute=optin /fastdetect
C:\grldr="Start GRUB ldr"

and my grldr menu.lst
CODE
# global options
# color <foreground/background> [hilite-fg/hilite-bg] - sans splashimage
# colors:                black       blue       green       cyan       red       magenta   brown    light-gray
#   foreground only: dark-gray light-blue light-green light-cyan light-red light-magenta   yellow   white
# color white/blue  black/light-gray
# color white/green white/blue

# ****ground rrggbb   000000=black  ffffff=white  8-f = bright
# foreground 000099
# background eeeeee
  foreground 000088
  background cccccc
  splashimage=/boot/splash/glogo.xpm.gz
# http://www.schultz-net.dk/grub.html

timeout 12
default 0
fallback 1

# menu entries

title 01. BartPE on E:
root (hd0,2)
chainloader +1

title 02. Windows XP
chainloader (hd0)+1

title 03. Reboot
reboot

title 04. Change screen colors
foreground 006600
background cccccc

# Menu commands: http://www.gnu.org/software/grub/manual/html_node/
# end file menu.lst

hth
jaclaz
QUOTE (hilander999 @ Aug 26 2009, 10:50 PM) *
Perhaps Jaclaz can explain it in layman's terms???


I actually tried doing it, but it did not work:
http://www.boot-land.net/forums/index.php?...=8744&st=16
QUOTE
If you want lemon juice you'd better squeeze lemons instead of carrots. (but on the other hand if you want carrot juice, squeezing lemons won't work well). whistling.gif


And more:
http://www.boot-land.net/forums/index.php?...=8744&st=19

Medevil also had a (good IMHO) attempt to explain the thing:
http://www.boot-land.net/forums/index.php?...=8744&st=32

but it did not "pass through".


I am losing my (usual unsure.gif) ability to make useful (and understandable) examples lately, even this (on a completely different topic):
http://www.boot-land.net/forums/index.php?...c=8741&st=9
didn't "pass through" properly. sad.gif Getting old, I presume. wink.gif


jaclaz
TGP1994
I know, I've gotten it, I've gotten it. Yet none of you had explained your answers, rather falling back to enforcing the same answer over and over again, like you said jaclaz. However, hilander has actually explained a bit on the why part, which I would like to say guys, is my whole reason for going through the trouble in the first place. I'd like to learn the why part of of windows and what it does.

Now I'm sure someone is going to enforce again that windows is not pe and a tomato is not an apple. Using that metaphor, It seems to me that still, both are of the same family. (Well, at least tomatoes and apples are.) Not to mention, I feel so close to finding the answer, yet so far.

To MedEvil, if he could explain what part of xp xp is trying to access (?) that would be nice.
jaclaz
Actually the usual confrontation is between apples and oranges, and yes, you are right worthy.gif , they are VERY similar:
http://improbable.com/airchives/paperair/v...1-3-apples.html

The WHY is BECAUSE the good guys at Microsoft implemented XP and PE this way. (and failed to properly document either)

I do understand how for the curious and ingenious mind this seems not rational (and actually it isn't wink.gif), but still you cannot do anything about it (or you'll possibly be able to when and if you will create different components that behave the same or almost the same and that are under your full control).

Wait a minute, this is exactly what the good guys at ReactOS have been doing for several years:
http://www.reactos.org/en/index.html

After more than ten years of collective work, they are now at an alpha stage (current version 0.3.10), and believe me when I tell you that among them there are several exceptionally good programmers. thumbup.gif

In any case, the path they followed and they are following is the "common sense path": accept (temporarily) the status quo, learn how it is done, learn how to re-create it, then change what you don't like.

If you think about it, it's the way mathematics or geometry is taught (and learned) since the ancient greek's time at least, you use postulates and axioms (that need not a reason WHY or a HOW), and you accept them, at least temporarily, to create the basis for a theorem (in which the WHY and HOW is explained and needed in the demonstration)

Last metaphor for today smile.gif:
You are not using clay for your sculpture, you are using LEGO-like blocks, you cannot create a sphere with them, you cannot assemble them in a way different from what the guys at LEGO devised (one on top of the other) your particular abilities or inclinations will make the difference between a wall:
http://www.wikihow.com/Make-a-LEGO-Wall
and something to break that wall:
http://www.wikihow.com/Build-a-LEGO-Trebuchet

but still you won't have rounded edges sad.gif.

jaclaz
TGP1994
Ok, I guess that puts me at rest then. Time to reformat and pester the guys at ReactOS tongue.gif

I wonder if it gets windows updates? Hmm. That is a cool thing they have going though. Glad I didn't have to go through ten years of wondering why an ntfs.sys error was coming up smile.gif

So let me try and draw a conclusion from your metaphore: Are you saying that basically, what I'm doing has very limited ability to be "molded", or changed direction, and that what I have will not let me do much to what I want to do? Like what I was doing was very out there and hardly anyone would know what I was doing. (Like reactos.) And that it wouldn't be pretty? Makes sense. That info on the oranges and apples was interesting smile.gif

And thanks again for all of your help, everyone.

Also, the patience you guys have is amazing, especially since you aren't being paid for this. (Or are you?) My gratitude to everyone smile.gif

happy65.gif
jaclaz
QUOTE (jaclaz @ Aug 27 2009, 11:27 PM) *
Last metaphor for today smile.gif:


OK, I'm almost a liar w00t.gif (exactly midnight right now) wink.gif, and you actually provoked this one....


QUOTE (TGP1994 @ Aug 27 2009, 11:38 PM) *
Are you saying that basically, what I'm doing has very limited ability to be "molded", or changed direction, and that what I have will not let me do much to what I want to do? Like what I was doing was very out there and hardly anyone would know what I was doing. (Like reactos.) And that it wouldn't be pretty? Makes sense.


Actually what I was trying to say (more generally, not limited to this ntfs.sys error you are having) was that:
  • I (and several other members here and on boot-land) still fail to understand what your final goal is
  • you still fail to try to explain it (setting temporarily apart your fixation of loading a PE like it was XP)


Thus we are at a stalemate.

If you are in point A. and you want to go to point C. the main thing, as I see it, is to get to point C. and the need to go through point B. is secondary.

Right now, you are insisting to go through point B. where a huge LEGO brick wall is erected, blocking your way .

Now it is possible that:
  1. you can get to point C. WITHOUT passing through B.
  2. that you can jump over the wall at B. and go through
  3. that you can use the trebuchet to demolish the wall at point B.
  4. that ANYWAY you cannot get to C., even if you manage to pass through B.


#1. is the simplest of the three "working" alternatives, #2. is the one that you failed with and asked help for, #3. is a possible way IF you know how to build the trebuchet.
#4. is an alas unfortunate sad.gif, but still plausible possibility.

Everyone here is shouting at you:
YOU CANNOT JUMP OVER THAT WALL IT IS TOO HIGH!

jaclaz
TGP1994
Ok, sorry about that. I want to take in the scenery, so I guess I'll try and figure out what point B is anyways. (Haven't reformatted yet.) Well, I guess for old time's sake, I'll explain my ultimate goals with as much detail as I can think of. (If you need more, please ask away.)

So, my ultimate goals: A. to copy over everything that running WinBuilder/BartPE creates, onto a hard drive. (Complete.) B. To boot from the hard drive, via starting with the included boot loader, created by WinBuilder/BartPE. (Complete.) C. To be able to make system registry changes. (Incomplete.) And D, To be able to boot from that same hard drive, with everything else the same, except for using the windows bootloader. I.E an unmodified NTLDR file.

For explaining, I don't really know what you guys want me to explain. Maybe that was part of the communication failure unsure.gif

For your possible ways of going with this, I like the idea of #1, although I'm not exactly sure what the points are representing here. Maybe we can both draw a similar conclusion after I explained it a bit more biggrin.gif

So the wall is too high to jump, so I need to find a way around it. Ok, that works. It's just the transferring from your metaphore, (excellent job @ midnight, I might add) to real life.
jaclaz
hmm.gif

A. to copy over everything that running WinBuilder/BartPE creates, onto a hard drive. (Complete.)<-Good. smile.gif
B. To boot from the hard drive, via starting with the included boot loader, created by WinBuilder/BartPE.<-(Complete.) Good smile.gif
C. To be able to make system registry changes. (Incomplete.) <-There is NO known "direct" way AFAIK sad.gif, the only way is to backup the Registry and replace it at next boot.
And D, To be able to boot from that same hard drive, with everything else the same, except for using the windows bootloader. I.E an unmodified NTLDR file. <- This is NOT a goal w00t.gif (or it is a scopeless one) this is a "method": a way you think useful to obtain SOMETHING. Why do you care WHICH bootloader is used or HOW it is used? The scope is LOADING, NOT how the loading is made. In other words: what advantages/features do you expect by using NTLDR? unsure.gif If you think that this will lead to point C. above, this won't happen, it simply does not work this way.

jaclaz
TGP1994
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.
jaclaz
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? unsure.gif

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. hmm.gif

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
TGP1994
Ah, that does clear some things up. Just after copying over the BartPE files to the hard drive, and attempting to boot up with normal (standard booting) files, it would say \minint\system32\config\SYSTEM is missing or corrupt. It was missing, since (and I'm still thinking on what I'm thinking) it normally creates it's own. (I'm beginning to see that that may be partially due to the txtsetup.sif file.) I guess I'll try and be more specific when I'm seperating PE from normal booting. I guess I'l just say that if I'm trying to boot like any normal computer, I'll say normal, and if I mean booting through the PE on the hard drive, well I think you get what I mean wink.gif

What I seem to be finding is BartPE and related create their on SYSTEM registry on the spot, so I doubt I'll be able to load anything unless I find a way I can tweak it. So, I guess what I want to do now is find a way to make the registry non-volatile.
rdsok
Perhaps a bit of explaination on the why's is in order... aka some history that most already know... mixed in with some perseptions of my own as to why some things were done... in short, some history and some of my own conjecture of what was done and why... but without a lot of specifics that shouldn't be needed here.


With the release of the NT kernel came another format for the file/disk system that provided a lot more security than the previous FAT based ones provided and also more reliability because it was a journeling file system... we know this as NTFS. ( Can you say very over-simplified... lol, there are many features of NTFS not mentioned ). At first this file system and Windows itself had a limitation... the OS needed to start from a FAT based system which meant that Windows itself had to reside on a less secure file system. This limitation was removed with XP since it could boot from an NTFS system.

BTW... Microsoft purposely chose to not backport NTFS support to their previous OS's for other reasons other than just technical ones some of which were in part security and part to help combat piracy concerns...

Speaking of piracy concerns, this had been a very big issue for Microsoft so this needs to figure into the picture at some point so keep this in mind in a bit.

The other thing that needed to be addressed was how to implement the installation of XP since previous methods didn't take NTFS into account. So, MS needed a way to implement a roll out to a lot of systems so they came up with a limited API version of XP called WinPE to help install the OS for OEM companies as well as enterprise companies.

There was an issue that WinPE brought with it... users could also use it to build a hacked version of XP that didn't address the piracy issue that had been addressed with activation. So Microsoft placed limits on the PE version that wouldn't allow it to keep changes to the registry as well as a time limit ( as well as others ) that it was allowed to run.

So when WinPE was created they addressed two major issues... the ability to do massive roll-outs to multiple systems... and also keep a lid on others using the PE to pirate their software. The issue with a PE needing to reboot every so often was worked around... the other limitaion was not.
TGP1994
Ah, this is what I mentioned back in Boot-land, thank you rdsok. Ya, I had a feeling this was kind of getting into a grey-ish area, although I can assure you that I have no priate intentions, this is only for my education. (Although I'm sure Microsoft doesn't care.) Well, this is too bad.
rdsok
If you do or do not have pirating intentions is not the point... the point is that the limitations of PE are there... which you've been told many times but do not seem to want to take for what you have been told... so that is the BECAUSE portion you were told before..

In short, why it is that way ... is also the reason because you can't do everything you are asking...


There is also one other part... the unless part.... UNLESS YOU can find a way to do it that many others much more experienced then you has never found....


A PE OS has limitations BECAUSE they were programmed into it. The Linux live CD's ( if I may use an unrelated example ) do not have those limitions because they were not programmed with them.
TGP1994
Right, so, I guess the registry was a dead end after all. Maybe I can experiment with the live cds instead, or try reactOS.

Again, thanks for your time, guys. If you have any last minute ideas, I'd be glad to hear 'em.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.