1 我们首先集成Explorer。老外的BSExplorer比较好用,下载之后得到这些文件,不算太大。

 

2 这里需要注意,前一章讲解如何打造原生PE已经制作成了ISO,这里想要集成软件还需要回到刚把WIM文件解压完成开始。(说白了就是再做一次)直到运行这一步:Dism /Mount-Wim /Wimfile:D:\WINPE2003\ISO\sources\boot.wim /index:1 /MountDir:D:\WINPE2003\mount加载WIM开始。

然后把刚才解压的BSExplorer放进去(除了BSExplorer我们还可以放一些其他的外置程序,但是必须是绿色单文件的小软件)

3 开始配置BSExplorer

我们首先打开bs_desktop.ini这个文件。

bs_desktop.ini文件

bs_desktop.ini是用来配置桌面图标显示,下面示例增加ghost图标到桌面左上角,其它图标只需要按照顺序向下增加即可。

<-ItemBegin->

ItemX=20

ItemY=20

Caption=Ghost

ExeName=%SystemDrive%Tools\Ghost\
GHOST32.EXE

IconName=%SystemDrive%Tools\Ghost\
GHOST32.EXE

IconNumber=0

ExeDir=%SystemDrive%Tools\Ghost

CmdParam=

ShowState=NORMAL

<-ItemEnd->

<-ItemBegin->

ItemX=20

ItemY=100

Caption=
WINRAR

ExeName=%SystemDrive%Tools\WinRaR\
WINRAR.EXE

IconName=%SystemDrive%Tools\WinRaR\
WINRAR.EXE

IconNumber=0

ExeDir=%SystemDrive%Tools\
WINRAR.EXE

CmdParam=

ShowState=NORMAL

<-ItemEnd->

这些格式都是原作者的一个约定(下同),大家只需知道如何使用即可,其中ItemX和ItemY是图标排列坐标,以80为单位,比如第一个是ItemX=20,ItemY=20,下一个就是ItemX=20,ItemY=100,再下一个就是ItemX=20,ItemY=180,这样就是垂直排列,大家测试一下即可看到效果。

另外我们只需要设置Caption(提示信息,相当于快捷方式名)、ExeName(对应的可执行文件名)、IconName(图标名)、ExeDir(该程序的默认目录),其中IconNumber是如果使用系统图标时的编号(从0开始计数,只有未设置IconName时,IconNumber才有效,如果要使用系统图标,请打开上图中的bs_menuimg.bmp文件,然后查看你要的图标在第多少位置,然后填写该值到IcunNumber即可)。

bs_menuimg.bmp图片打开的效果,都是系统图标:

 

然后打开bs_qlaunch.ini这个文件。

bs_qlaunch.ini文件

bs_qlaunch.ini文件是用来配置快速启动栏图标,示例配置如下:(一般快速启动栏不是QQ,没什么好改的,留一个显示桌面就够了)

<-ItemBegin->

Caption=Show desktop

ExeName=@ShowDesktop

IconNumber=20

<-ItemEnd->

<-ItemBegin->

Caption=GHOST

ExeName=%SystemDrive%Tools\Ghost\ghost32.exe

IconName=%SystemDrive%Tools\Ghost\ghost32.exe

IconNumber=0

ExeDir=%SystemDrive%Tools\Ghost

ShowState=NORMAL

<-ItemEnd->

 

然后打开s_shell.ini文件

bs_shell.ini文件好像也只explorer的执行脚本。从里头的字面意思主要涉及登录设置和桌面设置等,比如颜色,显示提示文件等,一般不用改写。(如果你的目录配置跟天缘不同,这里也需要替换Tools字符串成自己的目录名)

 

然后打开bs_start.ini文件

bs_start.ini文件是用来配置开始菜单显示,顺序是从上到下,显示也是从上到下,天缘把最常用的几个设置都给列出来。

特别说明:上述配置文件里有Tools目录标示,所以如果你的工具目录(mount下刚刚拷贝过去的那个)跟天缘设置的不同,那么需要把这五个文件里头的Tools替换成你自己的目录,目的就是让explorer等找到你的工具。

 

4 启动挂接及其它设置

