Jump to content











Photo
- - - - -

Idea for a new script. PE it!


  • This topic is locked This topic is locked
80 replies to this topic

#1 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 08 January 2007 - 05:22 PM

Hi!
While reading through the sites about shrinking XP, whos links were so kindly provided to me! :P

It hit me. How about a 'PE it!' script?

When a user can slim down easily his or her XP to 300-400MB, it is quit usable for putting on a CD.
And if not, hey we have DVDs these days! :P

What is missing, is a way to turn the 'normal' install into a PE.

If there would be a way to transform a system, set up by a user, easily (for him) into a PE. That would blow BartPE and Reatogo right out of the water! :P

No idea how complicated it would be, but it would require the same knowledge, the projects do right now, i assume.
I imagine it would maybe even be somewhat simpler, as noone would have to hunt through the registry to find the missing keys anymore. :P

What do think? Complete nonsense or stroke of a genius? :P

#2 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 08 January 2007 - 05:30 PM

In many cases the most simple ideas are the most ingenious, too.

Currently I personally do not have any idea how to implement.

But this forum has several thousand members ....

Peter

#3 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 08 January 2007 - 06:11 PM

Why would there be a need for PE?

Wouldn't it be also possible to use the methods described by sanbarrow and create a P2P physical to physical windows partition and then just add the fbwf driver for enabling it on read-only media?

Perhaps sanbarrow or someone else can shed some light on this matter, but transforming things to PE would be time consuming mostly because of apps that wouldn't work so well under PE like office 2003 wich is a brainstorm to get it working under these conditions and yet so easy to install on regular desktops..

:P

#4 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 08 January 2007 - 08:01 PM

Don't want to cool you off too much, but the problem is that UNLESS the /minint switch is used, the Windows XP/2003 kernel NEEDS Write access to the media.

And if you are using a portable R/W media (USB stick or HD) there is already the XP on USB:
http://www.911cd.net...showtopic=14181
http://www.911cd.net...showtopic=14292

and yes, before anyone asks it does work with a XP reduced to about 500 Mb with nlite, though I did not took off everything that could be taken off.

jaclaz

#5 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 09 January 2007 - 12:04 AM

Don't want to cool you off too much, but the problem is that UNLESS the /minint switch is used, the Windows XP/2003 kernel NEEDS Write access to the media.

I know. That's why i thought about PEing it. :P Or with other words use the minint switch.
The idea was, if BartPE and Reatogo are able to extend a default minint to a more or less complete XP, why shouldn't the other way around work too? Creating a minint system out of a whole XP.

And if you are using a portable R/W media (USB stick or HD) there is already the XP on USB:
http://www.911cd.net...showtopic=14181
http://www.911cd.net...showtopic=14292

and yes, before anyone asks it does work with a XP reduced to about 500 Mb with nlite, though I did not took off everything that could be taken off.

jaclaz

I will have a look into the two links, but the problem with USB Sticks is the rather low amount of writes to it, before they break. :P
That's why i would wanna use the minint switch and the fbfw to get no writes to the drive at all. Eeigther because it's read only or because it better should be used as read only.
fbfw alone though might be good enough, XPembedded used it for running of ro media, didn't it?


My general thinking was like this:
- User sets up XPsystem to his liking (installed programs, serials, settings ...)
- User runs our magical PEit (PEit would have to be run from a before created PE-CD, i presume) (1 click creation?)
- PEit overwrites the default settings with the minint ones
- PEit replaces Registry keys for hardware with ones for default drivers
- PEit changes the HAL to HAL.dll
- PEit adopts the registry and system files (changing locations to X or Z)
- PEit replaces M$ Plug&Play with our PE version
- PEit installs the fbfw driver into the system
- PEit creates ISO / burns the whole thing to CD/DVD
- super-over-hyper happy user :P

#6 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 09 January 2007 - 11:13 AM

