居安思危反面例子:WinPE系统的基础教程之 —— WinPE 系统 DIY 指南

来源:百度文库 编辑:偶看新闻 时间:2024/05/04 03:43:06

2012-2-1

【光盘映像修改方法】
  使用 UltraISO 可以打开 ISO 格式的光盘映像,并可删除、替换、添加光盘映像的内容。
  执行下面的各项修改时,通常都是先用 UltraISO 打开光盘映像,再将要修改的文件拖放到硬盘的某个临时目录(最好同时再拷贝一个备份!),然后按下面的方法进行修改。
  修改完毕,把改好的文件拖入 UltraISO 打开的 ISO 映像的对应目录,然后点击保存即可。
★注意★:
  UltraISO 配置极其重要,否则光盘可能不能正常引导!!!
  在“文件”菜单的“属性”对话框中,要选中的项目如下:
  “优化文件”(可选。推荐选中)、“ISO 9600”、“Max(211)”、“省略 ISO 9600 版本号”、“标准”。其他的选项一律不要选择!切切!然后点击“设置为缺省”。

【基本引导原理】
  本光盘完全结构化,PE系统与应用程序完全分离,由系统引导时自动通过已经内嵌到 PE 中的 XCMD.EXE 命令自动调用系统 WINS\System32 目录中内置的 XCMD.INI 完成 PE 环境的初始化工作,并且在初始化过程中如果检测到光盘根目录下存在外置的 XCMD.INI 配置文件,则自动调用外置 XCD.INI 配置文件来完成外挂程序的初始化及注册过程,继而引导到 PE 系统图形化桌面。
   
【内置变量名称与含义】
%Favorites%      收藏夹目录
%Desktop%        桌面目录
%StartMenu%      开始菜单目录
%Startup%        启动菜单目录
%***%       程序菜单目录
%SendTo%         发送到目录
%Personal%       我的文档目录
%QuickLaunch%    快速启动目录
%CurDrv%         当前驱动器盘符

【DIY 基本步骤】
  ①添加或删除工具:向 \*** 目录中添加你自己的程序目录(或删除现有的程序目录)。注意目录中已经按工具功能进行了分类,强烈建议分类存放工具,并且一个工具占用一个自己的子目录,不建议将多种工具同时混合在一个目录,以免造成日后维护不便/
  ②PE 光盘开始菜单 DIY:用记事本打开 \XCMD.INI,根据该文件中现有的内容的格式添加自己的菜单或删除现有菜单。开始菜单的各项目可使用环境变量(各变量代表的意义见上述说明。下同)。
例:
    LINK %Desktop%\Internet Explorer,%CurDrv%\***\网络工具\TheWorld\TheWorld.exe,,%CurDrv%\***\网络工具\TheWorld\Theworld.ico

各部分说明:
                LINK        ……创建快捷方式命令,不能改
                %Desktop%        表明是在桌面创建快捷方式。%Desktop% 变量名不能改,除非你另有指定。
                \Internet Explorer        在桌面上显示的快捷方式名称
                %CurDrv%\***\网络工具\TheWorld\TheWorld.exe,        快捷方式对应的目标程序路径。
                ,           这个逗号分隔的内容是程序运行参数。如果不带参数运行则留空。
                %CurDrv%\***\网络工具\TheWorld\Theworld.ico        图标路径。如果用程序本身的图标,则不用指定。
  菜单条目每条分别占一行;注释内容请以 // 打头。
  各种菜单命令的详细说明,请双击 XCMD.EXE 后获取。Xcmd.exe 程序的最新版本下载:
  http://bbs.wuyou.com/viewthread.php?tid=91524&extra=page%3D1 (修改版)
  或:
  http://bbs.wuyou.com/viewthread.php?tid=89558&extra=page%3D2 (原版)
  ③设置程序注册:因PE中的程序均是外挂的,因此PE系统启动时要对某些需要注册的软件进行注册。
  如果你添加的工具需要向注册表写入注册信息,请自己写好注册表注册脚本,或者提取 REG 格式的注册表文件,存放到该程序所在的相同目录。
  然后在
  \***\System\RegApp.cmd
  这个统一注册脚本中调用即可。比如:
  用记事本打开 X:\***\System\RegApp.cmd
  仿照如下的格式添加调用你新建的批处理命令:
  call %D%\***\磁盘工具\WINIMAGE\WINIMAGE.cmd
  具体把上述“***\磁盘工具\WINIMAGE\WINIMAGE.cmd”中的内容改成你的批处理文件的真实路径即可,“call %D%\”默认不用修改。
  注册脚本可以使用 CMD 批处理格式,也可以使用 regedit /s XXX.reg 的注册表自动导入注册的格式,具体可参照下文“注册脚本生成方法”完成注册脚本制作。
  注册命令每条分别占一行,可参照现有的命令格式写入,注意路径不要使用本地硬盘上的绝对路径,而必须使用相对路径或者使用上面提供的环境变量!
  如果你要删除现有的程序,也请打开上述 RegApp.cmd 调用脚本,查看是否有该程序的注册命令,有则删除。
   
