用Windows AIK 定制自己的 WinPE

更新时间:2024-06-01 10:17:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

用Windows AIK定制自己的WinPE

什么是WinPE?

Windows PE的全称是Windows Preinstallation Environment,即Windows 预安装环境,是一个基于保护模式下运行的Windows XP、Windows Vista或者Windows 7的工具,只拥有较少的核心服务的Win32子系统。Windows PE能够运行 Windows 安装程序、脚本和映像制作应用程序;让你创建和格式化硬盘分区,并且给你访问NTFS文件系统分区和网络的权限;支持所有Windows能驱动的大容量存储设备;支持Fat、Fat32、NTFS系统分区的文件复制、删除以及分区格式化等操作。简单说比DOS更多功能,界面比DOS更友好,操作更方便直接简单,携带方式多样。

PE有1.0、2.0和3.0版,这些版本区分很简单,用不同的Windows AIK在不同的环境下制作的版本就不同:基于XP制作的是PE1.0,基于Vista制作的是PE2.0,基于Win7制作的是PE3.0。常见的是PE1.0和2.0。本文制作的是PE2.0。

什么是Windows AIK?

中文名称为Windows自动安装工具包者Windows自动安装套件。Windows 自动安装工具包设计源于帮助原始设备制造商(OEM)、系统构建者以及企业 IT 专业人士将 Windows 部署到新硬件上。Windows AIK 是一个支持 Windows 最新版本的部署工具集。利用此工具可以:允许您署名和自定义任何Windows产品;允许您安装非Windows操作系统组成部分的应用程序和设备驱动程序;提供灵活的方法和工具来帮助您优化制造过程,无论您每月组装 10 台还是 10,000 台计算机。通常用来做PE,比如我,呵呵。

现在,我们用

Windows AIK来定制属于自己的WinPE:

首先去下载安装Windows AIK。如果你是Windows 7的用户,请去下载Windows AIK For Windows 7,下载地址:http://download.microsoft.com/download/6/3/1/631A7F90-E5CE-43AA-AB05-EA82AEAA402A/KB3AIK_CN.iso ,该版本仅适合Windows 7;如果你是Vista或者是XP用户,那么请去下载Windows AIK For Windows Vista SP1 And Windows Server 2008,下载地址:http://download.microsoft.com/download/d/2/f/d2f03197-c2c7-4fdf-9af0-4844cc67a014/6001.18000.080118-1840-kb3aik_cn.iso该版本支持Windows Vista、Vista SP1、Vista SP2,Windows Server 2008,带有KB926044的Windows Server 2003 SP1、SP2和带有KB926044的Windows XP SP2、SP3(ISO文件请用虚拟光驱安装或是用RAR解压后安装)。 然后再去下载一个Shell。这里推荐使用个性化功能强大的BSEXPLORER(下载地址:http://www.kursknet.ru/~boa/winpe/plugin/bsexplorer.zip)这个软件使PE有图形化界面,要不做出来的PE打开后只是个类似于命令提示符的东西;有了这个就能使PE有着Windows的界面,还可以自定义很多东西。这个会在后面介绍。这个Shell有很多版本,据介绍最新的2.3版是模拟Win 7界面,而比较旧的2.0或者2.1版模拟Vista/XP风格。

下面开始PE制作过程。本文涉及的截图和操作均在Vista环境下进行。因为Win7的AIK我安装后缺少重要的peimg.exe及相关文件。

依次点击开始-程序/所有程序,找到Microsoft Windows AIK,点击“Windows PE工具命令提示”

然后在命令提示符下运行命令(下文所有命令输入时英文字符大小写均可,有空格的地方均为一个空格):

copype x86 c:\\winpe

说明:这步是在C盘创建winpe目录,然后程序会自动在目录下新增ISO和MOUNT文件夹、etfsboot.com和winpe.wim这四个制作PE镜像所需要的全部文件文件。如果你C盘空间不够,你可以把它放在其他盘,文件夹名称也可以自定,随你喜好,后面的操作你也千万记得跟着改路径好了(别做马大哈了)。不过为了操作方便,最好不要用中文名。上述命令中x86代表32位版本;如果你需要64位版,那么请改为amd64或者ia64。整个过程只需20秒左右,非常快。之后执行命令:

imagex /mountrw c:\\winpe\\winpe.wim 1 c:\\winpe\\mount

说明:这个命令是把winpe.wim文件映射到mount文件夹中以便于编辑,也为了使我们能够编辑mount文件夹下的文件。其中的1指winpe文件夹中的第一个映像(如果有多个映像的话就用1、2、3...来区分我们要打开的映像;具体的映像序号执行imagex的相关命令会有提示)。c:\\winpe\\mount则是表示我们把winpe.wim这个映像文件挂载到c:\\winpe\\mount进行编辑,你同样可以选择挂载的磁盘和文件夹。命令执行同样很快,完成后mount目录中多了四个文件夹:Program Files、ProgramData、Users和Windows。我们可以让AIK休息一下了,输入exit退出Windows PE工具命令提示。