I know. That's why i thought about PEing it. :P Or with other words use the minint switch.
The idea was, if BartPE and Reatogo are able to extend a default minint to a more or less complete XP, why shouldn't the other way around work too? Creating a minint system out of a whole XP.
I will have a look into the two links, but the problem with USB Sticks is the rather low amount of writes to it, before they break. :P
That's why i would wanna use the minint switch and the fbfw to get no writes to the drive at all. Eeigther because it's read only or because it better should be used as read only.
fbfw alone though might be good enough, XPembedded used it for running of ro media, didn't it?
My general thinking was like this:
- User sets up XPsystem to his liking (installed programs, serials, settings ...)
- User runs our magical PEit (PEit would have to be run from a before created PE-CD, i presume) (1 click creation?)
- PEit overwrites the default settings with the minint ones
- PEit replaces Registry keys for hardware with ones for default drivers
- PEit changes the HAL to HAL.dll
- PEit adopts the registry and system files (changing locations to X or Z)
- PEit replaces M$ Plug&Play with our PE version
- PEit installs the fbfw driver into the system
- PEit creates ISO / burns the whole thing to CD/DVD
- super-over-hyper happy user :P


A one-click solution could perhaps use reactOS - the binaries can freely be distributed and downloaded (have you ever tried this project?), so it would be easy to use a live version to run this PEit application and perform the needed changes on the windows install.

NTFS is an obstacle since it's not very well digested by ROS, so I'd recommend using a slax OS since they seem to workaround it pretty well and it's also open source.

But then you'd have some issues dealing with the registry, but wouldn't the wineAPI be our friend to deal with reg hives?

And these are only suggestions for running PEit - I guess the ideal way would likely be running PEit from the system meant to be modified - there are ways to workaround the security restrictions and modify needed files, no to mention the easier way to acess the registry and ntfs partition.

The simpler the better.. :P

#7 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 09 January 2007 - 11:59 AM

And these are only suggestions for running PEit - I guess the ideal way would likely be running PEit from the system meant to be modified - there are ways to workaround the security restrictions and modify needed files, no to mention the easier way to acess the registry and ntfs partition.

The simpler the better.. :P

I'm alergic to copying a running Winsystem! :P
I do not have the best experiences of copying or backing up a running system. Do we have some Admin here, who could share his point of view?

Redefined some aspects of the project.
- Drive letter does not need to be changed. Xp isn't DOS and there is no automatic partition numbering
- Windows folder might need to be renamed to i386, unless somebody knows a way, to let the loader use a folder called Windows. :P
- Registry and system file entries have to be change acordingly.

Basicly, i wanna do a proper Install of XP and then do a 'repair install' of PE over it.

Would please someone, with intimate knowledge about the internal workings of PE, point out the problems, so that i can address them!

#8 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 09 January 2007 - 12:39 PM

A one-click solution could perhaps use reactOS - the binaries can freely be distributed and downloaded (have you ever tried this project?), so it would be easy to use a live version to run this PEit application and perform the needed changes on the windows install.

Yep, tryed ReactOS. Kept crashing on me.
For the 1 click creation, i thought about a PicoXP with the FreeDOS files kickt out again, so that GUI applications work again and then WB set as shell.

#9 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 09 January 2007 - 12:42 PM

Still think it would be so much easier to make a windows install "transportable"..

There are all sort of things that would fail to start under PE - try starting with visual themes and user accounts - don't think that's even supported, not to mention that the winAPI on PE is is too limited - I'm trying to avoid being pessimist here but it seems an overwhelming task.. On the other hand, why not? As long as someone is willing to try it - we can always learn something new with this experience! :P

#10 smiley

smiley

    Silver Member

  • .script developer
  • 905 posts
  •  
    Greece

Posted 09 January 2007 - 12:45 PM

Nice idea MedEvil :P

#11 Alexei

Alexei

    Silver Member

  • .script developer
  • 664 posts

Posted 09 January 2007 - 01:23 PM

:P everybody :P

I don't think, PEing of existing XP would be too hard, though it all depends on two things:
- what of XP functionality you want to keep
- to what extent you want it to be hardware independent.
I see following steps of PEing:
- build minimal PE on HD
- add most of files from XP
- add to PE registry information from XP registry
- install EWF and move to CD
However, I see a really huge work in merging registry :P

Regarding /minint: /cmdcons may worse a try

:P
Alexei

#12 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 09 January 2007 - 01:38 PM

