无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 61481|回复: 86
打印 上一主题 下一主题

建议:用oscdimg.exe帮助用户提取合适体积PE

[复制链接]
跳转到指定楼层
1#
发表于 2009-6-3 10:53:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在的WINPE都追求全,功能多,但是都忽视了体积。很大用户仅仅是使用PE搞下维护,并且很少用到PE。体积太大的话看着害怕。

好在我们有oscdimg.exe这个工具。

下边我提供下思路:

比如,我制作了一个220M的PE,想从它的里边提取骨头版,45M维护型,90M网络版,所以我就写了个程序,程序看着多,但是主程序就仅仅一句(红色部分),希望各位制作PE提供坛友使用的老大们能将它移植过去,帮助用户快速DIY。。附上代码和所用文件。 MAKEISO.rar (60.14 KB, 下载次数: 5195)

@Echo Off
PUSHD %~dp0
COLOR 0B
Set Prog=小马WinPE专用单ISO提取程序
Set L1=      ╭══════════════════╮
Set L2=      ║                  ║
Set L3=   ╭══┤    小马WinPE专用单ISO提取程序     ├══╮
Set L4=   ║  ║                  ║  ║
Set L5=   ║  ╰══════════════════╯  ║
Set L6=   ║                        ║
Set L7=   ╟════════════════════════╢
Set L8=   ║ 版权所有:深度mapeimapei          盗版不究  ║
Set L9=   ╰────────────────────────╯
Title %Prog%
::CheckOS
if /i not "%os%."=="Windows_NT." goto SystemErro
::判断系统版本并设置TheOS
ver|find /i " 6.1">nul &&set Winver=WIN7&&  set TheOS=WIN7
ver|find /i " 6.0">nul &&set Winver=vista&&  set TheOS=Vista
ver|find /i " 5.0">nul &&set Winver=winnt&&  set TheOS=2000
ver|find /i " 5.1">nul &&set Winver=winnt&&  set TheOS=XP
ver|find /i " 5.2">nul &&set Winver=winnt&&  set TheOS=2003
goto Start
:SystemErro
cls
Echo.
Echo.
Echo  注意:未经测试,本软件可能不适用于非 Windows PE/2000/XP/2003/Vista/WIN7 操作系统。
Echo  按回车键退出安装程序
Pause >nul
Exit
:Start
CLS
Title %Prog%——提取
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo    ║  请选择提取模式:               ║
Echo %L6%
Echo    ║ [1] 提取骨头版WINPE      (仅含有内核)     ║
Echo    ║                                              ║
Echo    ║ [2] 提取45M迷你U盘版     (外置仅含有basic包)  ║
Echo    ║                                              ║
Echo    ║ [3] 提取90M带网络维护版  (含有网路和安装程序) ║
Echo    ║                                              ║
Echo    ║ [Q] 退出提取模式                ║
Echo %L6%
Echo %L7%
Echo %L7%
Echo %L8%
Echo %L9%
Echo.
Echo       您现在使用的是 Windows %TheOS% 操作系统 !
if "%TheOS%"=="XP" Echo       ( 或 Windows XP 核心的 WinPE )
if "%TheOS%"=="2003" Echo       ( 或 Windows 2003 核心的 WinPE )
if "%TheOS%"=="Vista" Echo       ( 请确保您拥有管理员权限以及关闭了UAC,否则安装可能失败 )
if "%TheOS%"=="WIN7" Echo       ( 请确保您拥有管理员权限以及关闭了UAC,否则安装可能失败 )
Echo.
::Set Choice=
Set /P Choice=   请选择要进行的操作 (1/2/3/Q) ,然后按回车:
If "%Choice%"=="" Goto Start
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="1" set mkiso=gutou.iso&&Goto gutou
If /I "%Choice%"=="2" set mkiso=45mu.iso&&Goto 45mu
If /I "%Choice%"=="3" set mkiso=90Mnet.iso&&Goto 90Mnet
If /I "%Choice%"=="Q" Exit
Goto Start

