Jump to content











Photo
* * * * * 1 votes

MicroPE x64


  • Please log in to reply
27 replies to this topic

#1 Xiaopang

Xiaopang

    Member

  • Members
  • 36 posts
  •  
    Iran

Posted 09 March 2010 - 11:16 AM

Some time ago I needed an environment that would give me as much RAM as possible for command line programs. Since I have 4GB RAM, using a 64bit OS was inevitable. At first I created an x64 PE 1.5 based on PicoXP, but had to realize that XP seemingly uses more RAM if more is available to supposedly cache files and whatnot. I wasn't able to lower RAM usage thanks to this issue.

I switched to WinPE 3.0 in the hopes that I could tweak it enough to get around this problem and I did. Here are the stats:

File system size: 45MB (uncompressed)
File count: 140
Registry size: 1.29Mb
Supported peripherals: SATA and IDE drives, Keyboards
RAM usage: 111MB (without pagefile)

Sooner or later I'll slim the registry down some more to get it below 1MB. Also, the file count and size could be much smaller if I kicked out all additional ide-drivers. Since I only need this environment to run a batch-file, I could even get rid of cmd.exe (including its dependencies). This would lower the file count by 15 files and the final size by may be 1.5MB. However, I left it in for the sake of usability.

I'm pretty much satisfied with what I achieved. There are only two things that I would want to improve:

1. While I was able to get rid of some security features, I wasn't able to remove the cryptography functionality. This makes up for 2.5MB alone and who knows how much RAM. I was able to remove it to a point where the boot process didn't BSOD, but only sat there, just before calling conhost.exe. So I guess I overlooked some registry entries or something.

2. PE 3.0 still caches files (or does something else that eats more RAM than it actually needs). So in order to get rid of this excess buffering, I use 7z to clear out the memory. Usually, I'd use a memory cleaner, but I couldn't find one that was both command line only and supported x64. The more elegant way of course would be to disable PE's RAM-eating behavior directly, but I couldn't find an option. I'm not even sure what exactly is going on. Still, I'm glad I found a way around this issue.

Here's a screenshot of MicroPE x64 in action:

Posted Image



Download MicroPE x64 1.0

#2 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 09 March 2010 - 04:52 PM

Very small indeed .... :ranting2:

Can you publish a list of files in MicroPE x64 and if possible publish the registry files.

May be you can give some more info on how to make MicroPE x64

#3 Xiaopang

Xiaopang

    Member

  • Members
  • 36 posts
  •  
    Iran

Posted 09 March 2010 - 05:29 PM

Thanks. The small size was just coincidental. If a 1GB PE would have given me the benefit of that much free memory I would have settled with that one instead :ranting2:

I plan to write a small tutorial on how to shrink PE 3.0 and install it, but for now the file listing and registry should do :ranting2:

If anyone has any ideas of how to get rid of some of the remaining file dependencies (sortdefault.nls needs to go badly) then I'd be glad to hear some suggestions.

Attached Files



#4 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 09 March 2010 - 05:34 PM

Good work "n a n a g a" :ranting2:
I do not know these pe2/3 stuff well, but your results are verrry exciting. Keeping an eye here :ranting2:
:ranting2:

#5 Xiaopang

Xiaopang

    Member

  • Members
  • 36 posts
  •  
    Iran

Posted 09 March 2010 - 05:41 PM

Thanks :ranting2: I don't know about how boot-land would like it if I uploaded MicroPE directly to save people some trouble. After all, PE 3.0 is freely available through WAIK 2.0. Still, unless I get a green light, I'll leave it with the registry and file listing. If it's okay then I could offer it as Virtual Machine and raw files.

I should add that both the registry and file listing are optimized for an AMD CPU. Most if not all references to Intel based CPU's have been removed, so Intel owners would need some serious updating first to get this to run.

#6 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 09 March 2010 - 05:51 PM

Sorry, no green light around for files,
but, it is very popular here to provide files from a source (cd/dvd/folder).

If not hard I would advice a small batch (.cmd) to create a bootable .iso. Maybe wimb can help for this task.

:ranting2:

#7 Xiaopang

Xiaopang

    Member

  • Members
  • 36 posts
  •  
    Iran

Posted 09 March 2010 - 06:01 PM

No problem. Well, I won't provide a batch for a bootable ISO since this would require also extra work since I also removed CD-ROM support :ranting2:

As for installation, all a user needs would be the "apply"-switch of imagex to install a vanilla PE 3.0 to a hard drive and then replace the content of the windows folder with the one provided. This can be done with a batch too. More skilled users can place MicroPE's "Windows" directory in the root of a hard drive and can then use EasyBCD to make this drive bootable and to add the necessary entry to the bootmgr.
  • Computer Guru likes this

#8 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 09 March 2010 - 06:07 PM

No problem. Well, I won't provide a batch for a bootable ISO since this would require also extra work since I also removed CD-ROM support :ranting2:

