Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Sign in to follow this  
ruffryda

Best Way To Shrink Pe Down?

Recommended Posts

Ok so I'm working with 2003SP1 and PE 1.5 to use Ghost32.exe. I need networking support and scripting support as well. I have everything working perfectly. My only problem is that I am booting from a RAM disk so I want to make the image smaller. I know there is a remove files list, but that will strip my networking and possibly my scripting out of the image.

Does anyone have a list that they have put together that will reduce the size of the image but leave scripting and networking support there?

Or is there an easy way to figure out what files I don't need?

Thanks a ton.

-Brian

Share this post


Link to post
Share on other sites

Nobody bothers to reduce the size of their PE image???

Microsoft provides two files called SERVERSP1-REMOVELIST.TXT and XPSP2-REMOVELIST.TXT in the PE 2005 build.

I believe there is also a file called for PE 2004. Look in the SAMPLES directory on the PE CD.

The Help files also has documentation of reducing the size of PE.

Chris

Share this post


Link to post
Share on other sites
Microsoft provides two files called SERVERSP1-REMOVELIST.TXT and XPSP2-REMOVELIST.TXT in the PE 2005 build.

I believe there is also a file called for PE 2004. Look in the SAMPLES directory on the PE CD.

The Help files also has documentation of reducing the size of PE.

You are correct, but that remove list blows away network support and everything. The documentation only says to refer to the list. I figured that with so many people using a RAM disk and what not, that they would try to reduce the size of their images. Maybe not.

Brian

Share this post


Link to post
Share on other sites

You are correct, but that remove list blows away network support and everything. The documentation only says to refer to the list. I figured that with so many people using a RAM disk and what not, that they would try to reduce the size of their images. Maybe not.

Correct. This is only a reference. You need to know what you use for networking.

Here is a safe list.. Start here.

I turned it into a small script.

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\angsaz.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\artrbdo.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\artro.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\browa.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\browab.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\browai.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\browau.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\browaub.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\browaui.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\browauz.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\browaz.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\comic.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\comicbd.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\cordia.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\cordiab.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\cordiai.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\cordiau.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\cordiaub.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\cordiaui.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\cordiauz.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\cordiaz.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\david.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\davidbd.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\davidtr.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\estre.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\frank.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\gautami.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\georgia.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\georgiab.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\georgiai.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\georgiaz.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\impact.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\latha.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\mriam.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\mriamc.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\mriamfx.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\mriamtr.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\mvboli.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\nrkis.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\pala.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\palab.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\palabi.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\palai.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\raavi.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\rod.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\rodtr.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\shruti.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\simpbdo.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\simpfxo.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\simpo.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\trebuc.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\trebucbd.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\trebucbi.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\trebucit.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\tunga.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcdb.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcdbi.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcdi.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcdl.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upceb.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcebi.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcei.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcel.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcfb.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcfbi.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcfi.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcfl.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcib.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcibi.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcii.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcil.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcjb.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcjbi.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcji.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcjl.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upckb.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upckbi.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcki.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upckl.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upclb.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upclbi.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcli.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\Fonts\upcll.ttf

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\afcnt.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\cpqfcalm.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\lp6nds35.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\ql1080.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\ql12160.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\ql1240.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\ql1280.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\ql2100.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\ql2200.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\ql2300.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\rasacd.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\raspppoe.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\raspptp.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\rawwan.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\rocket.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\rootmdm.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\sonydcam.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\speed.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\stlnata.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\sx.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\tbatm155.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\tos4mo.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\tsbvcap.sys

del %1\WinPE1.2.ISOBuilder\pecd.root\I386\system32\drivers\wanarp.sys

Chris

Share this post


Link to post
Share on other sites

Hmm I notice that your post references PE 1.2. I'm building with 1.5 and using Server 2003 with SP1. I'm not sure if that list will work.

Brian

Share this post


Link to post
Share on other sites
Hmm I notice that your post references PE 1.2.  I'm building with 1.5 and using Server 2003 with SP1.  I'm not sure if that list will work.

Brian

I use this list with PE 1.6. Should be the same for 1.5 or very little variation.

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\angsaz.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\artrbdo.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\artro.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\browa.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\browab.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\browai.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\browau.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\browaub.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\browaui.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\browauz.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\browaz.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\comic.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\comicbd.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\cordia.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\cordiab.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\cordiai.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\cordiau.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\cordiaub.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\cordiaui.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\cordiauz.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\cordiaz.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\david.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\davidbd.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\davidtr.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\estre.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\frank.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\gautami.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\georgia.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\georgiab.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\georgiai.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\georgiaz.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\impact.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\latha.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\mriam.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\mriamc.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\mriamfx.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\mriamtr.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\mvboli.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\nrkis.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\pala.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\palab.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\palabi.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\palai.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\raavi.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\rod.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\rodtr.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\shruti.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\simpbdo.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\simpfxo.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\simpo.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\trebuc.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\trebucbd.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\trebucbi.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\trebucit.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\tunga.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcdb.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcdbi.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcdi.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcdl.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upceb.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcebi.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcei.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcel.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcfb.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcfbi.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcfi.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcfl.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcib.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcibi.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcii.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcil.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcjb.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcjbi.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcji.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcjl.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upckb.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upckbi.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcki.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upckl.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upclb.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upclbi.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcli.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\Fonts\upcll.ttf

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\afcnt.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\cpqfcalm.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\lp6nds35.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\ql1080.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\ql12160.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\ql1240.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\ql1280.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\ql2100.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\ql2200.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\ql2300.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\rasacd.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\raspppoe.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\raspptp.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\rawwan.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\rocket.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\rootmdm.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\sonydcam.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\speed.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\stlnata.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\sx.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\tbatm155.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\tos4mo.sys

