仔细观察 ERD2005 CD,在根目录有一个文件:WIN51IS ,有哪个版本的 Winpe 也有这个文件的?答案就是只有基于 Win 2003 Server Std 生成的 Winpe 。另外,是基于英文版 Win 2003 Server Std 生成的 Winpe (废话!)。
好,我们找来基于英文版 Win 2003 Server Std 生成的 Winpe ,和 ERD2005 CD 比较一下,就知道了。
1287 个文件,怎么比较呀?!呵呵,易通自有妙法。还记得 UltraEdit 吗?我们可以先把 Winpe 和 ERD2005 CD 放在不同的目录,然后分别生成目录文件的清单(dir /s *.* > dir.txt),用 UltraEdit 来比较两个不同的清单,差异的地方,就是我们要找的答案了。
把原版 Winpe 的文件删掉,剩下的就是 ERD 自己的文件了。保存好,这就是下一步工作的基础了。
六、汉化内核
前面说过,汉化的工作,必须从底层到高层,一步步来,首先是处理内核,要做的工作就是让这一层能够支持简体中文。
有些麻烦,内核可不是能随便改着玩的。这是我们需要面对的第四个问题,有什么好办法?
易通在想,ERD 可以说是架在 Winpe 上的外壳,肯定地,不是简单的架上去而已。可以理解成是安装在 Winpe 上的一套程序,和 Winpe 是要配合好的。那么, ERD2005 CD 中,就可以分为 ERD 自己的文件(包含在我们上一步提取出来了的文件中)以及安装过 ERD 已经配合好的 Winpe (内核)。可以有两种思路:第一种是修改 ERD2005 CD 中的 Winpe 内核,使它能够支持简体中文;第二种就是,在简体中文的 Winpe 内核中,安装配置 ERD ,使它能够支持 ERD 外壳和程序。
以前谈到汉化 ERD 的,都是走的第一种思路。能不能走得通呢?答案是显然的,很难走通,内核里面是千丝万缕的关系,牵一发而动全身,很容易出问题。要不就是对中文的支持度不够好,要不就系统出错蓝屏死机。
相对而言,ERD 只是外挂而已,简单很多,把它植到简体中文的 Winpe 内核中百分百简单很多。并且,这样做可以说对简体中文的支持是最理想的,MS 已经帮我们做了很多工作了。:-)
易通选择了第二条路。
下面的事情,就是先做一个简体中文的 Winpe 内核,再把 ERD 植进去就是了。
聪明的,马上就知道肯定是用简体中文的 Win 2003 Server Std 生成 Winpe 了。是的,这样最保险。易通也尝试过用简体中文的 Win 2003 Server Std sp1 生成 Winpe ,但不成功,道理是显然的,ERD 和内核结合得太紧密了,不是可以随随便便就迁移内核的。所以,我们选择相同版本的内核,只不过默认的语言属性不一样而已。
如果选择第一种思路的,易通就只能祝你好运了。也不是一定不行,条条大路通罗马,或者别有一番风景也不一定。
汉化内核的工作已经变化了,变成用简体中文的 Win 2003 Server Std 生成 Winpe ,再修改它,使它能够支持 ERD 外壳和程序。
七、修改 Winpe 配置
第五个问题也出来了:ERD 在 Winpe 中有哪些配置,又怎么样配置?
Winpe 的配置文件在哪里?在我们上一步提取出来了的文件里!ERD 肯定也要修改原版的 Winpe 的配置文件,改过后的文件也肯定和原版的不同,肯定被我们在上一步提取出来。分析提取出来的文件就好了。
研究过 Winpe 的都知道,Winpe 的配置文件主要有:\i386 下的 txtsetup.sif,\i386\system32 下的 setupreg.hiv,\i386\system32\config 下的 default 和 software。第一个是文本文件,后面的都是注册表文件。文本文件直接用 UltraEdit 处理就好了,注册表文件要用 Regedit 来处理。
检查一下,我们上一步提取出来的文件里有没有这几个配置文件?呵呵,都有了。
解答第五个的问题,就很简单了,把这四个文件与 E 文原版的 Winpe 的配置文件比较一下,就能找出来了。
比较注册表文件,易通也有技巧。先用 Regedit 把它导成文本文件,再用 UltraEdit 来比较,呵呵……
--------------------------------------
注:处理注册表文件的方法
1. Winpe 的注册表文件主要有:SETUPREG.HIV、SOFTWARE、DEFAULT、SECURITY、SAM,常用的是前三个,除了 SETUPREG.HIV 位于 Winpe 的 %Systemroot%\System32 中以外,其余的都在 %Systemroot%\System32\config 中。
2. 三个注册表文件分别对应 Windows 的注册表项:
I386\system32\setupreg.hiv 对应 HKEY_LOCAL_MACHINE\SYSTEM
I386\system32\config\default 对应 HKEY_USERS\.default
I386\system32\config\software 对应 HKEY_LOCAL_MACHINE\SOFTWARE
3. 可以用 Windows 的 注册表编辑器 regedit.exe 编辑注册表文件。
4. 运行注册表编辑器,将光标定位在“HKEY_LOCAL_MACHINE”键或“HKEY_USERS”键上,在“文件”菜单上选“加载配置单元”,选择需要打开的注册表文件并取名,即可把该注册表文件加载为“HKEY_LOCAL_MACHINE”键或“HKEY_USERS”键中的项,比如加载“setupreg.hiv”项名取为“setupreg”。
5. 编辑加载的该注册表文件。
6. 将光标定位在加载的该注册表文件的项,在“文件”菜单上选“卸载配置单元”,卸载配置单元。
7. 如果在 Win2000/XP/2003 系统中使用注册表编辑器加载注册表文件后无法打开键,是由于权限的问题,简单的解决方法就是在 Winpe 中使用来注册表编辑器加载注册表文件即可,比如使用易通的“ERD Commander 2005 Boot CD 汉化加强版”中的 %Systemroot%\System32\winregedit.exe ,注意:不是开始菜单中的注册表编辑器,那个不能加载注册表文件,应该是使用开始菜单中的“运行”然后选择 %Systemroot%\System32\winregedit.exe 。
--------------------------------------
找出差异后,我们照葫芦画瓢,把它做到简体中文 Winpe 的配置文件中,就好了。
有兴趣的,就要留意了,好好分析这些差异,好好学习,你会发现自己对 Winpe 的认识长进了很多。这里,易通就不一一细讲了,免得班门弄斧。
八、汉化 Erd 程序文件
没什么好讲的,用 Passolo 和 CX 汉化程序文件就是了。这一步工作,是最耗人、最辛苦的。可以使用 MS 的汉化字典,参考参考。
要注意的是,非标资源太多。而且,Winternals software 公司的程序员比较有艺术气质,特潇洒,有些非标资源既做界面显示,又用于系统功能调用,比如:Autoruns,不能汉化,否则程序出错。好好测试。切记,好好测试!
九、合成封装
好了,都汉化好了。最后一步的工作就是汉化的内核和 Erd 程序文件合在一起,重新封装,就大功告成了。
但这一步,却不容易。封装 ISO 有 N 种方法,但你会发现,不管你怎么做,做出来的都会有问题,火狐浏览器 Firefox 启动不了。怎么办,翻译的最重要的原则就是忠于原著,浏览器启动不了,就是功能不全,行话就是汉化过度,这是失败!怎么办?这是我们最后一道难题。
问题出在 Firefox ,那我们就来研究一下 Firefox 。正常的 Firefox 应该是一个绿色程序,是不需要写入注册表的,随便就能执行。为什么会启动不起来呢?等等, Firefox 是不需要写入注册表,但是却要写入一些文件的,浏览网页有缓存,还有其他……问题是我们的 Firefox 是“安装”在光盘,它怎么能写?启动不了是正常的!但为什么原版的 ERD 的 Firefox 就能启动呢?肯定是 ERD 做了什么手脚。再仔细研究,在 \i386\system32 下面有两个目录:FireFox、FireFoxProfile。嗯,FireFox 就是主目录,FireFoxProfile 就是配置文件、临时目录了。在 Winxp 或者 Win2003 里面,配置文件、临时目录是在“*:\Documents and Settings\**用户”下的。启动原版的 ERD ,再启动 Firefox 看一看。嗯,在 C:\ 下有一个 ~ErdUserProfile.$$$ 目录,下面有 Application Data ,呵呵,这就是 FireFoxProfile 了。很明显,启动光盘上的 Firefox ,只能通过 Shell 中的菜单。 ERD 先在硬盘上建了一个临时目录 ~ErdUserProfile.$$$ ,再把 FireFoxProfile 拷过去,然后才启动 Firefox 的,就这么简单,也的确厉害。
看样子,我们重新封装不行,说明 ERD 在封装时也作了手脚了。怎么办?
最简单也最有效的办法,就是,我们也用 ERD 来封装,具体的方法……
用 Winternals Administrator's Pak 5.0 生成 ERD2005 CD ,在最后一步封装以前,我们把要封装的内容,换成我们的文件,就让 ERD 替我们干活吧。哈哈,大功告成。
十、总结及其他
回头再看看,我们已经获得了些什么了?呵呵,易通只给出了一个方法:比较-〉分析-〉提取-〉替换-〉测试。但这一招,又有多少人明白?又有多少人能去实践?可以说,这一招可以把已有的东西都搞明白,但也很困难。
再等等,我们还没有把 Firefox 汉化呢!呵呵,不需要汉化了,Firefox 已有了简体中文版,里头关键是一个语言包,还有相关的配置。我们再一次运用熟练的“比较-〉分析-〉提取-〉替换-〉测试”大法,不费吹灰之力,轻轻松松就把它搞定。易通就省略了数千行文字了。
还有,有朋友会说了,易通是在取巧,避开了汉化 E 版 Winpe 的问题,未深入研究 Winpe 内核是怎样本地化(汉化)的。呵呵,这个问题其实很简单,我们比较、分析一下这两个版本的 Winpe ,答案就在手上了。分析得越详细越深入,答案集(呵呵,易通称它为集合)就越庞大。要全部都搞明白的话,凭我们一己之力,估计要到猴年马月了。再回过头来看看上面所提到的处理内核的两种思路,为什么易通会说汉化 E 版 Winpe 内核会很难行得通,是因为本地化 Winpe 内核的改动量是很大的,不光是注册表、配置文件,还有字体文件、输入法、时区等等,在没有尽可能详尽的说明文档(MS 有,你能拿到吗?)的情况下,我们很难保证不发生错误。看一下无忧论坛里,这样的求助帖子很多了。尽可能详尽的说明文档,也就是刚才提到的答案集了。如果也是运用易通的“比较-〉分析-〉提取-〉替换-〉测试”大法,参照简体中文版的内核来修改,是的,成功容易很多。但这样有意义吗?不如直接拿简体中文版的内核来做了。不过,易通还是建议,单从学习而言,有时间的话我们比较、分析一下这两个不同语言版本的 Winpe ,研究一下 Winpe 内核是怎样本地化(汉化)的,还有意义的。甚至,我们也可以研究正常的 Winpe 、Win2003 的内核。易通所做的,可是在简体中文版的 Winpe 内核的基础上,做了扩充、美化(到底美与不美,就看各人口味了)的。不过,适可为止。
=============================================================
©著作权归作者所有:来自51CTO博客作者redking的原创作品,如需转载,请注明出处,否则将追究法律责任
上一篇:图文并茂讲解VMware三种网络... 下一篇:在WORD和EXCEL中输入面积...
redking
374篇文章,632W+人气,40粉丝
关注
Ctrl+Enter 发布
发布
取消