HAHAHA, you made me really laugh. :ranting2: :ranting2:

Well as you wrote before, a tutorial for new users will be nice too. :ranting2: Just edit your post #1 for tutorial and attach files to post #1 for others to find easly. :ranting2:

Have fun :ranting2: :ranting2:

#9 Xiaopang

Xiaopang

    Member

  • Members
  • 36 posts
  •  
    Iran

Posted 09 March 2010 - 06:25 PM

:ranting2:

I'll write the tutorial on my blog and will provide a link here. I should also note that I removed USB-support, so I don't know how using a USB-keyboard would play out with MicroPE. I only have PS2 ones. As for the tutorial, I'm not sure when I'll get around writing it.May be this evening, may be tomorrow.

#10 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 March 2010 - 06:25 PM

Excellent work!

Distributing files from MS without their consent is not allowed even if they are free to get from their site.. :ranting2:

However, you can write a simple winbuilder project to automate the building tasks.

When I mean simple, I mean simple. Just one or two scripts to prepare the folder structure, copy files over from the WAIK, put the registry and see it fly.

That's the type of task for which wb was made for.

You can use WinRoot: http://winbuilder.ne...load.php?view.6 Even though it was meant for XP, you can use it as base or example of how to create a simple project.

:ranting2:

#11 Xiaopang

Xiaopang

    Member

  • Members
  • 36 posts
  •  
    Iran

Posted 09 March 2010 - 06:41 PM

Thanks :ranting2:

I had feared that you guys would try to make me write a Winbuilder script lol. Oh well, I'll check it out. Can't hurt getting into this kind of automation, can it? As for Microsoft's stance on file distribution: It's understandable. I think before I start getting into Winbuilder scripts, I'll release a delta-file so that people can get a byte-by-byte copy of my work without me actually distributing any MS-code.

#12 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 09 March 2010 - 06:46 PM

Batch program Make_PE3.cmd or AutoIt3 GUI program Make_PE3.exe are already available to make pe3.iso

In fact it would need may be only some small changes to make Micro_PE.cmd ......

http://www.911cd.net...o...21883&st=35

#13 Xiaopang

Xiaopang

    Member

  • Members
  • 36 posts
  •  
    Iran

Posted 09 March 2010 - 07:06 PM

Thanks for the hint wimb, but I'm faster utilizing my own concepts than trying to understand those of other people :ranting2: May be you can make the necessary MakePE-adjustments once you get hold of MicroPE, may be I can do it, but for now I'll try to get MicroPE out and write down what I still remember instead of getting into new stuff first :ranting2: My brain is like a full glass of water, if you catch my drift :ranting2:

#14 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 09 March 2010 - 07:11 PM

I advice wimb's way too.

It is our good old always working .cmd file. :ranting2:

Whenever you find time and no need to learn new stuff :ranting2:. :ranting2:

and no need rush, slowly slowly everything will get more clear every day :ranting2:

#15 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 09 March 2010 - 07:17 PM

Very good, no need to hurry :ranting2:

By the way, did you try the same with 32-bits PE 3.0 ?

I don't have here x64 , but would like to try for x86 version ....

#16 Xiaopang

Xiaopang

    Member

  • Members
  • 36 posts
  •  
    Iran

Posted 09 March 2010 - 07:17 PM

lol easier said than done :ranting2: For now I'll concentrate on the tutorial. Details are already slipping my mind...

@wimb: No I didn't. My sole motivation was to max out my free RAM so an x86 version wouldn't have helped here. After all, MicroPE is a working environment for me that I actually use and not just proof of concept :ranting2:

May be someone can try to reproduce an x86 version based on my tutorial and tell me what worked and what didn't. I don't think that there are too many differences. The registry will require some different edits, since it distinguishes between x86 and x64-versions of some files. Also the file system might differ in some instances, but there shouldn't be any radical differences.

#17 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 March 2010 - 08:08 PM

It's ironic that people see winbuilder as more complex than batch files.

If you see winroot you'll see what I mean. My first boot disk projects for windows PE were all based on batch files back in 2005: http://www.911cd.net...showtopic=12067

But there was a point where batch files would only make things a bit more complicated than what they should be. It's so much easier to just use the mouse and click once or twice to get things done.

So, this is the reason why I say that it's ironic that people don't see wb as tool for simple projects. Batch files are nice, but a good wb project can be so much easier and user friendly.

Especially for testing, you can really do a lot with scripts and if you want to share your work with others, it's an elegant way of doing things as long as they are kept simple and you don't make huge cryptic scripts that nobody else on earth will even bother to understand.

Look on winroot and then tell me that it's not easy to use or change:
Posted Image

:ranting2:

#18 Xiaopang

Xiaopang

    Member

  • Members
  • 36 posts
  •  
    Iran

Posted 09 March 2010 - 08:32 PM