:gutou
Title 单独生成%mkiso%文件...
CLS
Echo.
Echo.
Set /P Save=请设定%mkiso%文件 存放的分区符[不需要冒号,例如 D(推荐)]:
Echo.&&Echo.
If Not "%Save%"=="" Set Save=%Save:~0,1%:
md %Save%\gutou
set isotem="%Save%\gutou"
Echo.
Echo.
Echo 正在整理必要文件,请稍后...
Copy WINPE.IM_ %isotem%\ /y>NUL 2>NUL
Copy WINNT.XPE %isotem%\ /y>NUL 2>NUL
Copy BOOTFONT.BIN %isotem%\ /y>NUL 2>NUL
XCOPY WXPE /E %isotem%\WXPE\ /Y /H /R>NUL 2>NUL
Cls
Echo.
Echo.
Echo 正在生成%mkiso%文件到%Save% 目录...
If Exist EZBOOT\Oscdimg.Exe If Exist EZBOOT\PE.BIF (
EZBOOT\Oscdimg.Exe -L"gutou" -T06/01/2009,00:00:00 -H -N -B"EZBOOT\PE.BIF" -O "%isotem%" "%Save%\gutou.iso">Nul
)

Goto SUCCESS
:45mu
Title 单独生成%mkiso%文件...
CLS
Echo.
Echo.
Set /P Save=请设定%mkiso%文件存放的分区符[不需要冒号,例如 D(推荐)]:
Echo.&&Echo.
If Not "%Save%"=="" Set Save=%Save:~0,1%:
md %Save%\45MU
set isotem="%Save%\45MU"
md %isotem%\MINIPE
Echo.
Echo.
Echo 正在整理必要文件,请稍后...
Copy WINPE.IM_ %isotem%\ /y>NUL 2>NUL
Copy WINNT.XPE %isotem%\ /y>NUL 2>NUL
Copy BOOTFONT.BIN %isotem%\ /y>NUL 2>NUL
Copy MINIPE\BASIC.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
Copy MINIPE\BLISS.JPG %isotem%\MINIPE\ /y>NUL 2>NUL
Copy MINIPE\WINPE.INI %isotem%\MINIPE\ /y>NUL 2>NUL
Copy MINIPE\LOADOP.INI %isotem%\MINIPE\ /y>NUL 2>NUL
XCOPY WXPE /E %isotem%\WXPE\ /Y /H /R>NUL 2>NUL
Echo.
Echo.
Echo 正在生成%mkiso%文件到%Save% 目录...
If Exist EZBOOT\Oscdimg.Exe If Exist EZBOOT\PE.BIF (
EZBOOT\Oscdimg.Exe -L"45MU" -T06/01/2009,00:00:00 -H -N -B"EZBOOT\PE.BIF" -O "%isotem%" "%Save%\45MU.iso">Nul
)
Goto SUCCESS
:90Mnet
Title 单独生成%mkiso%文件...
CLS
Echo.
Echo.
Set /P Save=请设定%mkiso%文件 存放的分区符[不需要冒号,例如 D(推荐)]:
Echo.&&Echo.
If Not "%Save%"=="" Set Save=%Save:~0,1%:
Md %Save%\90Mnet
set isotem="%Save%\90Mnet"
md %isotem%\MINIPE
Echo.
Echo.
Echo 正在整理必要文件,请稍后...
Copy WINPE.IM_ %isotem%\ /y>NUL 2>NUL
Copy WINNT.XPE %isotem%\ /y>NUL 2>NUL
Copy BOOTFONT.BIN %isotem%\ /y>NUL 2>NUL
Copy MINIPE\BASIC.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
Copy MINIPE\GHOST.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
Copy MINIPE\MMC.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
Copy MINIPE\DISKGENIUS.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
Copy MINIPE\OPERA.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
Copy MINIPE\SYSTEM.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
Copy MINIPE\WINPE.INI %isotem%\MINIPE\ /y>NUL 2>NUL
Copy MINIPE\LOADOP.INI %isotem%\MINIPE\ /y>NUL 2>NUL
Copy MINIPE\BLISS.JPG %isotem%\MINIPE\ /y>NUL 2>NUL
XCOPY WXPE /E %isotem%\WXPE\ /Y /H /R>NUL 2>NUL
XCOPY SETUP /E %isotem%\SETUP\ /Y /H /R>NUL 2>NUL
XCOPY EZBOOT /E %isotem%\EZBOOT\ /Y /H /R>NUL 2>NUL
Echo.
Echo.
Echo 正在生成%mkiso%文件到%Save% 目录...
If Exist EZBOOT\Oscdimg.Exe If Exist EZBOOT\PE.BIF (
EZBOOT\Oscdimg.Exe -L"90Mnet" -T06/01/2009,00:00:00 -H -N -B"EZBOOT\easy.bif" -O "%isotem%" "%Save%\90Mnet.iso">Nul
)
Goto SUCCESS