Still think it would be so much easier to make a windows install "transportable"..

How?

There are all sort of things that would fail to start under PE - try starting with visual themes and user accounts - don't think that's even supported

If PE can only handle 1 account then we only use 1 account, don't see that as a problem, just a limitation.
Visual themes? Like XPstyle/classic style or more like windows blinds?

not to mention that the winAPI on PE is is too limited

:P The API on PE is more limited than the one on the normal XP? How come?
The features of the API depend on the available dlls and with my plan, we will have them all, or most at least. :P

#13 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 09 January 2007 - 01:55 PM

I don't think, PEing of existing XP would be too hard, though it all depends on two things:
- what of XP functionality you want to keep
- to what extent you want it to be hardware independent.

If possible all of it. :P
And i would like it to be as hardware independant as a normal PE. Actually, think this would be easier than having it behave different from a normal PE. :P

I see following steps of PEing:
- build minimal PE on HD
- add most of files from XP
- add to PE registry information from XP registry
- install EWF and move to CD
However, I see a really huge work in merging registry :P

I thought rather the other way around. My way, i could simply overwrite the Registry of the installed XP with the PE one to get a unified one, since the PE Regisrty is only a fraction of what the full one will be.

Regarding /minint: /cmdcons may worse a try

Sorry, don't get that. Could you elaborate?

#14 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 09 January 2007 - 04:17 PM

If PE can only handle 1 account then we only use 1 account, don't see that as a problem, just a limitation.


I do not believe that minint can handle only one account - at least I use __vmware_user__ and __vmware__ user-group in my BartPEs since two years to work around having to run an authorization service.
(those 2 accounts are created when you install VMware to a regular Windows)

Anyway - has anyone tried anything practical on this idea yet ?
I just added the minint switch to the boot-ini entry of a regular 2k3-sp1. It booted fine - though it no longer had a pagefile configured.
The switch /minint loads the system-hive into RAM - so it doesn't allow to record any changes. You can even delete the hive \config\system.

Next I tried to replace the regular hive by a PE system hive. On next boot I got an early BSOD I never saw before claiming a Licence-Violation.
Well maybe that hive I used was from XP - got to try again ...

screenshot is here
http://sanbarrow.com...e-violation.gif

#15 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 09 January 2007 - 04:27 PM

Windows XP is DESIGNED to be NOT portable, or however MS did everything in it's power (and something more :P ) to make it portable VERY difficult.

About Write cycles on USB FLASHdevices, one could use

fbfw alone though might be good enough, XPembedded used it for running of ro media, didn't it?

EWF, NOT fbwf!
http://www.911cd.net...showtopic=14614
http://www.911cd.net...showtopic=16239

However, UNLESS you use NTFS, with modern wear-leveling techiques the lifetime of a FLASH based device is more thaqn enough.

Of course a USB Hard Disk poses NO problems of this kind.

But still there are a few "problems" with portability, apart from LICENSE legal considerations:
1) Activation
2) Disk signature
3) File protection (WFP/SFC)

So, as always, nothing is impossible, but it can be very hard at times....:P

jaclaz

#16 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 09 January 2007 - 04:27 PM

SYSTEM_LICENSE_VIOLATION?? :P

Hmm.. there seems much more to learn here! :P


Why not merging the PE hive inside the regular one as well?

Just giving ideas, but I wish you good luck with your experiments! :P

#17 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 09 January 2007 - 05:13 PM

SYSTEM_LICENSE_VIOLATION?? :P

Hmm.. there seems much more to learn here! :P
Why not merging the PE hive inside the regular one as well?

Just giving ideas, but I wish you good luck with your experiments! :P

I tried same stunt again with a hive that definely came from 2k3-sp1 as well > same story.

Tried to boot once with /minint switch and then deleted config\system and injected a working setupreg.hiv into system32 > this time system complained because the system hive was not found ...

Anyone has an idea why PE looks in setupreg.hiv and a regular Windows with /minint switch added looks in config\system ?

I think I will look into the changes to the system-hive caused by sysprep ...

#18 smiley

smiley

    Silver Member

  • .script developer
  • 905 posts
  •  
    Greece