【注册脚本生成方法】
  1、使用 Regsnap 等在标准的 Windows 环境下跟踪分析出软件要添加到注册表中的内容,然后将注册表修改条目导出,并改写成批处理文件,保存到软件所在的目录中。
  比如对 ACDSEE 这各程序的注册信息跟踪后就保存在:
  X:\***\图形图像\ACDSEE\ACDSEE.CMD
  建议参照  X:\***\图形图像\ACDSEE 这个程序的保存方式保存你要添加的软件,原则是与主程序集中到相同目录存放(包括可能要用到的图标文件),以便日后维护修改。并参照 其中的 ACDSEE.CMD 这个注册批处理的格式和样式创建你自己应用程序的注册批处理文件。
  注意:为了保证 PE 环境和标准 Windows 环境下调用这些脚本都能够运行,因此我们要检测程序所在的实际路径或所在的盘符。
  创建批处理时,最前面的两行就是用于检测当前目录位置的,要保留并引用其中的变量:
  SET Var0=%0
  FOR /f "delims=" %%I in ("%Var0%") do Set OP=%%~dpI
  上述两行的作用是通过检测当前批处理所在的路径获得所在分区的盘符,从而在后面的批处理中使用 %OP% 作为外挂程序路径中要使用的所在的分区号。 %OP% 只与所在的盘符相关,与路径无关,因此你的批处理中要在盘符变量 %OP% 后加上详细的路径。比如:
  REG ADD HKCR\ACDC_JIF\Shell\ACDSEEen\Command /ve /t REG_SZ /d "\"%OP%ACDSEE.EXE\" /v" /f>NUL
  上述命令可在注册表中添加一条注册信息。
  注意:当上述路径检测命令中,Set OP=%%~dpI 时,变量 %OP% 后面不必再添加“\”。如上面的 %OP%ACDSEE.EXE 。
  也可使用 Set OP=%%~dI,与上面相比,仅仅是将其中的 ~dpI 改成了 ~dI,此时变量将不扩充到当前路径,而只扩充到当前盘符。因此如果这样使用,你必须在变量后加上程序的完整路径。比如:
  %OP%\***\TOTALCMD\RUNTC.EXE

【外挂驱动】
  PE 不能驱动你的网卡或声卡等是完全正常的,因此你可能需要把自己的硬件的驱动文件 DIY 进来。
  ①驱动的打包压缩:
  将提取的驱动程序(包含有 inf 安装信息文件的那种,而不是通过 Setup.exe 安装的那种)制作成 CAB 格式压缩包,统一存放到光盘 \***\Drivers 目录下。

注意:
  在 CAB 中,把每个驱动单独放在一个目录中,并保证 CAB 中 INF 文件总是在当前目录的最前面(可在inf类型的文件前面加数字0以实现排序在最前),且 CAB 中的 INF 文件必须经过处理。
  ②用记事本打开光盘映像根目录下的 XCMD.INI,在尾部可找到类似以下的命令行:
  DEVI $%CurDrv%\***\DRIVERS\DRV_VGA.cab
  在这后面把你自己添加的驱动也按照上述示例添加进去即可。
   
