自己修改PE的基础流程

所谓改PE就是站在前人的肩膀上自己一点一点改,这样的好处是上手快,出问题还能有人帮助。找PE的话我推荐大家找win7PE,而且最好是使用了PEcmd这个程序的。PEcmd用起来比较方便,使用的人也比较多,所以很容易找到帮助,如果你用别的软件业可以,就是求助可能麻烦点。

改win7pe主要就是该boot.wim,所以首先要解压wim包,解压wim有很多软件,比如imagex,gimagex,好压等等,但是考虑到后来要把修改后的东西压缩成wim,所以推荐大家用windows AIK(windows 部署工具),这个软件虽然很大很麻烦,但是却可以保证每次做出来的wim都是可以用的,不会出现做好的文件因为wim不兼容而不能加载的悲剧。

首先新建一个文件夹用来释放wim,然后以管理员权限运行windows部署工具命令提示符,然后输入Dism /Mount-Wim /WimFile:C:\Users\Huanr\Desktop\PE\BOOT.wim /index:1 /MountDir:C:\Users\Huanr\Desktop\PE\m
其中第一个地址是wim的位置,index后面是wim的索引,PE应该只有一个,后面的地址是释放wim的位置

释放后的wim和windows的C盘类似,如果你改的是半成品或者成品的PE,应该有PEcmd之类的软件控制加载第三方软件还有各种系统工具。根据配置文件找到就行了,通常使用pecmd的pe在windows/system32下有一个PEcmd.ini来控制软件连接和基本配置。根据自己的习惯和需要来修改就可以了,不懂可以再网上找PEcmd的命令,很简单的

使用PEcmd添加程序一定要注意,添加的程序必须是绿色版的,最好是单文件版的,不然可能在PE下运行不了

想添加驱动的可以直接用windows AIK来添加,不过个人感觉PE是用来维护的,添加驱动会极大的降低加载速度,所以我的PE没有添加别的驱动

修改完后要把wim弄好,怎么办呢,先把打开挂载目录下文件的应用程序全部的关掉,包括打开子文件夹的资源浏览器。然后执行Dism /Unmount-Wim /MountDir:C:\Users\Huanr\Desktop\PE\m /commit,地址是你挂载wim的文件夹

等弄好后还需要把wim重建一下,不然wim的大小会比里面的文件总和要大,所以呢执行imagex /export C:\Users\Huanr\Desktop\PE\BOOT.wim 1 C:\Users\Huanr\Desktop\PE\newBOOT.wim “Huanr win7PE”,其中第一个地址是wim的地址,后面的数字1是索引号,通常是1,如果有多个索引从1开始排,后面是保存新的wim的位置和名字,然后执行就好了。如果提示imagex不存在就去windows AIK目录下的tools子文件夹,吧对应版本的imagex拷贝到C:windwos\system32下,注意64位windows拷贝amd64的,32位windows拷贝x86的

然后把新生成的wim改名为boot.wim替换掉原来PE中的boot.wim就可以了,开机测试吧

制作Wim格式映像来安装系统

有些新手认为要让win7安装程序正常识别install.wim中的分卷,就必须生成编录文件,有些教程也说捕获wim映像后要用waik生成编录文件。其实这并不必要,只要你的分卷的flag或分卷名符合windows默认的几个版本的flag或卷名之一即可。

也就是说虽然xp的wim分卷不能用waik正常生成编录文件,但是我们可以在生成映像的时候给它一个诸如“starter”“enterprise”之类的合法的flag让他能够被win7安装程序正常识别,当然win7旗舰版的映像更不需要编录文件,直接把分卷名改成“Windows 7 ULTIMATE”即可,如果要是想把s2008也加进来那就要导入licence文件。做好之后把连个映像中的分卷导入一个install.wim。

封装注意

系统封装的过程就不多说了,只说一下需要注意的问题。xp部署后有一点小问题,如下:

1.部署后根目录下会出现$WINDOWS.~BT,$WINDOWS.~LS,两个垃圾文件夹。
2.boot.ini文件丢失
为解决这两个问题,可加入一个批处理(封装后)。如:

<pre>
rd /s /q “%HOMEDRIVE%\$WINDOWS.~BT”(删除垃圾文件)
rd /s /q “%HOMEDRIVE%\$WINDOWS.~LS”(删除垃圾文件)
xcopy /r /k /h /y %HOMEDRIVE%\tools\boot.ini %HOMEDRIVE%\boot.ini(用正常的boot.ini替换丢失后由系统生成的boot.ini)</pre>