del %1\WinPE2005.ISOBuilder\pecd.root\I386\system32\drivers\wanarp.sys

Chris

Share this post


Link to post
Share on other sites

OK, perhaps a good list of what each file in the REMOVELIST is used for does not exist. So why don't we make one? Might I suggest that we start with a stock SERVERSP1-REMOVELIST.TXT file and add comment lines that "auto-remove" scripts will ignore. Here, i started on the INF/Drivers section. Any line starting with a : should be ignored, so just add colons where you want to keep the driver.

:--Network Adapters --

:"1394 Net Adapter"

inf\net1394.inf

:"DC21x4 Based Network Adapter Driver"

inf\net21x4.inf

system32\drivers\dc21x4.sys

:"3Com 10/100 MiniPCI Ethernet Adapter Driver"

inf\net3c556.inf

system32\drivers\el556nd5.sys

:"3Com Gigabit Ethernet Server NIC (SX/TX)"

inf\net3c985.inf

system32\drivers\el985n51.sys

:"Intel® PRO Adapter Driver"

:inf\net557.inf

:system32\drivers\e100b325.sys

:system32\drivers\e100b645.sys

:"3Com Megahertz 10/100 LAN CardBus PC Card Driver"

inf\net575nt.inf

system32\drivers\el575nd5.sys

Share this post


Link to post
Share on other sites

I do two things: Delete a big huge pile of files, and then compress some other ones with UPX (freeware EXE/DLL/COM compressor) First, here is the batch code that I use as the "parent" for the whole process:

@ECHO OFF
set scriptpath=c:\winpe2005\samples
set pe_path=%1
if not defined pe_path goto usage
if not exist "%pe_path%" goto usage
if exist "%scriptpath%\logfile.txt" del logfile.txt >nul
if exist "%scriptpath%\delete.txt" call :DeleteFiles
if exist "%scriptpath%\compress.txt" call :CompressFiles
goto DeleteDirectories

:DeleteFiles
ECHO Deleting files
for /f "eol=;" %%i in (%scriptpath%\delete.txt) do if exist "%pe_path%\i386\%%i" del "%pe_path%\i386\%%i" >>logfile.txt
goto :EOF

:CompressFiles
ECHO Compressing Files
for /f "eol=;" %%i in (%scriptpath%\compress.txt) do if exist "%pe_path%\i386\%%i" upx -9 -f -q "%pe_path%\i386\%%i" >>logfile.txt
goto :EOF

:DeleteDirectories
if exist "%pe_path%\i386\help" rd "%pe_path%\i386\help" /s /q
if exist "%pe_path%\i386\Registration" rd "%pe_path%\i386\Registration" /s /q
goto :EOF

:Usage
ECHO.
ECHO Usage: cleanup.cmd pe_path
ECHO Where "pe_path" is the root of your customized PE image (ex: C:\WinPE)
ECHO.