I totally understand, but you know how it is: writing your own code is usually easier and a faster way than trying to understand that of other people. Unless a task is really complex and I actually don't have a clue about it, I usually prefer using my way.

Funnily enough you totally nailed it with your statement about Winbuilder. When I first tried to conquer the task of getting as much free memory as possible out of my comp, I actually did try Winbuilder and found it more confusing than getting down and dirty with the files myself:

http://www.boot-land...amp;#entry91683

That's why for MicroPE I used a vanilla version of PE instead of using the Winbuilder scripts as a basis. But don't worry, I'll provide a Winbuilder script and may be also a MakePE one. I just want to write a batch script for the delta file. After all, nothing beats a byte by byte copy of a project. :ranting2:

#19 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 10 March 2010 - 12:25 PM

I won't provide a batch for a bootable ISO since this would require also extra work since I also removed CD-ROM support :ranting2:

Actually I am interested in reducing the size of pe3.iso Boot Image file made with Make_PE3.exe for Windows PE 3.0 + GUI support.
The size of the ISO is now 170 MB but following your approach it would may be possible to reduce the size,
while keeping the functionality of pe3.iso (e.g. GUI and USB support).

Can you give me information on what to remove from the pe3.iso without loosing functionality ?

It would be very helpful if you can share your knowledge on how to reduce the size of Windows PE 3.0 ISO + GUI.

http://www.911cd.net...o...21883&st=35

#20 Xiaopang

Xiaopang

    Member

  • Members
  • 36 posts
  •  
    Iran

Posted 10 March 2010 - 12:46 PM

You will find that information in my upcoming tutorial :ranting2: I can't give you any specifics right now, since I would have to retrace all steps. I'll save that work for the tutorial write up. Reducing the size while keeping USB and CD-ROM support is no biggie. The drivers don't eat up that much space, your image should still end up around 50MB or less, unless you decide to keep more features :ranting2:

Currently, I'm preparing a bat for an automated MicroPE creation. Should be done in a couple of minutes. Then you can take a first look.

#21 Xiaopang

Xiaopang

    Member

  • Members
  • 36 posts
  •  
    Iran

Posted 10 March 2010 - 07:38 PM

Sorry for the double post. Just want to signal the release :ranting2:

Those couple of minutes I promised turned into a couple of hundred minutes, but I'm finished. I hereby announce my release :ranting2: Get it here:

Download MicroPE x64 1.0

I'll also update the first post with the link. I'm done for today. So no tutorial tonight. May be tomorrow. Now I just want to lean back and see if this works out for you :ranting2:

#22 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 11 March 2010 - 10:46 AM

Unpacking MicroPE x64 1.0.7z gives me 10 Errors and all filesizes are 0

Unsupported format. Is there something special to be done ?

#23 Xiaopang

Xiaopang

    Member

  • Members
  • 36 posts
  •  
    Iran

Posted 11 March 2010 - 10:57 AM

Yes, use a program that supports 7z-archives using LZMA2 such as 7z 9.10 itself or Winrar 3.91 and newer.

Which program gives you these errors?

#24 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 12 March 2010 - 07:57 AM

Yes, use a program that supports 7z-archives using LZMA2 such as 7z 9.10 itself or Winrar 3.91 and newer.

Which program gives you these errors?

7-Zip 9.10 is doing fine. Unpacking now OK.

The errors occurred on using 7-Zip 4.65 or WinRAR 3.62

Thanks for your help.
  • godksj likes this

#25 Xiaopang

Xiaopang

    Member

  • Members
  • 36 posts
  •  
    Iran

Posted 12 March 2010 - 10:38 AM

Glad to help. Let me know how it worked out for you :ranting2:

Edit: I checked out MakePE and the Winbuilder scripting system and I decided not to offer scripts for both solutions. I changed the file list in MakePE, yet the GUI complained that it couldn't find wlan-reg files that I didn't want to include in the first place. Also, it requires Windows 7 to be installed. The solution I offered runs on basically every operating system that supports WAIK 2.0, so I think I'll stick with that one. I also checked out the cmd-file, but I can't really see the point in rewriting it to the point where it basically just does the same thing what the batch I supplied does. I could go a different approach and copy the files from the mounted wim directly plus throwing in the slimmed registry, but I don't need MakePE for that. Quite frankly, it feels like performing surgery on an eye through the ass. Final verdict: A new code write up would be much easier and also the faster process than editing MakePE.cmd.

As for Winbuilder: It's a powerful scripting interpreter, but the documentation is not really noob friendly. I usually work my way through a problem by starting at the beginning, meaning taking a look at the first file and go from there. I thought I could write a quick script by modifying an existing one, but the Winbuilder documentation doesn't give the slightest clue which file is processed first. So I gave up after a few minutes. After all, the learning curve for distributing an additional solution to the one I provided would be higher than what I had to go through to make MicroPE itself. Since this is not very economical I'll leave it at that. I welcome any interested scripter though to make a Winbuilder and/or MakePE script.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users