:SUCCESS
Title %Prog%——安装完成
CLS
Echo.
rd /s /q %isotem%
Cls
Echo.
Echo. %mkiso% 文件已成功生成至 %Save% 目录内...
Echo.
set /p Cho=返回主菜单继续制作请输入Y,否则按Enter(回车)退出。
if /i "%Cho%"=="Y" CALL :Start
Goto :EOF
exit



附上oscdimg的命令参数:

oscdimg [-blocation] [-d] [-h] [-j1] [-j2] [-llabelname] [-n] [-nt] [-o[i][s]] [-tmm/dd/yyyy,hh:mm:ss [-g]] [-x] sourceroot [image_file]

选项 描述 -b location
指定 El Torito 引导扇区文件的位置。不要使用任何空格。
例如,
-bc:\directory\Etfsboot.com
-d
不强制将小写字母文件名转换为大写字母。
-g
对所有文件使用通用协调时间 (UCT) 而不是当地时间。
-h
包括隐藏文件和目录。
-j1
对 Joliet Unicode 文件名进行编码,并在 ISO-9660 名称空间中生成符合 DOS 8.3 标准的文件名。这些文件名可以被 Joliet 系统或传统的 ISO-9660 系统读取,但是 Oscdimg 可能会更改 ISO-9660 命名空间中的一些文件名以符合 DOS 8.3 和/或 ISO-9660 命名限制。
当使用 -j1-j2 选项时,-d-n-nt 选项不会应用且无法使用。
-j2
对不含标准 ISO-9660 名称的 Joliet Unicode 文件名进行编码。(要求 Joliet 操作系统从 CD-ROM 读取文件。)
当使用 -j1-j2 选项时,-d-n-nt 选项不会应用且无法使用。
-l labelname
指定卷标。不要在 llabelname 之间使用空格。
例如,
-lMYLABEL
-n
允许使用长文件名。
-nt
允许与 Windows NT 3.51 兼容的长文件名。
-o
通过对重复的文件仅进行一次编码来优化存储。
-oi
通过对重复的文件仅进行一次编码来优化存储。比较文件时,忽略菱形压缩时间戳。
-os
通过对重复的文件仅进行一次编码来优化存储。在创建映像时显示重复的文件。
-ois
通过对重复的文件仅进行一次编码来优化存储。比较文件时,忽略菱形压缩时间戳。在创建映像时显示重复的文件。
-t mm/dd/yyyy,hh:mm:ss
为所有文件和目录指定时间戳。不要使用任何空格。使用美国日期格式和 24 小时制。可以在项目间使用任何分隔符。
例如,
-t12/31/2000,15:01:00
-x
计算并编码映像中的 AutoCRC 值。
sourceroot
必需。指定您要创建到 .iso 映像中的 Windows PE 文件的位置。
image_file
指定要从 Windows PE 文件创建的 .iso 映像文件的名称。
丝路商旅 http://www.you369.com