Usage from a commandline is "cleanup.cmd c:\pe_path" where pe_path is the root of your customized PE image (don't specify c:\pe_path\i386)

THen, I have two individual files that contain a list of things to either delete or compress. Here is the delete.txt file:

;Delete.TXT file -- Last updated 2006-03-14
;Jason xxxxxx, Operations Lead, CSS
;Yum Brands INC
;
;To be used in conjunction with WindowsPE Cleanup script file
;This listing is for WindowsPE 1.6 (2005) based on NT 2003 SP1 operating system
;
;Unused files from I386 Root
;
bootfix.bin
spcmdcon.sys
startrom.com
winbom.ini
spcmdcon.sys
biosinfo.inf
setupldr.exe
;
;Unused fonts
;
fonts\8514fix.fon
fonts\8514oem.fon
fonts\8514sys.fon
fonts\ahronbd.ttf
fonts\andlso.ttf
fonts\angsa.ttf
fonts\angsab.ttf
fonts\angsai.ttf
fonts\angsau.ttf
fonts\angsaub.ttf
fonts\angsaui.ttf
fonts\angsauz.ttf
fonts\angsaz.ttf
fonts\app850.fon
fonts\arial.ttf
fonts\arialbd.ttf
fonts\arialbi.ttf
fonts\ariali.ttf
fonts\ariblk.ttf
fonts\artrbdo.ttf
fonts\artro.ttf
fonts\browa.ttf
fonts\browab.ttf
fonts\browai.ttf
fonts\browau.ttf
fonts\browaub.ttf
fonts\browaui.ttf
fonts\browauz.ttf
fonts\browaz.ttf
fonts\cga40850.fon
fonts\cga40woa.fon
fonts\cga80850.fon
fonts\cga80woa.fon
fonts\comic.ttf
fonts\comicbd.ttf
fonts\cordia.ttf
fonts\cordiab.ttf
fonts\cordiai.ttf
fonts\cordiau.ttf
fonts\cordiaub.ttf
fonts\cordiaui.ttf
fonts\cordiauz.ttf
fonts\cordiaz.ttf
fonts\cour.ttf
fonts\courbd.ttf
fonts\courbi.ttf
fonts\courf.fon
fonts\couri.ttf
fonts\david.ttf
fonts\davidbd.ttf
fonts\davidtr.ttf
fonts\dosapp.fon
fonts\ega40850.fon
fonts\ega40woa.fon
fonts\ega80850.fon
fonts\ega80woa.fon
fonts\estre.ttf
fonts\framd.ttf
fonts\framdit.ttf
fonts\frank.ttf
fonts\gautami.ttf
fonts\georgia.ttf
fonts\georgiab.ttf
fonts\georgiai.ttf
fonts\georgiaz.ttf
fonts\impact.ttf
fonts\latha.ttf
fonts\lucon.ttf
fonts\lvnm.ttf
fonts\lvnmbd.ttf
fonts\l_10646.ttf
fonts\mangal.ttf
fonts\modern.fon
fonts\mriam.ttf
fonts\mriamc.ttf
fonts\mriamfx.ttf
fonts\mriamtr.ttf
fonts\mvboli.ttf
fonts\nrkis.ttf
fonts\pala.ttf
fonts\palab.ttf
fonts\palabi.ttf
fonts\palai.ttf
fonts\raavi.ttf
fonts\rod.ttf
fonts\rodtr.ttf
fonts\roman.fon
fonts\script.fon
fonts\seriff.fon
fonts\shruti.ttf
fonts\simpbdo.ttf
fonts\simpfxo.ttf
fonts\simpo.ttf
fonts\smallf.fon
fonts\sseriff.fon
fonts\sylfaen.ttf
fonts\symbol.ttf
fonts\tahoma.ttf
fonts\tahomabd.ttf
fonts\times.ttf
fonts\timesbd.ttf
fonts\timesbi.ttf
fonts\timesi.ttf
fonts\tradbdo.ttf
fonts\trado.ttf
fonts\trebuc.ttf
fonts\trebucbd.ttf
fonts\trebucbi.ttf
fonts\trebucit.ttf
fonts\tunga.ttf
fonts\upcdb.ttf
fonts\upcdbi.ttf
fonts\upcdi.ttf
fonts\upcdl.ttf
fonts\upceb.ttf
fonts\upcebi.ttf
fonts\upcei.ttf
fonts\upcel.ttf
fonts\upcfb.ttf
fonts\upcfbi.ttf
fonts\upcfi.ttf
fonts\upcfl.ttf
fonts\upcib.ttf
fonts\upcibi.ttf
fonts\upcii.ttf
fonts\upcil.ttf
fonts\upcjb.ttf
fonts\upcjbi.ttf
fonts\upcji.ttf
fonts\upcjl.ttf
fonts\upckb.ttf
fonts\upckbi.ttf
fonts\upcki.ttf
fonts\upckl.ttf
fonts\upclb.ttf
fonts\upclbi.ttf
fonts\upcli.ttf
fonts\upcll.ttf
fonts\verdana.ttf
fonts\verdanab.ttf
fonts\verdanai.ttf
fonts\verdanaz.ttf
fonts\vga850.fon
fonts\vga860.fon
fonts\vga863.fon
fonts\vga865.fon
fonts\vgafix.fon
fonts\vgaoem.fon
fonts\vgasys.fon
fonts\webdings.ttf
fonts\wingding.ttf
;
;Unused Keyboard localization files
;
system32\kbdbe.dll
system32\kbdbr.dll
system32\kbdca.dll
system32\kbdda.dll
system32\kbddv.dll
system32\kbdes.dll
system32\kbdfc.dll
system32\kbdfi.dll
system32\kbdfr.dll
system32\kbdgae.dll
system32\kbdgr.dll
system32\kbdgr1.dll
system32\kbdic.dll
system32\kbdir.dll
system32\kbdit.dll
system32\kbdit142.dll
system32\kbdla.dll
system32\kbdmac.dll
system32\kbdne.dll
system32\kbdnec.dll
system32\kbdno.dll
system32\kbdpo.dll
system32\kbdsf.dll
system32\kbdsg.dll
system32\kbdsp.dll
system32\kbdsw.dll
system32\kbduk.dll
system32\kbdusl.dll
system32\kbdusr.dll
system32\kbdusx.dll
;
;Unused Network components
;
system32\azroles.dll
system32\azroleui.dll
system32\eqnclass.dll
system32\eqndiag.exe
system32\eqnlogr.exe
system32\eqnloop.exe
system32\fltmc.exe
system32\hkcmd.exe
system32\ntsd.exe
system32\oakley.dll
system32\peer.exe
system32\spxcoins.dll
system32\spxports.dll
system32\xlog.exe
;
;Spooler service
;
system32\spoolss.dll
system32\spoolsv.exe
system32\localspl.dll
system32\win32spl.dll
;
;Control panels
;
system32\desk.cpl
system32\firewall.cpl
system32\igfxcpl.cpl
system32\intl.cpl
system32\mmsys.cpl
system32\netsetup.cpl
;
;Misc components
;
system32\autochk.exe
system32\autofmt.exe
system32\ksproxy.ax
system32\ksuser.dll
system32\odbc16gt.dll
system32\odbc32.dll
system32\odbc32gt.dll
system32\odbcbcp.dll
system32\odbcconf.dll
system32\odbccp32.cpl
system32\odbccp32.dll
system32\odbccr32.dll
system32\odbcint.dll
system32\odbcji32.dll
system32\odbcjt32.dll
system32\odbcp32r.dll
system32\odbctrac.dll
system32\pentnt.exe
system32\query.dll
system32\setup.exe
system32\sysdown.exe
system32\wdmaud.drv
system32\xmlprov.dll
system32\xmlprovi.dll
system32\oc.bat
system32\oc2.bat
;
;International Localization files
;
system32\c_037.nls
system32\c_10000.nls
system32\c_10006.nls
system32\c_10007.nls
system32\c_10010.nls
system32\c_10017.nls
system32\c_10029.nls
system32\c_10079.nls
system32\c_10081.nls
system32\c_10082.nls
system32\c_1026.nls
system32\c_1250.nls
system32\c_1251.nls
system32\c_1253.nls
system32\c_1254.nls
system32\c_1255.nls
system32\c_1256.nls
system32\c_1257.nls
system32\c_1258.nls
system32\c_20127.nls
system32\c_20261.nls
system32\c_20866.nls
system32\c_20905.nls
system32\c_21866.nls
system32\c_28592.nls
system32\c_28593.nls
system32\c_28598.nls
system32\c_28605.nls
system32\c_500.nls
system32\c_737.nls
system32\c_775.nls
system32\c_850.nls
system32\c_852.nls
system32\c_855.nls
system32\c_857.nls
system32\c_860.nls
system32\c_861.nls
system32\c_863.nls
system32\c_865.nls
system32\c_866.nls
system32\c_869.nls
system32\c_874.nls
system32\c_875.nls
system32\c_932.nls
system32\c_936.nls
system32\c_949.nls
system32\c_950.nls
;
;Unused Driver Files
;
system32\drivers\etc\lmhosts.sam
system32\drivers\adptsf50.sys
system32\drivers\aec.sys
system32\drivers\ali5261.sys
system32\drivers\an983.sys
system32\drivers\arp1394.sys
system32\drivers\asyncmac.sys
system32\drivers\atmarpc.sys
system32\drivers\atmlane.sys
system32\drivers\atmuni.sys
system32\drivers\b1.t4
system32\drivers\b1cbase.sys
system32\drivers\b1tr6.t4
system32\drivers\b1usa.t4
system32\drivers\bcm4e5.sys
system32\drivers\bioprime.bin
system32\drivers\bxnd51x.sys
system32\drivers\bxvbdx.sys
system32\drivers\cb102.sys
system32\drivers\cben5.sys
system32\drivers\ce3n5.sys
system32\drivers\cem28n5.sys
system32\drivers\cem33n5.sys
system32\drivers\cem56n5.sys
system32\drivers\changer.sys
system32\drivers\cnxt1803.sys
system32\drivers\cpqtrnd5.sys
system32\drivers\crusoe.sys
system32\drivers\defpa.sys
system32\drivers\dfe650.sys
system32\drivers\dfe650d.sys
system32\drivers\dgsetup.dll
system32\drivers\diwansrv.sys
system32\drivers\dm9pci5.sys
system32\drivers\dp83820.sys
system32\drivers\ds4bri.bit
system32\drivers\ds4bri2.bit
system32\drivers\dsbri2f.bit
system32\drivers\dsbri2m.bit
system32\drivers\dspdload.bin
system32\drivers\dspdqsig.bin
system32\drivers\el556nd5.sys
system32\drivers\el575nd5.sys
system32\drivers\el656cd5.sys
system32\drivers\el656ct5.sys
system32\drivers\el656nd5.sys
system32\drivers\el656se5.sys
system32\drivers\el90xbc5.sys
system32\drivers\el90xnd5.sys
system32\drivers\el985n51.sys
system32\drivers\el98xn5.sys
system32\drivers\el99xn51.sys
system32\drivers\el99xrun.out
system32\drivers\emu10k1b.sys
system32\drivers\eqn.sys
system32\drivers\fa410nd5.sys
system32\drivers\fetnd5.sys
system32\drivers\forehe.sys
system32\drivers\ibmtok.sys
system32\drivers\ibmtrp.sys
system32\drivers\ip5515.sys
system32\drivers\islp2nds.sys
system32\drivers\kmixer.sys
system32\drivers\ks.sys
system32\drivers\ktc111.sys
system32\drivers\lmndis3.sys
system32\drivers\lp6nds35.sys
system32\drivers\mdgndis5.sys
system32\drivers\msmpu401.sys
system32\drivers\mxnic.sys
system32\drivers\n1000325.sys
system32\drivers\n100325.sys
system32\drivers\ne2000.sys
system32\drivers\netwlan5.img
system32\drivers\netwlan5.sys
system32\drivers\nwlnkipx.sys
system32\drivers\nwlnknb.sys
system32\drivers\nwlnkspx.sys
system32\drivers\nwrdr.sys
system32\drivers\otc06x5.sys
system32\drivers\otceth5.sys
system32\drivers\pc100nds.sys
system32\drivers\pca200e.bin
system32\drivers\pca200e.sys
system32\drivers\pcibios.bin
system32\drivers\pcifep.bin
system32\drivers\pcntpci5.sys
system32\drivers\pcx500.sys
system32\drivers\portcls.sys
system32\drivers\q57xp32.sys
system32\drivers\ql2100.sys
system32\drivers\ql2200.sys
system32\drivers\ql2300.sys
system32\drivers\redbook.sys
system32\drivers\rocket.sys
system32\drivers\rootmdm.sys
system32\drivers\rt8169xp.sys
system32\drivers\sdp0.2q0
system32\drivers\sdp1.2q0
system32\drivers\sfmatalk.sys
system32\drivers\sisnic.sys
system32\drivers\sk98xwin.sys
system32\drivers\skfpwin.sys
system32\drivers\sonydcam.sys
system32\drivers\splitter.sys
system32\drivers\stlnata.sys
system32\drivers\stream.sys
system32\drivers\swmidi.sys
system32\drivers\sysaudio.sys
system32\drivers\tape.sys
system32\drivers\tbatm155.sys
system32\drivers\tjisdn.sys
system32\drivers\usbcamd.sys
system32\drivers\usbcamd2.sys
system32\drivers\w840nd.sys
system32\drivers\wdmaud.sys
system32\drivers\wlluc48.sys
system32\drivers\xem336n5.sys
;
;Unused INF files
;
inf\battery.inf
inf\bxnd.inf
inf\bxvbd.inf
inf\intl.inf
inf\ks.inf
inf\mf.inf
inf\monitor.inf
inf\msports.inf
inf\net1394.inf
inf\net3c556.inf
inf\net3c985.inf
inf\net5515n.inf
inf\net557.inf
inf\net575nt.inf
inf\net650d.inf
inf\net656c5.inf
inf\net656n5.inf
inf\net713.inf
inf\net83820.inf
inf\netaarps.inf
inf\netali.inf
inf\netamd2.inf
inf\netan983.inf
inf\netana.inf
inf\netatlk.inf
inf\netauni.inf
inf\netb57xp.inf
inf\netbcm4e.inf
inf\netbeac.inf
inf\netbrdgm.inf
inf\netbrdgs.inf
inf\netcb102.inf
inf\netcbe.inf
inf\netce3.inf
inf\netcem28.inf
inf\netcem33.inf
inf\netcem56.inf
inf\netcis.inf
inf\netclass.inf
inf\netcmak.inf
inf\netcpqc.inf
inf\netcpqg.inf
inf\netcpqi.inf
inf\netcpqmt.inf
inf\netcps.inf
inf\netctmrk.inf
inf\netdav.inf
inf\netdefxa.inf
inf\netdf650.inf
inf\netdgdxb.inf
inf\netdhcps.inf
inf\netdhoc.inf
inf\netdm.inf
inf\netdns.inf
inf\nete1000.inf
inf\netel90a.inf
inf\netel90b.inf
inf\netel980.inf
inf\netel99x.inf
inf\netepvcm.inf
inf\netepvcp.inf
inf\netf56n5.inf
inf\netfa410.inf
inf\netfore.inf
inf\netforeh.inf
inf\netfw.inf
inf\netfxocm.inf
inf\netgpc.inf
inf\netias.inf
inf\netibm.inf
inf\netibm2.inf
inf\netip6.inf
inf\netiprip.inf
inf\netlanem.inf
inf\netlanep.inf
inf\netlm.inf
inf\netlm56.inf
inf\netloop.inf
inf\netlpd.inf
inf\netmacpr.inf
inf\netmacsv.inf
inf\netmadge.inf
inf\netmhzn5.inf
inf\netnb.inf
inf\netnm.inf
inf\netnmtls.inf
inf\netnovel.inf
inf\netnwcli.inf
inf\netnwlnk.inf
inf\netoc.inf
inf\netosi2c.inf
inf\netosi5.inf
inf\netpc100.inf
inf\netpgm.inf
inf\netprism.inf
inf\netpsa.inf
inf\netpschd.inf
inf\netrasa.inf
inf\netrass.inf
inf\netrast.inf
inf\netrndis.inf
inf\netrqs.inf
inf\netrtxp.inf
inf\netrwan.inf
inf\netsap.inf
inf\netserv.inf
inf\netsis.inf
inf\netsk98.inf
inf\netsk_fp.inf
inf\netsnip.inf
inf\netsnmp.inf
inf\nettb155.inf
inf\nettiger.inf
inf\nettpsmp.inf
inf\nettun.inf
inf\netvt86.inf
inf\netw840.inf
inf\netwlan.inf
inf\netwlbs.inf
inf\netwlbsm.inf
inf\netwv48.inf
inf\netwzc.inf
inf\netx500.inf
inf\netx56n5.inf
inf\wdmaudio.inf
;
;Unneeded INTEL video driver files
;
system32\ialmuARA.dll
system32\ialmuARB.dll
system32\ialmuCHS.dll
system32\ialmuCHT.dll
system32\ialmuCSY.dll
system32\ialmuDAN.dll
system32\ialmuDEU.dll
system32\ialmudlg.exe
system32\ialmuELL.dll
system32\ialmuESP.dll
system32\ialmuFIN.dll
system32\ialmuFRA.dll
system32\ialmuFRC.dll
system32\ialmuHEB.dll
system32\ialmuHUN.dll
system32\ialmuITA.dll
system32\ialmuJPN.dll
system32\ialmuKOR.dll
system32\ialmuNLD.dll
system32\ialmuNOR.dll
system32\ialmuPLK.dll
system32\ialmuPTB.dll
system32\ialmuPTG.dll
system32\ialmuRUS.dll
system32\ialmuSVE.dll
system32\ialmuTHA.dll
system32\ialmuTRK.dll
system32\igfxcfg.exe
system32\igfxext.exe
system32\igfxpers.exe
system32\igfxrara.lrc
system32\igfxrchs.lrc
system32\igfxrcht.lrc
system32\igfxrcsy.lrc
system32\igfxrdan.lrc
system32\igfxrdeu.lrc
system32\igfxrell.lrc
system32\igfxresp.lrc
system32\igfxrfin.lrc
system32\igfxrfra.lrc
system32\igfxrheb.lrc
system32\igfxrhun.lrc
system32\igfxrita.lrc
system32\igfxrjpn.lrc
system32\igfxrkor.lrc
system32\igfxrnld.lrc
system32\igfxrnor.lrc
system32\igfxrplk.lrc
system32\igfxrptb.lrc
system32\igfxrptg.lrc
system32\igfxrrus.lrc
system32\igfxrsve.lrc
system32\igfxrtha.lrc
system32\igfxrtrk.lrc
system32\igfxsrvc.exe
system32\igfxtray.exe
system32\igfxzoom.exe
system32\igldev32.dll
system32\iglicd32.dll

Keep an eye on the things I've entered into the INF and DRIVERS sections, as you may have different hardware needs than my company does.

Here is the compress.txt file:

;Compress.TXT file -- Last updated 2006-03-14
;Jason xxxxxx, Operations Lead, CSS
;Yum Brands INC
;
;To be used in conjunction with WindowsPE Cleanup script file
;This listing is for WindowsPE 1.6 (2005) based on NT 2003 SP1 operating system
;
SYSTEM32\attrib.exe
SYSTEM32\bcwipe.dll
SYSTEM32\bcwipe.exe
SYSTEM32\chkdsk.exe
SYSTEM32\cscript.exe
SYSTEM32\defrag.exe
SYSTEM32\dfrgfat.exe
SYSTEM32\dfrgntfs.exe
SYSTEM32\diskpart.exe
SYSTEM32\dxtmsft.dll
SYSTEM32\dxtrans.dll
SYSTEM32\eject.exe
SYSTEM32\factory.exe
SYSTEM32\format.com
SYSTEM32\iedkcs32.dll
SYSTEM32\iepeers.dll
SYSTEM32\ipconfig.exe
SYSTEM32\jscript.dll
SYSTEM32\mshtml.dll
SYSTEM32\mstime.dll
SYSTEM32\notepad.exe
SYSTEM32\ping.exe
SYSTEM32\process.exe
SYSTEM32\prounstl.exe
SYSTEM32\reg.exe
SYSTEM32\regedit.exe
SYSTEM32\scrobj.dll
SYSTEM32\scrrun.dll
SYSTEM32\taskmgr.exe
SYSTEM32\vbscript.dll
SYSTEM32\wscript.exe
SYSTEM32\xcopy.exe
SYSTEM32\ximage.exe

Be careful with applications or DLL files that you compress. For example, while you CAN compress SHELL32.DLL, the result is your PE image will use up ~40mb more memory. The reason is because any app or DLL you compress with UPX will result in that app or DLL not being able to be "instanced" within memory... Many DLL files are loaded once but then "instanced" over and over again for various pieces that need to be reused by apps. If you UPX one such DLL, for every "instance" the OS needs, it will reload the DLL one more time instead of just being allowed to reuse code already in ram.

Share this post


Link to post
Share on other sites

Thanks Albuquerque for your scripts.

I have myself posted two scripts with some "take care of" logic in it.

Files are deleted according to data listed in txtsetup.sif or .inf files and i have to add some exceptions.

Storage class device driver, remove default one included in WinPE 1.5 (2004) & WinPE 1.6 (2005)

Network Driver Interface Specification (NDIS) miniport driver, remove default one included in WinPE 1.5 (2004) & WinPE 1.6 (2005)

My next step is to keep only base minimum required fonts.

And then binary files.

I will use your scripts to remove them but your list includes some files not related to WinPE: i.e. i don't have ximage.exe in \I386\SYSTEM32

Edited by Bilou_Gateux

Share this post


Link to post
Share on other sites

@Albuquerque

I don't know if you've been following the latest developments of batcher and the other projects, but microPE has a few scripts that can be used directly in your windows PE.

microPE can go as low as a bootable winXP 16Mb folder, but I don't think you'll need this result, so I'd recommend using only the compressing scripts - wich will compress and UPX most of the drivers and other files in the I386 folder gaining around 20Mb.

An average microPE ISO is around 45Mb with net support and some other good tools - they can probably use your windows PE as source instead of a bartPE (I just never tested it this way but guess they work quite look alike..)

This project is being developed in the boot land forums..

Good luck!

B)