接着刚刚下载的BSEXPLORER派上用场了。先把BSEXPLORER.ZIP解压,进入目录有一个BSEXPLORER文件夹,把这个文件夹全部复制,并在c:\\winpe\\mount文件夹下新建programs文件夹,把BSEXPLORER文件夹到c:\\winpe\\mount\\programs中去。

现在我们可以定制我们的Shell环境了。在BSEXPLORER里我们可以定制系统登录、快速启动栏、开始菜单栏、桌面及桌面图标,下面介绍他们分别对应的文件名及相关参数的使用。注:因为写稿时间仓促,没来得及仔细研究,所以很多功能我还没挖掘出来。

注意:收集到网友提出再制作过程中要注意以下三点:

一、我们在Vista环境下制作的VistaPE在运行硬件检测程序或 Ghost Explore时系

统提示oledlg.dll(OLE User Interface Support)没有运行或无法找到,解决办法就是在本机的 Vista 中将这个文件拷贝到PE中 Windows\\system32 下。

二、请检查c:\\winpe\\mount\\windows\\system32\\下有没有winload.exe这个文件。若没有,请到本机%windir%\\system32\\文件夹下拷贝一个过去。因为根据实测发现有些WAIK自带的原始模板中并没有这个文件,会导致我们以硬盘启动PE时因无法找到文件而启动失败。

三、为了我们定制的Shell在登录时能生效需要在c:\\winpe\\mount\\windows\\system32下新建一个winpeshl.ini文件,内容如下(想要获取winpeshl.ini配置文件的更多功能,请参考AIK的帮助文件):

[LaunchApp]

AppPath=%systemdrive%\\Program files\\bsexplorer\\bslogon.exe

下面介绍怎么定制我们的BSEXPLORER。打开BAEXPLORER,我们可以看到以下几个文件:

NO.1 bs_logon.ini

此文件决定了我们登录到那个Shell中,就是我们启动PE后进入系统默认的那个令人望而生畏的命令行CMD Shell还是BSEXPLORER的Shell。为了进入BSEXPLORER这个Shel,我们是这样配置的:

BS Explorer=%SystemDrive%\\Programs\\BsExplorer\\explorer.exe Console windows=%windir%\\system32\\cmd.exe

这个也是bs_logon.ini默认的,如果你发现里面已经有了相同的代码,就不要管了,直接跳到下一步。

NO.2 bs_qlaunch.ini

此文件用来配置快速启动栏。其中begin到end是一个程序的配置,想添加多个程序只要多复制几个Itembegin到Itemend的代码修改一下即可。每个Itembegin到Itemend的主要内容含义如下:

Caption 程序的显示名称;

ExeName 程序的具体路径和文件名称;

IconName 程序显示图标文件的所在位置和文件名称;

IconNumber 选择图标文件中的哪个图标(如果有多个图标的话); ExeDir 程序所在的默认路径(不含程文件名称); 其他的一般按照默认即可。

NO.3 bs_start.ini

此文件用来定制开始菜单栏的配置文件,其中各项英文代码含义同上,这里不多赘述。我这里做个示范吧。 <-ItemBegin->

ShowInAutorun=YES EnableInAutorun=YES ParentItem=root Caption=PE应用程序 MenuId=Programs <-ItemEnd->

<-ItemBegin-> ShowInAutorun=YES EnableInAutorun=YES ParentItem=Programs Caption=系统自带附件 MenuId=Accessories <-ItemEnd->

<-ItemBegin-> ShowInAutorun=YES EnableInAutorun=YES ParentItem=Programs Caption=系统恢复/备份

MenuId=Administrative Tools <-ItemEnd->

<-ItemBegin-> ShowInAutorun=YES EnableInAutorun=YES ParentItem=Programs

Caption=磁盘数据恢复/备份 MenuId=Disk Tools <-ItemEnd->

<-ItemBegin-> ShowInAutorun=YES EnableInAutorun=YES ParentItem=Programs Caption=文件浏览/处理 MenuId=File Tools <-ItemEnd->

<-ItemBegin-> ShowInAutorun=YES EnableInAutorun=YES ParentItem=Programs Caption=网络工具 MenuId=Network <-ItemEnd->

<-ItemBegin-> ShowInAutorun=YES EnableInAutorun=YES ParentItem=Programs Caption=图像浏览/编辑 MenuId=Other Tools <-ItemEnd->

这个代码的最终效果是:点击开始菜单后,最顶部是的项目是PE程序,然后PE程序下包含有系统自带附件、系统恢复/备份、磁盘数据恢复/备份、文件浏览/处理、网络工具、图像浏览/编辑几个子菜单,而在这个几个子菜单后可以自定添加各种应用程序(添加在Program Files文件夹中)。注意有 ParentItem=root标记的是母菜单,下面没有

ParentItem=root标记的就是子菜单。这样DIYer们就可以慢慢定制自己的开始菜单了^_^ 如下图这个是PE自带调整分辨率的菜单项

NO.4 bs_desktop.ini

