白杨
由于暂时没有时间编写自动生成工具,加之手工生成对有一定经验的人员而言并不复杂,所以写了这份简单的说明档。 RecoveryWare是专门为普通计算机用户设计的系统恢复前端,目标用户的技术背景被设定为仅需了解鼠标单件和按钮点击操作。 对生成 RecoveryWare 的操作人员,要求以下背景知识:
以下均以Norton Ghost为例,若要使用其它映像工具,请参考:配置文件-运行参数。 PS: 以下步骤说来复杂,做起来其实不难 :) 提示:在DOS命令行下,您随时可以使用上/下键选择命令行历史;使用Tab/Shift-Tab键进行自动完成。 注意:在开始之前,强烈建议您仔细阅读“基本配置”部分的所有章节。 |
RecoveryWare 的生成步骤太过繁琐
|
|
|
配置编辑器用于修改 RecoveryWare 配置文件,其界面风格和使用习惯都和 Windows
注册表编辑器十分相似。要编辑配置文件“RW.CFG”,您需要:
|
用户信息存储在配置文件的 \\User\Info
键下,这些信息最终会被显示在系统恢复的第二步:适用性检查页面内,机器配置表中。
以下是每个配置项的名称,及其对应的意义:
同时制作硬盘版和光盘版时,重复输入以上信息是一件乏味的工作。您可以灵活运用右键导入和导出功能降低工作负担。 |
配置文件的 \\User\Preference
键下为用户首选项配置,其中某些重要项目在 RecoveryWare 启动时将被配置为环境变量。这些环境变量可以在
RecoveryWare 及其子进程(从RecoveryWare启动的应用程序或角本)中使用。
|
RecoveryWare 的关键运行参数都存储在 \\Config
子键下。对这些选项进行修改是危险的操作。如果修改了这些配置,您应当在将 RecoveryWare 部署到最终用户前进行测试。 在 RecoveryWare 启动过程中,将会定义几个系统环境变量:
RecoveryWare 自身也会将一些重要的配置项定义为相应的环境变量,这些环境变量可以在 RecoveryWare 及其子进程(从 RecoveryWare 启动的应用程序或角本)中使用。 此外,与 Windows 注册表一样,“扩展字符串”类型的项目在被程序读出时,其中的环境变量将被自动扩展。例如:当前环境中的 %TEMP%变量为“Z:\TMP”,则扩展字符串“%TEMP%\arg.txt”读出时将成为:“Z:\TMP\arg.txt”。 可以利用扩展字符串的这一特性,组合各种环境变量增强配置的灵活性。
初始化顺序和循环赋值
|
手工修改 PE
环境的注册表项是一件十分繁琐的任务,而配置输入法;添加高级工具;调整系统设置等任务却经常需要改变系统注册表配置项。为了简化这些操作,这里为
RecoveryWare 的制作者提供了一种更为方便的注册表修改机制。 在 RecoveryWare 配置文件 rw.cfg 内 \\User\Registry 子键下的配置信息,将在 RecoveryWare 启动时被合并到 PE 系统的注册表内。其下包含 3 个子键:
例如,要为 RecoveryWare 环境添加刻录软件 Nero,可以将当前系统注册表 HKEY_CURRENT_USER\Software\Ahead 和 HKEY_LOCAL_MACHINE\Software\Ahead 中的内容分别复制到 RecoveryWare 配置文件 \\User\Registry\HKCU\Ahead 及 \\User\Registry\HKLM\Software\Ahead 中。RecoveryWare 将在每次启动时把这些内容导入到 PE 环境系统注册表的对应位置内。 以上功能简化了 PE 环境下的系统注册表修改任务。但是对于配置条目较多的场合,使用配置编辑器逐条添加它们仍然是一项繁琐且容易出错的工作。为此提供了一个命令行实用工具:regport.exe。此工具用于在系统注册表和配置文件间进行批量导入导出操作。使用 regport,完成上例中的工作仅需 2 条命令:
另外,使用 regport 可以很容易地编制批处理命令进一步简化操作。regport.exe 实用工具位于光盘根目录下,要获得更详细的使用帮助,可以在命令行下使用“/?”或不带参数地运行该工具:
下面再来看一个例子:假如我们要为 RecoveryWare 的命令行环境添加常用的 unix 命令支持,首先将 unix utilities for win32 复制到 RecoveryWare 的 BIN\UnxUtils 目录下。 接下来我们需要修改系统 path 变量,让它包含该搜索路径,我们编辑 rw.cfg,在其 \\User\Registry\HKLM 子键下依次新建 SYSTEM\CurrentControlSet\Control\Session Manager\Environment 子键(该子键中存放着 Windows 的系统环境变量定义);在其中新建一个名称为 Path 的可扩充字符串并将其内容设置为:“%SystemRoot%\system32;%SystemRoot%;%RDISK%\BIN\UnxUtils”。 以后在该 RecoveryWare 环境下进入命令行就可以直接使用 unix 命令了。 |
RecoveryWare
完成了启动环境初始化和用户自定义注册表导入后,将会根据用户配置执行指定的外部程序。RecoveryWare
支持两种外部程序加载方式:
有时,我们偶尔需要仅在 RecoveryWare 于某台机器上第一次运行时,才运行一些应用。第二次和以后的使用就无需在运行它们了。这样的例子包括:显示用户许可协议;生成注册文件;根据机器的硬件配置改变某些选项等等。RecoveryWare 从 1.1.3.107 版开始提供这样的机制。当然,这样的功能仅被硬盘版支持,由于光盘版中的配置文件仅支持只读访问,所以无法实现类似的机制。 RecoveryWare 启动时序如下:
RunAsService 和 Run 中条目的执行顺序由它们的名称决定。字母顺序靠前的项目会被先执行。例如:在 Run 中的条目 001 执行 explorer.exe;002 执行 cmd.exe。则 cmd 将等到 explorer 结束之后才会被执行。 如上文所示,由于 Run 中的所有条目均在 RecoveryWare 界面出现之前被加载执行,所以很适合安排一些用户交互任务。不过过多的信息和交互很容易使用户感到厌倦,而且此时 RecoveryWare 的多国语言环境还没有被加载,不便于显示本地化信息。建议把大部分信息加载到 RecoveryWare 的语言包中并在适当的页面(步骤)中予以呈示。这样既可以做到信息本地化有能够在最恰当的时候向用户传达意图。 |
SPFDisk(SPecial
FDisk)是一款简单强大的磁盘分区和启动管理软件。SPFDisk允许用户免费使用并开放源代码,该软件也是 RecoveryWare
推荐的硬盘版配套启动管理工具。 要使用SPFDisk,首先用RecoveryWare生成专用光盘启动计算机,要使用中文版,请键入:spfdisk;要使用英文版则输入:spfdsken。
启动SPFDisk后,按照以下步骤建立硬盘版RecoveryWare:
|
|