Share this post


Link to post
Share on other sites
You are correct, but that remove list blows away network support and everything. The documentation only says to refer to the list. I figured that with so many people using a RAM disk and what not, that they would try to reduce the size of their images. Maybe not.

Brian

Well, what it does is remove all the drivers. If you are in a controlled environment, just add the specific drivers you need for the network adaptors in your environment using the driver inject utility(this is what I do...). Works fine...

Edited by JuMz

Share this post


Link to post
Share on other sites

As I mentioned earlier, make sure to test with files that you've UPX'd. I ran into a problem where VBS could no longer enumerate file system objects (FSO.SetObject stuff). Turns out one of the files I compressed killed that functionality somehow and I never knew it.

Also look at ram utilization. You can safely compress a TON of exe's and dll's in the PE build, but many of them will result in massive increases in memory usage. A great example is SHELL32.DLL -- it's 8mb uncompressed, and about 2mb compressed. Sounds like a great way to save 6mb of disk space, especially if you're using a ramdrive, right?

Not really, as that 6mb of saved disk space on my build translated to more than 30mb additional memory usage within PE when it was booted. I only UPX-compress DLL files and EXE's that I know are not multiple-instanced, such as format.exe and my BCWipe utility and a few other items.

As for my scripts -- they do an "if exist" so it really doesn't matter if your delete.txt or compress.txt has extra entries, as it will only apply the changes to files that exist.

