http://bbs.wuyou.com/viewthread.php?tid=145090&extra=page%3D1

2009-07-23:重要脚本修正,解决源DVD无法进行imagex /mountrw和wimutil /RW的问题,ImDisk.exe升级至v1.1.4.23;请解压下面文件(Win7peBuilder_ServicePatch0723.rar)替换并覆盖WinBuilder里面的脚本即可。此ServicePatch也可在无忧FTP下载。
Win7peBuilder_ServicePatch0723.part01.rar (390.62 KB)
Win7peBuilder_ServicePatch0723.part02.rar (390.62 KB)
Win7peBuilder_ServicePatch0723.part03.rar (390.62 KB)
Win7peBuilder_ServicePatch0723.part04.rar (390.62 KB)
Win7peBuilder_ServicePatch0723.part05.rar (390.62 KB)
Win7peBuilder_ServicePatch0723.part06.rar (390.62 KB)
Win7peBuilder_ServicePatch0723.part07.rar (8.67 KB)
2009-07-20:今天Win7peBuilder已经进入完成阶段,从此我就真正可以撒手不管了。新发表的Win7peBuilder.2009.07.20支持使用Win7_RTM,Vista/2008_SP1和SP2作源DVD操作,自动辨别操作系统,智能生成中英文PECMD.INI和WINPESHL.INI,可用WAIK(需要预装)的PEIMG添加驱动,WIN7启动的背景颜色预置为浅蓝,图形介面的GRUB4DOS启动菜单,两分钟内完成启动和网络初始化,WIN7的BOOT.WIM体积减少至164MB,VISTA/2008的减少至152MB水平。新版Win7peBuilder.2009.07.20.rar已经完成上传到无忧的zhaohj和zhxy9804的FTP,在 /khauyeung/Win7peBuilder/ 下面。现可下载!同时间发放的还有用Win7peBuilder.2009.07.20制成的W2K8PE_SP1_CN.iso(2008SP1 Build6001中文版,152MB的BOOT.WIM)和WIN7PE_RTM_CN.iso(WIN7RTM Build7600中文版,164MB的BOOT.WIM),有需要和权限的请自行下载。PROGRAMS.WIM(英文)先前发表过,在/khauyeung/VistapeBuilder 012/目录下可以找到,把它放到硬盘或光盘根目录均可,PE启动时会自动找寻并挂载。
2009-07-09:今天完成了对Win7peBuilder改写的工作,增加了使用Vista SP1/Server2008 (Build6001)作源DVD的支持,可以兼用来制作VistaPE了。另外又增加了脚本,用来安装驱动进PE,使生成的PE可以支持更多的网卡和量存装置。Win7peBuilder还添加了其他外壳(如BS Explorer等),可用PEShell Swapper方便地替换。先进配置脚本现在功能更强大,有兴趣的不妨研究一下。新版Win7peBuilder.2009.07.09.rar已经完成上传到无忧的 FTP,在 /khauyeung/Win7peBuilder/ 下面。现可下载!
2009-07-01:今天对Win7peBuilder进行了完善工作,并成功打做了Win7pe的简体中文版。中文版Win7pe的boot.wim有198MB,比英文版本大25MB。英文版也进行了重新打做,用简体中文地区码(Locale)设定,读老九的PECMD帮助文件无误。改良版Win7peBuilder.2009.07.01.rar,中文版Win7pe_zh-CN.iso 已经完成上传到无忧的 FTP,在 /khauyeung/Win7peBuilder/ 下面。现可下载!英文版_简体中文地区码 Win7pe_en-US.iso 也完成了上传,已经可以下载了!
2009-06-29:已经完成上传 Win7peBuilder.rar,Win7pe.iso 到无忧的 FTP,在 /khauyeung/Win7peBuilder/ 下面。达权限的可下载!
前言:
Windows 7 快将登场了,看来它将替代XP的位置,是时候对Win7PE进行较详细的研究了。Boot Land那边开了个Windows 7的专题(http://www.boot-land.net/forums/index.php?showforum=77),虽然VistaPE的鼻祖Nightman很久没有露面,但有位叫yahoouk的朋友用继续用Winbuilder开发以Explorer为Shell的Win7PE(http://www.boot-land.net/forums/ … 883a&showtopic=7250), 最近已接近完成阶段。以Explorer为Shell的Win7PE现仍存在不少已知的问题没有解决,例如桌面墙纸不能设定(传说是微软故意对PE加的锁),QuickLaunch快登栏无效(其实是转为User Pinned用户钉帖功能),Photo Viewer观图器因为system用户登陆权限问题无法使用(可用IrfanView替代之)等等。老九最近提出想要个体形较小的Win7pe做研究,我对yahoouk的脚本进行了完善和改良后做了一个出来,现在把它发报出来,希望有助对Win7PE的继续开发。
第一部分:WinPE 3.0
1.  成品ISO光盘的启动使用最近GRUB4DOS 0.4.4支持图形菜单(gfxMenu)的版本。我采用比较简单体积较小的gfxboot 3.2,菜单可支持中文。经过我的改进,现在它可以容下十条菜单项(原来只容六项),又加入了F9重启和F10关机功能。它比传统的文字菜单要漂亮得多了:

微软最近出了Windows 7的RTM版本Build7600,所以我决定采用Build 7600 RTM版本作为我的Win7PE的源文件。成品 boot.wim 有164MB大小,Explorer作的Shell,带MMC,支持网络,支持中文显示和输入,PECMD作CmdLine和加载外壳,再配合WinpeShl和Wpeinit初始化网络,用ImDisk配备了NTFS格式的RamDisk,可挂PROGRAMS。WIM..下面是成品Wim7PE的桌面加控制板的显示图,如图所示,Explorer的外壳有漂亮的Taskbar,不过桌面没有墙纸,只能改变背景颜色(Control Panel -> Personalize -> Appearence)。Builder已经把背景颜色预置为浅蓝,而不是原来的黑色:

再来个英文版的Win7PE:

Builder还支持使用Vista/2008_SP1和SP2作源DVD操作,成品桌面还有可设置墙纸:

2. 使用鼠标右击桌面上Computer(计算机)图标,再击Manage(管理),弹出Computer Management(计算机管理)画面,那里可进行磁盘管理等操作。我在成品除了VMware的网卡VMXNET外,没有加入其他附加的装置驱动,那些3G众或者有特别硬件的可用Builder调用WAIK(要预装)的PEIMG自己动手添加。

中文版本Win7PE环境下的磁盘管理和Everest诊断:

3. Explorer的外壳,Vista样式的开始菜单,Explorer作资源管理器是那些追求“高技术内涵”人们的目标。瘦身后的Win7PE只需使用384MB內存就能运行全部这些特征。不过话要说回来,和我们日常生活一样,其实很多东西都是中看不中用的。就拿Vista样式的开始菜单来说,菜单右面的Documents(文档),Pictures(图片),Music(音乐),Games(游戏),Device Center都是无效的,它们只是放在那里而已。这些东西应该都可以除去,不过除去后菜单就变得空空如也,一点都不好看了。

使用Vista/2008_SP1和SP2作的VistaPE假如使用传统的开始菜单,情况要好些,但不要期望太高,因为PE到底不是等同Windows的完整功能。

Win7PE,或者说Windows 7才对,有一个特别的功能是比较少人提及的:用户钉贴功能(User Pinned)。我在最初接触Windows 7时,发现我们常用的快登栏(Quicklaunch)没有了。原来微软是把它转化为用户钉贴功能了:这功能容许用户右击目标程式或连结,把选择的目标锁定到任务栏,或者附到开始菜单,见下图:

4. 标准的WinPE 3.0是在RAM里面行走的,虽然近年大多数机器已经配备了足够的RAM, 但为了缩短载入时间,我们不想把内核填得太大。所以,我只把一些起码的程式加到内核里面:GimageX, Imdisk, Totalcmd, 7-Zip 和IrfanView。其他有用的应用程式,就外置到Windows镜像文件PROGRAMS.WIM, 让系统启动时运行的Autorun.cmd脚本把它挂载到RAMDISK B:。我这次没有再发报PROGRAMS.WIM, 因为和以前发过的相同。把它放到硬盘或者光盘的根目录就成了。我的Win7PE支持中文显示和输入,热键ALT+F9可以叫出极点五笔拼音输入法(FreeIME)的窗口。

重新打做后的英文版Win7pe_en-US.iso,用简体中文地区码(Locale)设定,读老九的PECMD帮助文件无误:

5. WinPE作为系统维护工具,网络支持是不可缺少的。我的Win7PE 3.0系统初始化过程是这样的:注册表HKLMSYSTEMSETUPCMDLINE设定为PECMD MAIN PECMD.INI,启动后配置文件PECMD.INI执行如下工作:设定1024×768显示画面,载入clid.reg注册ClassID,建立系统带的程式的连结,加载Explorer外壳,探测硬件,ImDisk设定NTFS RamDisk,autorun.cmd挂PROGRAMS.WIM往RamDisk并建立Shortcut连结,呼叫winpeshl.exe,winpeshl.ini指示执行wpeinit.exe设置并开始网络,退出并返回Explorer外壳的桌面。也就是说,在系统初始化完成后,程式连结已经建立好,网络亦已经设置好,上网或者访问服务器都不成问题了。

第二部分: 使用Win7peBuilder
WinBuilder的历史和使用方法以前已经介绍过,不在此帖重复了。下面只是重点说明用Win7peBuilder制作Win7PE的一些要点:
1. 把下载到的Win7peBuilder.rar,解压缩到C:WinBuilder文件夹。运行C:WinBuilder文件夹下面的WinBuilder.exe。如下图所示,按Source按钮以设定源目录(Source directory,%SourceDir%),目标目录(Target directory,%TargetDir%)和ISO文件的名称(ISO file,%ISOfile%)。源目录通常是你的Windows 7源DVD, 在那里可以找到%SourceDir%sourcesoot.wim (和 install.wim)。在我的例子中:%SourceDir%设定为C:sourcesGRMCULFRER_CN_DVD.7600。(和以前不一样,不推荐你在此使用WAIK的winpe.wim作为启动源。)目标目录和ISO文件名称都是很容易理解的,这里就不多加解释了。

2. 按刚才Source按钮左边的Script按钮,然后按左方树状菜单的Main Configuration,此时右边的窗口显示的是主参数的设定画面。这里,你可以设定外壳(PE Shell Explorer, Start Repair, Explorer, BS Explorer, Total Commander, qDir, CMD 七挑一),我没有配齐全部外壳,推荐你只选Explorer。假如你不明白其他项目定的意指,就采用下图的设定吧。

3. 扩展左边菜单树上面的Build,并按0a-PreConfig, 此时右边的窗口显示的是预置设定画面。假如你已经安装了WAIK, 这里可以让你指定它的路径,VistapeBuilder在找到imagex.exe后就会使用它挂载WIM文件。否则,WIM 文件会用wimutil.exe进行挂载。Win7源DVD上的boot.wim和install.wim,通常都带多过一套镜像,用不同的索引号(index)区分。这里的所谓container,就是让你指定你想使用的索引号(index)。请留意我在这个脚本作出了比较大的改进,使能对启动源boot.wim和安装源install.wim有更大弹性的选择:我在本画面的右下方增加了两个检查盒,让你指定使用特别的install.wim 或者/和 boot.wim进行建造,而不是局限于我们在第一步设定的源目录。有了这两个检查盒和它设置的WIM文件位置,遇到下面情况就相当有用了:Windows 7 Build 7100RC源DVD里面的boot.wim有140MB大小,而WAIK7100的winpe.wim只有110MB,比boot.wim少30MB。因此,我们可以在第一步把源目录设定为:%SourceDir%=C:sourcesGB1CULFRE_EN_DVD.7100;然后在此钩选了boot.wim的检查盒,并把lboot.wim的位置指定为C:Program FilesWindows AIKToolsx86winpe.wim,并把lboot.wim container设定为1,这样问题就得到解决了。在定义BootWimSrc和InstallWimSrc时一定要保证二者属于相同的Build,例如Build 7100的winpe.wim必须匹配Build 7100的Install.wim,否则会出错。另一个重要设定是右面窗口左下方的语系(Source Language)设定,它是指BOOT.WIM的所属语系。一般情况下,选择Auto Detect是可以让系统自动检查出来的,但一些来历不明的DVD里面的语系可能很乱,那就需要在此申明。我在本画面的右下方增加的第三个检查盒用于强制使用WimUtil作为WimTool,应用机会较少,不作解释了。

扩展左边菜单树上面的Build,并按0b-Add Drivers, 此时右边的窗口显示的是安装驱动的设定画面。此脚本必须配合0a-PreConfig脚本一起使用。(!!请注意,此脚本是使用来向%BootSrc%添加驱动的,如无驱动需要增加,无需要执行此脚本,应该把选择盒子的钩选符去掉!!)。这个脚本需要你的计算机装有WAIK 1.1或者WAIK 2.x才能执行。先选择用WAIK 1.1的PEIMG.EXE(推荐使用)还是WAIK 2.x的DISM.EXE(实验阶段),然后申明路径,再申明要安装的驱动其.inf所在位置即可。这里最多容许安装五个驱动。

假如你没有增添驱动的需要,建议你不钩选择上面两个脚本,而是钩选下面的脚本0c-PreConfig,用唯读方法挂BOOT.WIM,省去不少麻烦:

4. 按左边菜单树的1-Copy Files, 此时右边的窗口显示的是拷贝基本文件模式的设定画面,这里你可以选择用标准或者全拷(Standard/Full)模式进行拷贝。标准模式的拷贝,是把一组最小的核心文件拷贝到目标目录,好处当然是一个小字。Win7peBuilder.2009.07.20现在支持Win7,Vista/2008 SP1和SP2,他们用标准模式拷贝应该不成问题,在所有其他的情况下面,你应用全拷模式拷贝,以保无误。假如你不明白其他项目定的意指,就采用下图的设定吧。

5. 扩展左边菜单树上面的Build,并按Explorer Tweeks,此时右边的窗口显示的是Explorer的先进设定画面。因为原来的的设定已经不错,我没有花太多时间去议案研究了。有兴趣的自己研究好了。

6. 高级设定(5-Win7peldr & Advanced Configuration)脚本是我特别编写的脚本,目的主要是增加对中文的支持。尽管你的源CD语系(SourceCD Language)是英文English(US),你仍可设定区域语言(Locale)为简体中文(Simplified Chinese)或者繁体中文(Traditional Chinese),并且选择把预置的字符文件simsun.ttc或mingliu.ttc拷贝到%TargetDir%Windowsfonts。此处的语言文件夹%ScriptDir%lang包含了预置的文件,分藏在子文件夹font, nls和freeime里面。脚本容许设定你喜欢的墙纸。顶部第一部分让你决定PECMD.INI和AUTORUN.CMD两个设置文件的生成方法,默认是由脚本自动智能产生;你也好可以指定路迳,使用你自己编制好的PECMD.INI和autorun.cmd。

设置和选择好全部脚本后,按一下画面顶端蓝色三角形的Play按钮,进入建造状态,生成ISO,大功告成!
后语:
本帖自发表以来,在无忧似乎掀起了一阵Win7PE/VistaPE的热潮,反应是很不错的,也达到了我发表的目的。请留意我的这些脚本和成品都是名乎其实的撒手不管版,因为我没有太多的时间支持网友。要下载,转载,改编,YY,发扬光大的,说一声谢谢就成了。系统采用了老九的PECMD,也参考了其他无忧网友和外国朋友的大作和意念,这里一并道谢。请请!

标签:

15 条评论 发表在“制作基于Win7的带图形界面的WinPE3.0”上

  1. Shsaylab说道:

    您好,我用winbuilder做出的PE在虚拟机下试。提示”windows pe 无法启动,因为实际systemroot目录(x:\windows)不同于配置的目录(x:\$windows.~bt\windows).这可以通过dism.exe和/set-targetargetpath命令进行配置,请查阅文档了解更多信息。请按确定按钮关闭此消息以重新启动。”看log也看不出问题。
    请问这是什么原因?谢谢(用的是自己用DISM挂载的原版win7专业版x86(install.wim index:4;boot.wim index:1)的wim)

    • wingwy说道:

      你好,不同的winbuilder版本以及不同的脚本都会有不一样的东西。这个文章很老了,你可以下载最新的,先用他默认的配置试一次。

      • Shsaylab说道:

        谢谢,问题已经解决了,原因是之前挂载boot.wim时把卷号选到1号去了(Microsoft Windows PE),导致无法启动的。选到2号(Microsoft Windows Setup)就好了。

      • Shsaylab说道:

        我想请问一下制作出来的winpe中是否包含install.wim?(找了老半天没找到)

        • wingwy说道:

          不含install.wim,如果你第一次做pe可以先看看这个https://www.wingwy.com/archives/2011_02_857.html

          • Shsaylab说道:

            好的,谢谢

          • Shsaylab说道:

            再问一下,pecmd.ini文件里一定要运行winpeshl.exe么?
            (刚刚测试了一下 有winpeshl的话卡在TEAM LOGO最后一帧,命令不继续执行;没有winpeshl的话TEAM LOGO正常放完,显示0x004142ac错误,按确定后显示桌面壁纸,命令至WALL指令为止,不继续执行)

            • wingwy说道:

              我记得微软官方的文档说过,任何情况下都最好不要删除winpeshl,因为它还可以执行一些其它初始化命令。

              • Shsaylab说道:

                那如果执行了winpeshl.exe的话,pecmd.ini中的桌面什么的设置都没有用了。(都已经被winpeshl抢先启动了)
                那么这种情况该怎么办?

                • wingwy说道:

                  以我以前用winpeshl.exe的经验来看,它执行的命令不会影响pecmd,因为它们是可以互补的(后续版本未知)。

  2. jack说道:

    楼主,可以共享一下,如果不用Winbuilder来在原始的Winpe3.0 上加载 Windows Explorer 和IE8 吗? 谢谢?

    • wingwy说道:

      用Winbuilder简化了操作,用他的脚本完全可以直接做出来,就是说你不用Winbuilder,过程也是一样地

  3. renshen说道:

    大侠,能不能传个本地下载,感激不尽!!!那边门坎太高,要200分才跨进,我等大菜,转来转去就是下不着,愁死啦[muteness]

  4. magicbug说道:

    我已经注册用户了,能不能发个win7pe 090731的下载地址到我邮箱,实在谢谢了!!!

  5. magicbug说道:

    大侠,能不能传个本地下载,感激不尽!!!

wingwy 留下回复(本站有评论邮件通知功能)