手动创建一个winpeshl.ini文件,内容为:

[LaunchApp]

AppPath=%systemdrive%\Tools\BsExplorer\Explorer.exe

然后拷贝到mount\windows\system32下面即可,制作好的WINPE会自动到这个目录下找winpeshl.ini文件,并运行Explorer.exe。

 

修改WINPE桌面

如需修改桌面图片,只需要创建一个1024*768的bmp文件并命名为winpe.bmp然后也拷贝到mount\windows\system32下面并覆盖原图片即可。

 

设置WINPE可写内存

设置语句如下:Dism /image:D:\mywinpe\mount /Set-ScratchSpace:512

然后我们还有一个设置那就是修改winpe的可写内存,如果只是自己用,最好把内存加大一点,比如128、256或512M,可写内存太小启动时会非常慢,甚至还有可能出现runtime error 203、内存不可写甚至是自动重启等现象

 

5 完成设置提交修改

这样我们就可以使用Dism命令提交修改(和前一篇文章类似),制作好自己的ISO文件(未经过精简的原生WINPE 3.0大概200M),即可开始测试,虽然Windows 7默认的Winpe 3.0是32M,而如果要软件运行的流畅至少要增加到128M或以上,如果你也遇到虚拟机测试不过时,可以考虑使用UltraISO刻录到U盘上进行测试。WINPE 3.0的启动跟早前WINPE 2.0相比还是有点慢,后续还需进行一些模块删减或优化。

 

6 制作出错无法再次加载的解决方法

如果你在加载或制作过程中发生错误,可能再次无法再次加载可以通过如下方式解决:

1、重启机子,删除原目标目录,比如 D:\WINPE2003,整个删除,前提你的制作文件都应该放在另外的地方。

2、 然后再次运行cmd时,先使用dism /cleanup-wim命令清理一次过时文件日志即可,如下图:

 

从制作PE加载的结果来看,问题还是比较多的。

1 图标不正常

2 软件双击无法运行

3 开始菜单并没有像我们想象的那样(我们自己添加的东西并没有找到,而且即使是系统自带的记事本啊,计算器也没用)

4 桌面居然没有"计算机",鼠标右键也不管事

5 桌面还有水印

6 PE体积较大,需要精简(模块删减和提速,语言包安装、网络设置等等)

我们打开命令提示符,直接找到软件运行,发现是可以运行的(以ATTO Disk Benchmark为例),说明是这个BSExplorer配置的不对

 

此外还有很多其他问题,我们这个PE实在是不能用的(啥功能没有体积却不小,足足200M,要知道高手们做的PE都是40M左右的),所以还是直接修改高手的方便,虽然是直接修改高手的,但是我们这两节的东西并不是白学的,下一节就要用到这里的知识,最起码我们知道了WIM的压缩和解压,这就是封装PE的核心,我们将在下一节讲解。

 

我们先欣赏一下高手的PE,不妨看一下进入PE之后的东西.桌面有一些软件,这些软件的位置是Y盘

我的电脑本来只有一个C盘,一个D盘和一个CD驱动器,为什么突然多了B盘和Y盘,而B盘里面是对应软件的WIM文件,是不是这些WIM文件才是真正的主角?