Share this post


Link to post
Share on other sites

UPX is a bit agressive when it comes to resources that are stored inside an EXE or DLL - these resources expect to find data at a predefined offset - and this is the reason why most of the time these dll's fail to work properly causing BSOD when booting windows.

MakeCab on the other hand is quite safe to be used on most (not all..) dll's or system drivers - windows has a native handling of cab files, so it can automatically unarchive and run these compressed files without further issues.

These tests are the result from experiences using a bartPE as source - but I guess they are also valid for windows PE since all the targeted files that I've cross compared match between them.

A minimum bartPE win2003 based build sized in a bootable 16Mb ISO - wich only gave a command console, ntfs support and little more.. a "regular" microPE based on bartPE is sized in 40Mb with full network support, ntfs and includes third party freeware programs like xoblite and some other admin free tools to add more functionality..

If you want fast results, I'd recommend downloading microPE and let batcher do all the hard work, otherwise you can always use the filenames listed below to get you started with some "fail-safe" values..

This a snippet of micrope_Compressed.script it will UPX and CAB compress a selected number of files wich are tested and work just fine under compression. It will upx a few files in the system32 dir and makecab the rest of dll's and sys files that only support this cab compression, you should add more files to this list since this one was made using an already very reduced XP PE version (around 120 files)..