Posted 09 January 2007 - 05:47 PM

I think that creating a pe from an existant windows instalation is possible but REALLY difficult.

First you have to read this:

When you run windows with the /MININT switch then windows loads system32\setupreg.hiv hive and doesn't write any changes of the registry in the original hives

When you run Windows with a command line (HKEY_LOCAL_MACHINE\SYSTEM\Setup\CmdLine) winlogon executes the command line and doesn't use the original method to complete booting. This means that it doesn't support many users but execute the comand line in the SYSTEM user. That's why it doesn't support many users and themes don't work.

PE enviroments use both of the above wich means that it won't work like normal instalation.

About the SYSTEM_LICENSE_VIOLATION you can read more about that error *somewhere* in this thread :http://www.mp3car.co...ead.php?t=37724
(it has 17 pages)

I suppose that if the set blank the HKEY_LOCAL_MACHINE\SYSTEM\Setup\CmdLine key it would work better
Note: you shoud set these settings:
[HKEY_LOCAL_MACHINE\SYSTEM\Setup]

"SetupType"=dword:00000000

"SystemSetupInProgress"=dword:00000000

"CmdLine"=hex(7):00,00


I hope I have helped you .Good luck

John

#19 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 09 January 2007 - 07:30 PM

When you run windows with the /MININT switch then windows loads system32\setupreg.hiv hive and doesn't write any changes of the registry in the original hives


Are you sure ? - my last experiments booted without having setupreg.hiv in system32

#20 smiley

smiley

    Silver Member

  • .script developer
  • 905 posts
  •  
    Greece

Posted 09 January 2007 - 07:40 PM

Are you sure ? - my last experiments booted without having setupreg.hiv in system32


If it doesn't find system32\setupreg.hiv it will load system32\config\system

#21 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 09 January 2007 - 08:02 PM

Ah - I see.
Is this general Windows-behaviour or the result of the /minint switch ?

#22 smiley

smiley

    Silver Member

  • .script developer
  • 905 posts
  •  
    Greece

Posted 09 January 2007 - 08:08 PM

Ah - I see.
Is this general Windows-behaviour or the result of the /minint switch ?


I'm not sure but I think that it happens only with /minint

#23 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 09 January 2007 - 08:20 PM

Anyway - has anyone tried anything practical on this idea yet ?
I just added the minint switch to the boot-ini entry of a regular 2k3-sp1. It booted fine - though it no longer had a pagefile configured.
The switch /minint loads the system-hive into RAM - so it doesn't allow to record any changes. You can even delete the hive \config\system.

Hey you're far ahead of me. :P I'm only just setting up a testmachine.
My first try will be to check the hardware portability with default drivers and HAL.dll

Next I tried to replace the regular hive by a PE system hive. On next boot I got an early BSOD I never saw before claiming a Licence-Violation.
Well maybe that hive I used was from XP - got to try again ...

I don't think, that you can mix hives from different builds without problems. Especialy since SP2.

#24 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 09 January 2007 - 08:24 PM

Anyone has an idea why PE looks in setupreg.hiv and a regular Windows with /minint switch added looks in config\system ?

I think, that has to do with the fact, that the one uses setupldr, while the other uses ntldr. ?

#25 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 09 January 2007 - 09:02 PM

I think, that has to do with the fact, that the one uses setupldr, while the other uses ntldr. ?

Good idea - I believe you are right - in setupldr you can find the string SETUPREG whereas ntldr doesn't have it.

MedEvil - just a stupid question :P
I just thought what I could do with the PEit transformed Windows that I can not already do now ?

Run your autocad, dreamweaver,office 2007 from a portable disk on any host ?
You can already do this quite easily: get a Slax-LiveCD with VMplayer and create a XP virtual machine with all the stuff you need - and put it into a Fat32 USB-traveldisk ...
Or if you are ready to read thru a badly documented outdated BartPE - get the MOA-stuff from my site. (2k3-sp1 based BartPE with VMware-workstation - outruns Slax)

This allows to run your apps where-ever you are - well not exactly anywhere - you know about all that driver-issues ...

Ignore this stupid question :P - let's do some research instead :P :P :P

Ulli




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users