【外挂动态链接库】
  光盘 ***\System\Dll 目录为公用外挂动态链接库目录,用于存放某些程序要用到的动态链接库文件,如 Msvbvm60.dll 等;如果你添加的新程序需要外挂动态链接库支持,可以存放在这个目录,其中的脚本会在 PE 启动时自动注册这些外挂库(某些不能采用 Regsvr32 注册的则不能放在这个公用外挂目录,而必须放在你的程序所在目录)。
  如果你的标准 Windows 环境缺少一些动态链接库,则也可以从光盘菜单中选择安装它们到硬盘上的 Windows 系统。
   
【PE 映像的修改】
  本光盘的 PE 系统保存在 \WINPE.IM_ 这个 CAB 格式的压缩包中。修改方法:
  ① 用 CabManager 或 WinRAR 打开 \WINPE.IM_ 这个压缩包,从中可提取 WinPE.IMG 这个硬盘映像文件。
  ② 加载上面提取的 WINPE.IMG,并给它分配一个盘符,比如 X: 盘。如果你打算修改它就要注意不要选择只读。注意暂时不要退出 VMD 虚拟磁盘程序!
  ③ 向上述加载好的盘符(如 X:)如硬盘一样进行各种修改操作。由于修改 PE 系统可能会导致 PE 系统不可用,因此建议你在修改前事先保留备份!
  ④修改完毕,关闭所有已经打开的 虚拟磁盘窗口(如 X: 盘已经的打开的所有窗口),切换到 VDM 虚拟磁盘程序窗口,选中虚拟磁盘后再点击“卸载”。此时所有的对虚拟磁盘映像的修改就会得到保存。
  ⑤使用 CabManager ,将修改后的 WINPE.CAB 拖入 CabManager 窗口,然后选择“保存”按钮,即可重新把 WINPE.IMG 这个 PE 的硬盘映像文件重新保存为 WINPE.IM_。其实扩展名 .IM_ 主要是与 CAB 格式压缩包的默认扩展名保持一致而已。如果你要修改这个扩展名,则必须用记事本同时修改光盘根目录下的 WINPE.SIF 文件,将其中的“WinPE.IM_”改成与你保存的映像压缩包对应的文件名才行。
   
【光盘个性化信息】
  光盘个性化信息的修改均可通过光盘根目录下的 XCMD.INI 进行。用记事本打开光盘根目录的 XCMD.INI,有关命令及含义如下:
  ①登录画面(用自己的图片替换对应路径下的同名文件,或者修改文件路径指向你自己的图片文件均可):
  LOGO %CurDrv%\***\System\Logon.jpg
  ②系统用户名(等号“=”后面的内容即所有者信息。等号前面的不能改):
  REGI HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\RegisteredOwner=Administrator
  ③系统单位组织名(等号“=”后面的内容即所有者信息。等号前面的不能改):
  REGI HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization=Microsoft Commander
  ④桌面墙纸(用自己的图片替换对应路径下的同名文件,或者修改文件路径指向你自己的图片文件均可):
  REGI HKCU\Control Panel\Desktop\Wallpaper=%CurDrv%\***\System\Desktop.jpg
  ⑤OEM 信息:出于让大家动手 DIY 的目的,本光盘没有添加 OEM 图片和文本信息,希望你也不要随便加上自己的名字

【网络收藏夹】
  1、打开你自己的 Windows 系统的收藏夹,分类整理;
  2、用 WinRAR 打开 X:\***\System\Favorites.exe 这个自解压文件,删除其中你不想要的收藏夹内容,然后再把你要添加的自己的收藏夹内容拖入 WinRAR 窗口。其他如解压路径等信息不要修改!
  最后,完成上述所有项目和信息的修改后,用 UltraISO 打开光盘映像,将修改后的文件直接替换映像中的同名文件,注意路径位置和文件名要相同。保存这个映像后,就可以用虚拟机测试修改结果。
   
【光盘引导菜单 DIY】
  本光盘引导菜单是使用 EasyBoot 生成的,你可以使用 EasyBoot 来修改它。详细的使用方法请参阅 EasyBoot 的帮助说明,此不赘述。