[process]
Echo,1,"UPX compressing 17 files"
Echo,1,"Extracting UPX to tempdir"
ExtractAllFiles,1,"%ScriptFile%","Folder","%tempdir%"
Echo,1,"UPX'ing advapi32.dll (1/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\advapi32.dll"
Echo,1,"UPX'ing comctl32.dll (2/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\comctl32.dll"
Echo,1,"UPX'ing comdlg32.dll (3/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\comdlg32.dll"
Echo,1,"UPX'ing crypt32.dll (4/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\crypt32.dll"
Echo,1,"UPX'ing lsasrv.dll (5/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\lsasrv.dll"
Echo,1,"UPX'ing netapi32.dll (6/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\netapi32.dll"
Echo,1,"UPX'ing rpcrt4.dll (7/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\rpcrt4.dll"
Echo,1,"UPX'ing samsrv.dll (8/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\samsrv.dll"
Echo,1,"UPX'ing scesrv.dll (9/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\scesrv.dll"
Echo,0,"UPX'ing shell32.dll (10/17)"
ShellExecute,0,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\shell32.dll"
Echo,1,"UPX'ing setupapi.dll (11/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\setupapi.dll"
Echo,1,"UPX'ing sxs.dll (12/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\sxs.dll"
Echo,1,"UPX'ing ufat.dll (13/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\ufat.DLL"
Echo,1,"UPX'ing untfs.dll (14/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\untfs.dll"
Echo,1,"UPX'ing user32.dll (15/17)"
ShellExecute,0,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\user32.dll"
Echo,1,"UPX'ing userenv.dll (16/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\userenv.dll"
Echo,1,"UPX'ing wldap32.dll (17/17)"
ShellExecute,1,"hide","%tempdir%\upx.exe","-9 %TargetDir%\i386\system32\wldap32.dll"
FileDelete,1,"%tempdir%\upx.exe"
Echo,1,"CAB compressing 21 files"
Echo,1,"CAB'ing bootvid.dll (1/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\bootvid.dll %TargetDir%\i386\system32\bootvid.dl_"
FileDelete,1,"%TargetDir%\i386\system32\bootvid.dll"
Echo,1,"CAB'ing hal.dll (2/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\hal.dll %TargetDir%\i386\system32\hal.dl_"
FileDelete,1,"%TargetDir%\i386\system32\hal.dll"
Echo,1,"CAB'ing halaacpi.dll (3/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\halaacpi.dll %TargetDir%\i386\system32\halaacpi.dl_"
FileDelete,1,"%TargetDir%\i386\system32\halaacpi.dll"
Echo,1,"CAB'ing halacpi.dll (4/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\halacpi.dll %TargetDir%\i386\system32\halacpi.dl_"
FileDelete,1,"%TargetDir%\i386\system32\halacpi.dll"
Echo,1,"CAB'ing halapic.dll (5/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\halapic.dll %TargetDir%\i386\system32\halapic.dl_"
FileDelete,1,"%TargetDir%\i386\system32\halapic.dll"
Echo,1,"CAB'ing halmacpi.dll (6/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\halmacpi.dll %TargetDir%\i386\system32\halmacpi.dl_"
FileDelete,1,"%TargetDir%\i386\system32\halmacpi.dll"
Echo,1,"CAB'ing halmps.dll (7/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\halmps.dll %TargetDir%\i386\system32\halmps.dl_"
FileDelete,1,"%TargetDir%\i386\system32\halmps.dll"
Echo,1,"CAB'ing halsp.dll (8/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\halsp.dll %TargetDir%\i386\system32\halsp.dl_"
FileDelete,1,"%TargetDir%\i386\system32\halsp.dll"
Echo,1,"CAB'ing kdcom.dll (9/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\kdcom.dll %TargetDir%\i386\system32\kdcom.dl_"
FileDelete,1,"%TargetDir%\i386\system32\kdcom.dll"
Echo,1,"CAB'ing ntoskernel.exe (10/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\ntoskrnl.exe %TargetDir%\i386\system32\ntoskrnl.ex_"
FileDelete,1,"%TargetDir%\i386\system32\ntoskrnl.exe"
Echo,1,"CAB'ing acpi.sys (11/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\acpi.sys %TargetDir%\i386\system32\drivers\acpi.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\acpi.sys"
Echo,1,"CAB'ing acpiec.sys (12/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\acpiec.sys %TargetDir%\i386\system32\drivers\acpiec.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\acpiec.sys"
Echo,1,"CAB'ing cdfs.sys (13/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\cdfs.sys %TargetDir%\i386\system32\drivers\cdfs.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\cdfs.sys"
Echo,1,"CAB'ing fastfat.sys (14/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\fastfat.sys %TargetDir%\i386\system32\drivers\fastfat.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\fastfat.sys"
Echo,1,"CAB'ing isapnp.sys (15/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\isapnp.sys %TargetDir%\i386\system32\drivers\isapnp.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\isapnp.sys"
Echo,1,"CAB'ing ksecdd.sys (16/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\ksecdd.sys %TargetDir%\i386\system32\drivers\ksecdd.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\ksecdd.sys"
Echo,1,"CAB'ing ntfs.sys (17/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\ntfs.sys %TargetDir%\i386\system32\drivers\ntfs.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\ntfs.sys"
Echo,1,"CAB'ing pci.sys (18/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\pci.sys %TargetDir%\i386\system32\drivers\pci.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\pci.sys"
Echo,1,"CAB'ing setupdd.sys (19/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\setupdd.sys %TargetDir%\i386\system32\drivers\setupdd.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\setupdd.sys"
Echo,1,"CAB'ing spddlang.sys (20/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\spddlang.sys %TargetDir%\i386\system32\drivers\spddlang.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\spddlang.sys"
Echo,1,"CAB'ing wmilib.sys (21/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\wmilib.sys %TargetDir%\i386\system32\drivers\wmilib.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\wmilib.sys"
Echo,1,"CAB'ing mup.sys (21/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\mup.sys %TargetDir%\i386\system32\drivers\mup.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\wmilib.sys"
Echo,1,"CAB'ing ks.sys (21/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\ks.sys %TargetDir%\i386\system32\drivers\ks.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\ks.sys"
Echo,1,"CAB'ing ftdisk.sys (21/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\ftdisk.sys %TargetDir%\i386\system32\drivers\ftdisk.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\ftdisk.sys"
Echo,1,"CAB'ing atapi.sys (21/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\atapi.sys %TargetDir%\i386\system32\drivers\atapi.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\atapi.sys"
Echo,1,"CAB'ing null.sys (21/21)"
ShellExecute,1,"hide","%SourceDir%\i386\system32\makecab.exe"," %TargetDir%\i386\system32\drivers\null.sys %TargetDir%\i386\system32\drivers\null.sy_"
FileDelete,1,"%TargetDir%\i386\system32\drivers\null.sys"

btw:

UPX'ing shell32.dll is an option youmust ponderate - most resources are contained inside it, and it will most likely give you a BSOD with some programs - it would be better if you added your programs, check if they run fine, then upx shell32.dll to see the results (migth spear you some time debugging..) :)

The memory needed to run all the UPX'ed files is quite reduntant in our days, if you're booting a computer with at least 128Mb RAM you'll be just fine.. a mini PE version can even be loaded into RAM on a 128Mb RAM computer - I've tried it myself and it works like a charm..

You can also significantly reduce size removing blank lines and empty spaces in all text based files on your build, let me know if need further help achieving this..

Good luck!

:)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...