系统封装 如何为原生PE集成软件的更多相关文章

  1. 系统封装 如何加载PE到Easyboot进行合盘

    1 直接使用别人的PE. 如何加载PE到Easyboot首先需要知道验证你下载的PE的ISO镜像能否启动 如果答案是可以的,以自由天空的MINIPE为例,虽然可以启动,但是完全没有菜单提示,我们想要作 ...

  2. 系统封装 如何打造原生WINPE

    1 安装微软的AIK(Windows Automated Installation Kit,Windows自动安装工具包),AIK简体中文版下载地址: http://download.microsof ...

  3. [官方软件] Easy Sysprep v4.3.29.602 【系统封装部署利器】(2016.01.22)--skyfree大神

    [官方软件] Easy Sysprep v4.3.29.602 [系统封装部署利器](2016.01.22) Skyfree 发表于 2016-1-22 13:55:55 https://www.it ...

  4. 系统封装 ES3使用方法

    1 什么是系统封装? 系统封装,说简单就是把系统制作成镜像的方法制作Ghost镜像文件,用在系统安装上面.系统封装,不同于系统的正常安装.最本质的区别在于 系统封装 是将一个完整的系统以拷贝的形式打包 ...

  5. Skyfree的毕业论文 《系统封装与部署的深入研究》

    Skyfree的毕业论文 <系统封装与部署的深入研究> https://www.itsk.com/thread-197-1-4.html Skyfree 发表于 2007-9-13 07: ...

  6. Windows系统封装总结

    注:使用虚拟机或者实体机进行封装均可,实体机进行封装的成功率更高.虚拟机进行封装建议使用VMware,12版本.过高的版本容易造成封装失败 一.            Windows 10系统封装 1 ...

  7. windows 7系统封装总结

    win7系统封装总结 需求:对于个人家庭用户,网上下载原版镜像或者下载好别人封装好的系统都无所谓,但是在公司办公的特殊环境下, 有时需要经常装一些特殊的软件,根据实际情况,封装一个适合本公司使用环境的 ...

  8. Windows XP/Windows 7/Windows 8/Windows 10系统封装的另类教程和思路

    如果是早些年,XP时代的Ghost封装,各种的封装工具和驱动只能安装工具满天飞,比如龙帝国,还有很早用C++写的忘了什么名字了,自由天空的,非常的多: 当时为什么要用Ghost和用这些驱动安装工具以及 ...

  9. 1-ser2008系统封装实验报告

    系统封装实验 1.       封装系统的原因 直接克隆系统会导致克隆后的系统和原系统的SID号一致,在许多实验中会因为SID号相同而影响实验效果(如活动目录) 2.       实验 首先看一下se ...

随机推荐

  1. 静态页面之间的转发与json与ajax做到动态数据

    我们见过很多使用jsp ,php,asp的动态网页技术的网站了,我们知道如果一个网站内容更新频率极低,而内容量不是十分庞大时,这样的网站(一次开发完成后不会需要较多的维护成本)的完全可以使用全部使用静 ...

  2. linux启动流程梳理【转】

    接触linux系统运维已经好几年了,常常被问到linux系统启动流程问题,刚好今天有空来梳理下这个过程:一般来说,所有的操作系统的启动流程基本就是: 总的来说,linux系统启动流程可以简单总结为以下 ...

  3. [LeetCode] Binary Tree Inorder Traversal 中序排序

    Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary tre ...

  4. YYH的王国(NOIP模拟赛Round 6)

    题目描述 YYH拥有一个有n个城市的国家,编号为1~n.其中城市i到城市j的路径长度为i和j的最小公倍数.现在YYH想建一些高速公路,使得任意两座城市都能通过高速公路直接或间接到达.建造一条高速公路的 ...

  5. 使用windos电脑模拟搭建集群(四)web环境 linux+nginx+jdk+tomcat

    1.使用ansible的playbook自动安装两台web主机的nginx 1.配置模块 主机清单 2.创建 playbook目录并编写安装nginx的playbook mkdir -p playbo ...

  6. os.path.isfile的错误

    今天写了一个程序,读取子目录(source)下的所有文件,然后转换. 程序一部分代码如下: def DtoTab(dsrc, dtarget): try: for item in os.listdir ...

  7. [BZOJ1821][JSOI2010]Group 部落划分 Group 最小生成树 贪心

    1821: [JSOI2010]Group 部落划分 Group Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 2943  Solved: 1390[S ...

  8. Python的工具包[2] -> matplotlib图像绘制 -> matplotlib 库及使用总结

    matplotlib图像绘制 / matplotlib image description  目录 关于matplotlib matplotlib库 补充内容 Figure和AxesSubplot的生 ...

  9. ELK故障:elk在运行一段时间后,没有数据。

    故障排查: 1. 查看kafka.logstash.elasticsearch进程是否运行正常,显示正常. 2. 使用logstash在前台运行,有日志输出 3. 查看kafka的topic的offs ...

  10. lua的table.sort

    local aa = {{a=11},{a=44},{a=33},{a=2} } table.sort(aa,function(a,b) return a.a>b.a end) for k, v ...