[ 本帖最后由 mapeimapei 于 2009-10-17 13:49 编辑 ]
2#
 楼主| 发表于 2009-6-3 10:53:33 | 只看该作者
贴几个图吧,这个思路很好,强烈建议大家跟进。。






小马2K3PE永久珍藏版 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=143513&highlight=
WINPE模块化驱动公测(磁盘&网&声&显驱动)http://bbs.wuyou.net/forum.php?mod=viewthread&tid=134718&highlight=
用oscdimg.exe帮助用户提取合适体积PE http://bbs.wuyou.net/forum.php?mod=viewthread&tid=143494&highlight=
强大的petools扩展目录搜索安装程序 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=140951&highlight=
shell32.dll的精简和优化 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=136881&highlight=
繁体版的PE http://bbs.wuyou.net/forum.php?mod=viewthread&tid=147269&highlight=

[ 本帖最后由 mapeimapei 于 2009-11-26 11:35 编辑 ]
回复

使用道具 举报

3#
发表于 2009-6-3 10:59:10 | 只看该作者
跟上。支持^_^。

比如hhh333的就好diy了。
回复

使用道具 举报

4#
发表于 2009-6-3 11:00:34 | 只看该作者
恩,不错 !!学习了!
回复

使用道具 举报

5#
发表于 2009-6-3 11:24:07 | 只看该作者
只提取系统文件和相应的wim么?....
似乎做个有checkbox的gui效果会更佳
回复

使用道具 举报

6#
 楼主| 发表于 2009-6-3 11:29:15 | 只看该作者
原帖由 neo4026 于 2009-6-3 11:24 发表
只提取系统文件和相应的wim么?....
似乎做个有checkbox的gui效果会更佳


要加载引导程序的,可以用ultraiso提前提取。。

不会做gui啊。
回复

使用道具 举报

7#
发表于 2009-6-3 11:34:31 | 只看该作者
真是好主意,支持一下!
回复

使用道具 举报

8#
发表于 2009-6-3 11:34:44 | 只看该作者
一个文字错误: [2] 提取45M迷你U盘版    (只很有basic包)
“只很有”应该是“只含有”吧 : >
回复

使用道具 举报

9#
 楼主| 发表于 2009-6-3 11:41:24 | 只看该作者
原帖由 x.Nichdlas 于 2009-6-3 11:34 发表
一个文字错误: [2] 提取45M迷你U盘版    (只很有basic包)
“只很有”应该是“只含有”吧 : >


修正了,谢谢提示。。。
回复

使用道具 举报

10#
发表于 2009-6-3 11:50:07 | 只看该作者
小马真是个牛人,隔几天就有新的教程发布,多几个这样的热心人士,中国就有希望了,哈哈
回复

使用道具 举报

11#
发表于 2009-6-3 11:54:48 | 只看该作者
局限性太大了吧?!不同PE里面目录和文件不一样。
能不能做个INI文件,比如GUTOU.INI,里面放目录及文件:
[wxpe]
*
[minipe]
BASIC.WIM
BLISS.JPG
WINPE.INI
...

*表示这个目录下文件都要拷贝
回复

使用道具 举报

12#
 楼主| 发表于 2009-6-3 12:04:59 | 只看该作者
所以才要为大家制作PE的老大们自行修改呀。。要是制作一个一键提取的,绝对可以搞定,但是PE的个性话全没了。也不好嘛。。
回复

使用道具 举报

13#
发表于 2009-6-3 12:07:30 | 只看该作者
呵~~~支持小马有新作品啊。。
回复

使用道具 举报

14#
发表于 2009-6-3 12:15:05 | 只看该作者
看来小马哥和H3的六·一过得好啊,刚刚过完节就发出重磅炸弹!!!
回复

使用道具 举报

15#
发表于 2009-6-3 12:29:50 | 只看该作者
支持一下,一个通用的工具也是不错的,呵呵

有时间了也尝试下,^_^
回复

使用道具 举报