此文件用来定制桌面上快捷方式的配置文件,代码含义与前面的类似,不过需要注意的就是图标的排列。决定图标位置的就是配置文件中“ItemX”和“ItemY”代码。根据有经验的网友建议,如果是水平排列,那么每个图标之间的 ItemY 差值最好是80,而最大不要超过420!因为桌面图标不会自动对齐排列;而垂直排列时 ItemX 的差值最好也是80。这样会比较好看,更符合我们使用习惯。现在配置文件中各个代码含义解释如下: <-ItemBegin-> 开始标志语 ItemX 横坐标 ItemY 纵坐标

Caption 程序显示名称

ExeName 程序路径和名称

IconName 程序图标

IconNumber 图标序列号(默认0) CmdParam 程序相关命令参数 ExeDir 程序文件夹位置 ShowState 显示状态 <-ItemEnd-> 结束标志语

NO.5 bs_explorer.ini

此文件用来定制桌面颜色等其他项的配置文件。我们使用这个主要是在桌面上注明一段文字以保护自己的版权或是对使用者的提醒等。这个功能可以在DesktopBkgndText这个代码后面注明文字即可。大家尽管畅所欲言吧,它支持中文O(∩_∩)O~

NO.6 winpe.bmp

大家看了这么久可能觉得这么重要的壁纸定制怎么不说?呵呵,别急,现在介绍。壁纸估计是大家最关心的。至于BSEXPLORER里就没有壁纸定制了,我们制作的PE的壁纸在c:\\winpe\\mount\\windows\\system32下,有个叫winpe.bmp的1024X768的图片,这个就是万众期待的壁纸。大家可以自己替换、加水印什么的,反正是名叫winpe.bmp、1024X768的BMP就行。

以上就是BSEXPLORER的部分功能,其中这个程序支持中文显示。其实还有更多的功能可以自己定制哦,比如说添加输入法和自动上网之类的,大家有兴趣可以上网找自己跟着做哦,篇幅有限这里不多赘述了。

现在完成我们的定制工作后我们继续我们的PE制作之旅。

AIK中有个peimg命令,这个命令可以让我们添加、删除程序包,添加硬件驱动等等。现在再这里介绍一下如何查看已安装的程序包和如何添加程序。(下面步骤不是必要的,可以跳过)

在上面制作PE的过程中,winpe文件夹下有个winpe.wim映像,我们可以对winpe映像进行修改、查看已安装的组件或者使用向映像中添加组件、语言包、驱动程序等。例如我们要查看PE内的组件,请输入命令:

peimg /list c:\\winpe\\mount\\windows

我们会发现很多有“-”号的,那就表示没有安装到PE里面;“+”号的则表示安装了。我们可以用以下命令来进行安装。以安装第六、七行的WinPE-HTA-Package为例,输入以下命令:

peimg /install=*HTA* c:\\winpe\\ mount\\windows

然后它会自动安装所选组件。安装完后,出现“+”号表示已经安装了。附Windows PE 2.0目前提供的可选包有:

1.WinPE-HTA-Package:HTML 应用程序支持

2.WinPE-MDAC-Package:Microsoft Data Access Component(Microsoft 数据访问组件支持)

3.WinPE-Scripting-Package:Windows Script Host(Windows脚本主机支持) 4.WinPE-SRT-Package:Windows Recovery Environment(Windows 恢复环境组件) 5.WinPE-XML-Package:Microsoft XML(MSMXL)Parser(Microsoft XML MSMXL分析 程序包)

接着打开Windows PE工具命令提示输入命令:

imagex /unmount c:\\winpe\\mount /commit

说明:这个命令是用来重新打包 WinPE 映像(提交更改到winpe.wim)的。注意一下,如果我们在制作过程中重启或者关闭了电脑,这样我们对映像的修改就无效。因此这个命令就相当于我们平常编辑文档时的保存功能。所以,我们在重启或是关闭电脑之前枪及时执行此命令行来保存对映像的修改,别让你的心血付诸东流。当你需要再次编辑映像时才重新执行之前我们打开编辑映像的命令imagex /mountrw。 在提交保存更改后,我们需要它应用到PE中去:

copy c:\\winpe\\winpe.wim c:\\winpe\\iso\\sources

最后用Oscdimg命令生成ISO文件:

oscdimg -n -bc:\\winpe\\etfsboot.com c:\\winpe\\iso c:\\win.iso

说明:最后的c:\\win.iso指C盘根目录下生成名为win的ISO文件

这个路径和文件名可以自己确定。对于制作64位的PE,请使用 Efisys.bin 替换 Etfsboot.com。注意:不知道大家有没有遇到这种情况,估计是有了

呵呵,细心的朋友可能发现了:要注意-b和后面的路径之间不能有空格,这里有AIK的帮助文档。

至此,一个自己定制的使用WinPE制作完成了。一般要在虚拟机中测试一下能不能启

动,如果可以就算成功了,启动不了请认真检测各个步骤是不是做对了。AIK是个大宝库,我们可以自由地、随心所欲地定制自己的PE,更多的功能请大家参考AIK的帮助文档。

本文来源:https://www.bwwdw.com/article/1xk6.html

Top