3.安装程序不能改写主引导记录为nt5的主引导记录。

这是个有点麻烦的问题,但是也不难解决,一个比较直观的方法就在封装时加入一个改写mbr为nt5的任务(部署前后应该都行),复制文件后第一次重启的时候使用ntboot.img(无忧某高手的作品)实现由ntboot.img不经mbr直接启动硬盘上的ntldr,此时开始部署,部署过程中调用bootsect或是BOOTICE修复mbr。

bootsect就不用多说了,提取自安装盘,建一个批处理放在和bootsect同一个目录下,内容为bootsect.exe /nt52 all /force(似乎是这个吧,好久没用了额)

如果用BOOTICE 批处理可写为BOOTICE /DEVICE=0:1 /mbr /install /type=nt52 /auto,参数有很多 具体内容参见BOOTICE的帮助。然后把这个批处理加进部署任务就行了

至于win7,还没发现别的问题,如果有,再补充。

  • 封装后重启进pe,打开onekeyimagex(熟悉imagex的请无视)生成系统映像制作Wim格式映像来安装系统

注意图中标注的地方,win7和xp都一样操作,生成两个wim映像文件xp.wim和wim7.wim)

  • 用wimtool将win7.wim中的卷导入 xp.wim如图制作Wim格式映像来安装系统
  • 接着修改分卷信息,如图制作Wim格式映像来安装系统

xp分卷只要把系统标识改成starter,其余信息随便填,win7的卷把映像名称改为“Windows 7 ULTIMATE”标识为空。其他信息随意。
最后把合并并修改好分卷信息的映像文件文件改名为install.wim待用。

系统精简

我觉得大多数人都不需要windows环境下安装的功能(毕竟有一键imagex可用),一般都是引导启动安装或是pe下安装,所以可以精简掉原版win7安装程序在windows环境下安装的功能,只保留引导启动安装的功能。复制一个原版的win7镜像然后用UltraISO打开进行如下操作:

  • 根目录下只保留botmgr文件 boot文件夹 sourses文件夹
  • 打开sources文件夹,备份boot.wim,然后只保留lang.ini,setup.exe,两个文件即可,其余全部删除。
  • 打开boot文件夹,删掉bootfix.bin(用于显示please press any。。。的东西),memtext.exe内存测试工具(引导安装的时候没这个照样可以测试内存),bootsect.exe这个大家都知道是干啥的,在这可以删了。etfsboot.com这个东西不知道是做什么的,也删了吧(汗,我无知了)。zh-cn和fonts两个文件夹是中文bcd菜单中显示的内容及字体菜单,删了bcd菜单就变英文了,不过一点不影响,果断删了吧。简而言之,boot内只留bcd和boot.sdi就行
  • 用imagex或是wintool导出刚备份的sources\boot.wim中的第2个分卷到一个新的boot.wim(也就是抛弃了boot.wim里面的第一个分卷,第一个分卷是用于windows环境下安装,一般不需要),替换镜像中的原有的boot.wim。(此步骤也可以不做,只是为了减小boot.wim的体积,大概能减小30m左右吧,记不太清了)
  • 把刚刚做好的install.wim和重生成的boot.wim放进sources文件夹,

最后根目录下有两个文件夹boot(里面两个文件:bcd,boot.sdi)和sources(里面四个文件:lang.ini,setup.exe,install.wim,boot.wim),这样基本的精简就已经做好了!当然修改boot.wim还能再精简美化,就不多说。再用grub4dos(easyboot也好,这个随便了)做一个启动界面集成上dos工具和autoplaymenubuilder做一个菜单,一个实用的维护盘就做好了。最终效果如下

制作Wim格式映像来安装系统

制作Wim格式映像来安装系统

ImageX(WIM)与Ghost安装系统的利弊

imageX(WIM)安装系统的优点

  • 灵活性高,一个机器上的备份在不同硬件(差别很大的机器)上可顺利恢复
  • 可增量压缩,之后压缩可以说是闪速并且可以无限备份但体积增长很少
  • 兼容性好,在不同的文件系统,不同的环境可自由备份恢复,而且是Windows的备份格式
  • 恢复速度可以,并且恢复时不会破坏目标数据

Wim的缺点

  • 首次备份慢,高压缩备份数据8G/40min
  • 还原后是不带驱动的,会自动搜寻安装驱动,比较耗时
  • 恢复速度比不上Ghost,高压缩备份数据还原8G/10min