16#
发表于 2009-6-3 12:43:13 | 只看该作者
oscdimg.exe,好东西,封装的最好的工具。
不像有的工具做的iso无法启动,而且,有它生成的iso,体积比较小。
我刻盘时都是用那个9pe自带的模板,做最后的iso,然后刻盘。
目前没有不能启动的情况,到底是MS自己的东西啊!
回复

使用道具 举报

17#
发表于 2009-6-3 12:51:17 | 只看该作者
这个提取工具对目标PE的支持如何?
回复

使用道具 举报

18#
发表于 2009-6-3 13:05:47 | 只看该作者
请教.

是不是所有的PE.都能提取呢?

对特定的....不要重编辑代码就好了.
回复

使用道具 举报

19#
 楼主| 发表于 2009-6-3 13:15:24 | 只看该作者
主代码就那么一句,分析下知道了。。不过还是建议将PE外置成组件话,模块化,这个对提取精简版的支持比较好。。呵呵
回复

使用道具 举报

20#
发表于 2009-6-3 13:51:47 | 只看该作者
原帖由 mapeimapei 于 2009-6-3 13:15 发表
主代码就那么一句,分析下知道了。。不过还是建议将PE外置成组件话,模块化,这个对提取精简版的支持比较好。。呵呵



你有能力

通过PECMD.INI 文件.自动判断PE结构类型.

IMG.ISO.启动BIN......等文件.做个万能的.........最好.

等待那一天.
回复

使用道具 举报

21#
 楼主| 发表于 2009-6-3 14:28:29 | 只看该作者
原帖由 66369 于 2009-6-3 13:51 发表



你有能力

通过PECMD.INI 文件.自动判断PE结构类型.

IMG.ISO.启动BIN......等文件.做个万能的.........最好.

等待那一天.



如果是毛桃0911的构架,外置是一个op.wim的话,就要用imagex对它部署到本地硬盘,然后对里边的文件进行操作,然后再封装。就像winpe2.0和3.0,那样操作boot.wim一样,有点麻烦。

如果是深度模块化外置的话,就不用imagex进行操作。。直接选择外置就行了。其中代表的有(深度V2 V2.5 V3.0,hhh333,玉之舞,从深度出来的基本都是这种外置方式)
回复

使用道具 举报

22#
发表于 2009-6-3 16:29:07 | 只看该作者
很强的样子,学习了,不太懂代码,看高手的了。。。
回复

使用道具 举报

23#
发表于 2009-6-3 17:27:57 | 只看该作者
真是有钻研精神啊,乐死不疲
回复

使用道具 举报

24#
发表于 2009-6-3 17:30:38 | 只看该作者
呵呵,对于拿来主义就不通用啊
回复

使用道具 举报

25#
发表于 2009-6-3 17:34:25 | 只看该作者
这个教程好,学习了,谢谢小马
回复

使用道具 举报

26#
发表于 2009-6-3 17:41:43 | 只看该作者
恩    挺好的软件。下载学习一下。
回复

使用道具 举报

27#
发表于 2009-6-3 18:55:13 | 只看该作者
vb 做的 GUI要不要?
回复

使用道具 举报

28#
 楼主| 发表于 2009-6-3 18:56:26 | 只看该作者
原帖由 zjq20032006 于 2009-6-3 18:55 发表
vb 做的 GUI要不要?


要啊。。帮忙搞一个,谢谢了。。
回复

使用道具 举报

29#
发表于 2009-6-3 20:32:10 | 只看该作者

小马太惯着某些妄谈“维护”的人了!

既然要维护,就应该自己学会精简。什么都要现成的,什么都要别人喂到嘴,那还搞什么维护?

既然小马如此好心,希望能在小马的基础上比着葫芦画瓢,做出自己的“骨头带筋版”、“皮包骨头版”,等等。这才算没白白辜负了小马的一片好意。
回复

使用道具 举报

30#
发表于 2009-6-4 23:02:52 | 只看该作者
小马真的很牛啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-26 16:26

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表