Ghost(GHO)安装系统的优点

  • 速度快,Ghost的速度是没话说的

Ghost的缺点

  • 灵活性低,一个机器上的备份在不同硬件(差别很大的机器)上不可恢复
  • 不可增量压缩,压缩备份多个效率明显不如WIM并且很占空间
  • 兼容性不好,在不同的文件系统,不同的环境不备份恢复
  • 恢复时会破坏目标数据

WIM的缺点是GHO的优点,反之亦然,大家可以自行取舍。

Wim与Ghost安装Win7系统的利弊分析

今天给比较一下Win7的两大主流安装方式wim和ghost。ghost安装win7只需要光盘中的gho映像就可以,其他的不需要,wim安装法只需要install.wim来安装,不需要其他文件。

wim安装和ghost安装,如果映像优化得当的话安装速度实际上差异并不大,而且完全可以做到释放后系统的完全等效,所以这里我们主要比较一下其安装方式的优劣性。(延伸:WinPE中自带win7安装器的不多,所以ghost安装更有优势,而且ghost安装支持网刻,可以极大地方便多台电脑安装系统。(延伸:64位系统和32位系统的话(给不同人装机用不同系统)那么两个ghost加起来体积相当可观的(大概是接近6GB)而对于普通的u盘装系统来说如何取舍就是一个难题了,加上外能驱动包和常用软件的支持的话8GB的u盘根本不够使。

那么wim最大的有点也就出现了,一个wim中可以含有多个系统,通过不同的索引来调出,这样我们就可以吧32位的win7和64位的win7来合到一个wim中。那么和到一个win中有什么优势呢?

wim7的64位版和32位版有很多文件时一样的,这样在合成win的时候只需要保留其中的一个就行了,无形中会极大地释放wim体积。本人实际测试发现合并版的wim竟然只有不到4GB的大小。这样u盘还有很大空间来放驱动包和常用软件,甚至能塞下一个office2010,所以很适合带着u盘经常给不同的电脑装系统的人。

总的来说ghost通用性强但是映像体积庞大,而wim通用性略低但是能最大限度的节省空间,两者速度差不多,所以选哪种方式就看你实际的环境了。

分析:Ghost与安装器装Windows 7系统速度的快慢

Ghost装系统兴起于windowsXP时代,当时由于Ghost安装winXP有着明显快于windows直接安装的速度所以很受青睐,各大技术论坛都推出过Ghost版winXP,但是vista时代和随后的win7时代中Ghost win7并没有像GhostXP那样成为主流,其原因是Ghost win7并不能满足速度上的要求。下面我们从理论上探讨装系统速度的问题:

安装时对文件的复制方式不同

首先我们要明确一点,在复制过程中一个100MB的文件要比10个10MB的文件是速度快,复制散文件的速度是很慢的,而相对的如果把散文件打包成一个大文件速度会提升不少。常见的例子就是魔兽争霸中把大多数的小文件压缩到四个文件包中大大优化了运行速度。GhostXP安装比较快不是Ghost的缘故而是XP自身安装系统制的问题。windowsXP采用的办法是先把系统骨架建立好,然后在安装过程中依次将各个部分以组件的形式安装,这就是那么一大堆CAB文件的作用,这样的安装系统制导致在安装过程中要连续复制N多个小文件自然安装比较慢。

而Ghost是如何装系统的呢?Ghost装系统前必须有Ghost系统镜像,而Ghost系统镜像是把一个安装好的windowsXP的系统盘(通常是C盘)直接拷贝下来并压缩做出来的,而Ghost安装就是把这个系统完整的恢复到新硬盘上,而Ghost镜像的原理就是按分区拷贝并恢复文件,它的拷贝过程是一个等同于原来c盘中所有文件之和的大文件,速度自然很快。

而对于32位版和64位版,windows7旗舰版32位wim镜像和64位wim镜像合起来的大小是4.9GB,但是把他们用windows aik合成一个wim镜像的时候竟然只有3.42GB,我们总不能装系统的时候不顾32和64位吧……

写在最后

所以在win7的安装上wim镜像要优于Ghost镜像,而wim这种1+1<2甚至1+1+1+1+1<2的算法大大提高了空间虑用率,非常适合U盘和光盘使用,比如说我们用的常备光盘吧,3.4GB的系统+700mb的万能驱动+winPE(200+MB)=4.3GB,正好可以塞进一张dvd光盘,而用Ghost镜像就要刻两张盘了(精简版系统死开),省下的钱够去买几十个馒头了……