nLite 制作精简版合集光盘常见问题

自从4月4日第一次接触和使用 nLite,到最近 Windows All In One 光盘的推出,已有近两个月的时间了。说实话,老早老早就有将数个使用面较广的 Windows 系统安装文件集成到一张光盘上的想法了。可惜的是,俺没有 DVD 刻录机,一个字――“穷”啊!就现在用的那台电 52X COMBO,还是乘着 COMBO 光驱大降价的时候以 499元购得的,因此就只能将这个美好的想法藏在心底。(呵呵,怎么有一点酸酸的味道)

一个偶然的机会,让我看到了一篇《Windows体积庞大80%是“赘肉”》这样的文章,第一次照葫芦画瓢的制作出了一个 6XMB 的 Windows 98,那时的成就感,怎一个“爽”字了得!后来用上了 Windows ME、Windows 2000 Pro/Server,后来接触 Windows XP,又从一些网络文章中看到了 nLite 和它的神奇,于是就产生了做合集的想法。
呆子打老婆,说打就动手!先做的是 Windows XP Professional(我最喜欢用的这个嘛)。看着一些精品贴上说的如何如何精彩,没想到轮到自己做起来,却很不是一帆风顺。

遇到的第一个问题就是:下载回来的 nLite 居然没有办法运行,提示说什么需要 Microsoft .NET Framework 1.1 组件的支持!我汗,“教材”上有说明呀,心急吃不了热豆腐!

后来,经过一阵大刀阔斧,终于制作出了一个精简版的 XP Pro(联想版的),看着那精简了 2XXMB 的提示,那个高兴劲儿,真甭提了!可一 VPC(Virtual PC简称吧,这里动词一下,呵呵),傻眼了。出现了“安装程序无法格式化磁盘分区”“计算机内存可能不足”的错误提示,没道理呀,以前完整版 XP 在 VPC 运行(内存设置 128MB)很正常呀,于是我调大内存,依然不行。想想也许是 VPC 内存分配有问题吧,刻张盘在 TPC(True PC)上试试,依然报同样的错误,看来问题没解决(浪费第一张 CD-R)。没法,求助无忧的朋友, [url]http://bbs.wuyou.com/viewthread.php?tid=30993[/url],一句“我倒,多班是你的txtsetp.sif中的setupsourcepath="\"没有改对”提醒了我,看看再说,嘿,还真是这么回事!我倒!(在这里谢谢一下 pandatown 朋友)

本以为接下来可以顺利的安装 nLite 版 XP 了,没想到更烦心的事发生了,安装界面出现乱码,很多字都无法正常显示,不会吧,是不是不小心删掉某个字体了,于是决定不精简语言选项,重做一遍,故障依旧。继续发贴求助,两天后得到了正确答复,原来是 INTL.INF 中的问题,需要将 [CHS_Fonts] 字段中的 simsun.ttc,,,65536 一行删除或注释掉,一试果然如此。呵呵,又学会了一招。(贴子找不到了,不过要感谢这位记不得名字的朋友)

呵呵,又可以重新删除不需要的语言了(能从 99MB 缩减到 17.1MB,你说我能死心吗?)。没想到又有新问题出现了,3758096642 错误代码,发贴求助坛子上的朋友, [url]http://bbs.wuyou.com/viewthread.php?tid=31256[/url] 。没想到这一次在两天后没有等到正确解决方法,后来去 nLite 的官方论坛,发现了这样一贴 [url]http://www.msfn.org/board/lofiversion/index.php/t39914.html[/url] (可能已被删除),大致意思是需要保留繁体中文。管它呢,试试再说。经反复试验,简体中文(新加坡)、繁体中文(香港、澳门)都可以去掉,唯有繁体中文(台湾)需要保留。呵呵,自己搞定了,不过还是要感谢跟贴的朋友们。需要注意以下的是,Windows Server 2003 和 XP HOME 也有同样的问题,都需要保留台湾繁体中文,如果实在想删除,请接着往下看!
其实繁体中文(台湾)也没有占用太多空间,大概不到 20MB。可是我想要做 Allin1,就不得不删除。参考网上的一些删除繁体中文的方法,终于成功了。因贴子来源记不得了,就将操作方法写出来吧(感谢一下这位作者,不算侵权吧)
删除繁体输入法(语言及字体)
用记事本打开 INTL.INF,查找“LG_INSTALL_9”,在第一个地方停下来。这部分就是繁体中文的所有安装信息,它包括了所有需要的文件及注册信息。向下翻分别找到“[IME.LGFiles.Install.CHT]”(所有常用繁体中文输入法所需要的文件)、“[CHT_PHIME_SYSTEM]”(默认输入法的主文件)、“[CHT_PHIME]”(微软拼音输入法的所有文件)、“[CHT_PHIME_APPLETS]”(微软拼音的类支持文件)、“[CHT_PHIME_SHARED_RS]”、“[C HT_CJIME_SYSTEM]”(仓吉输入法的主文件)、“[CHT_CJIME]”(仓吉输入法的所有文件)、“[IME.LGFiles.Remove.CHT]”(删除语言时移除的文件)、“[IME.LGReg.Install.CHT]”(安装繁体的注册表信息)、“[IME.LGReg.Remove.CHT]”(卸载繁体的注册表信息)、“[IME.LGReg.Remove.CHT.Add]”、“[Console.LGReg.Install.CHT]”和“[Console.LGReg.Remove.CHT]”这几部分,删除这几部分项目下的所有内容,保存。(这里推荐新建一个文本文件,随便起个名字,比如“删除繁体.txt”,把这些内容剪贴到“删除繁体.txt”中,方便后面使用)。根据文本文件中的文件列表,在 i386 及 i386\lang 中找到这些文件并删除之。
这样一来,繁体中文(台湾)就成功地手动移除了。简体中文输入法也可以删除的,操作方法网上多的事,不说了。再说,我还想保留呢。另外,还有五个文件(占用空间可不小哟!达 8MB 多),是微软拼音输入法3.0里面的文件,可以安全删除且不影响此输入法的使用,PINTLGC.IMD、PINTLGD.IMD、PINTLGDX.IMD、PINTLGR.IMD、PINTLGS.IMD。操作方法不难,直接在 INTL.INF 中查找这五个文件名所在的行,全部删除便是,然后再在 txtsetup.sif 中做同样的操作,最后在 i386 及 i386\lang 中查找这五个文件,有的话就删除即可。
经过这么处理后的 i386\lang 还剩 39 个文件,17.1MB。怎么样,精简不少吧。简体输入法也不受影响,需要提醒一下的是,如果调用微软拼音输入法3.0,会出错,这与删除那五个文件无关,是 nLite 本身存在的问题,本人没找到解决方法。如果在安装过程中需要输入中文,可以按右边的 Ctrl+Shift 组合键,这样就会按输入法顺序的反向顺序来调出输入法,避免调出微软拼音输入法3.0而出错。我想喜欢微软拼音的还是使用 2003 版的为多吧,以后再装呗。
顺便说明一下,Windows 2000 的安装程序不会出错,也就是说,在作 nLite 版 Windows 2000 时,你尽可以直接删除所有语言项,程序会自动保留简体中文的必须项。省事多了!

Windows XP HOME/Professional 的制作方法同样适用于 Windows Server 2003,包括语言、字体、输入法的删减等,都完全相同。INTL.INF 的“simsun.ttc,,”问题(即字体缺失问题)则在 2000/XP/2003 中均存在,需要手动处理。

后来制作 Windows 2000 Pro/Server/ADV_Srv 的精简,Professional 版很是顺利。可是遇到了服务器版(包括高级服务器版)的精简,本人碰到了一个很小很小的 BUG,完全可以忽略。就是安装后的 Windows 2000 桌面上的快速启动栏不见了,也无法通过“右击任务栏――工具栏――快速启动”的方法恢复(会出现“无法为" "创建快速启动”的错误提示)。在坛子上发贴求助, [url]http://bbs.wuyou.com/viewthread.php?tid=31625[/url] ,没想到这一次没那么幸运了,等了很多天,试了很多方法都没能搞定。虽然可以手动创建 Quick Launch 文件夹的方法解决,但偏偏老毛桃是个完美主义者,既然做就要做好,不许有一点暇癖存在。没想到的就是这么点的“小问题”,也就是这么点的“完美主义”,耗去了我制作 Windows All In One 光盘的近 1/3 的时间。经过大约 10 次的反复“精简――安装――重新精简――安装”的枯燥过程,终于发现只要移除了 Windows 2000(高级)服务器版的帮助组件,就会出现这样的错误!保留“帮助”!我得出这样无奈的结论。可是就这么点小毛病,愣要我保留那很少使用的功能并多占用那三四十 MB 的空间吗?不行,认输不是老毛桃的个性。于是开始决定对帮助组件下手。对比保留帮助和移除帮助的安装文件夹的不同,得出整个组件达 411 个文件,我的天!如果不可以删除的文件是一个还好办,最多试验 411 次就行了,累死活该!可万一不止一个文件需要保留呢?那累死了也没法解决问题呀!岂不是死得很冤?!!这里,当初学习计算机时扎实的 DOS 基础知识帮助了我(在坛子上帮很多朋友解决问题时我都用上了 DOS 的知识,如果你能搜索一下,可以发现我发了不少批处理的帖子),特别是 FOR 语句的大量使用,我迅速地将 411 个文件的列表分出类来,得出 chm 文件 234 个,cnt 文件 19 个,hlp 文件 147 个,其它(包括 exe、dll、inf、chq、ocx、msc等)11 个,这就好办多了。结果老天爷也肯帮忙,这个必须保留的文件不在 chm、hlp 这两个大户中,也不在 cnt 中,这就可以移除 400 个冗余文件了。只用了不到 20 次试验,呵呵!20 次,说起来轻松,做起来很难呀!在这 20 次的试验中,我老婆几乎是贬了我 20 次,“你怎么弄来弄去这么多天了还是出现的同样的错误呀!”(毛巾呢?我狂汗 ing)然后在那 11 个其它文件中经过反复试验,发现 tshootsv.inf 文件必须保留。终于解决问题了,舒一口气先。咳,我的那个身心哪,怎一个“累”字了得;我的那个感觉哪,怎一个“爽”字了得!
得出结论,Windows 2000(高级)服务器版的 nLite 过程中,可以安全移除帮助组件,不过 tshootsv.inf 这个文件必须保留,否则就会出现快速启动栏的错误。还有必须保留的文件就是 CHNUCONV.CHM,nLite 也会自作主张地将其当作帮助组件中的普通文件删除,安装中就会提示 CHNUCONV.CHM 无法复制,不影响使用,但感觉别扭,还是手动保留的好。

再提一下 setuperr.log 的问题。我一开始做的 nLite 版 Windows(包括 XP 和 2003),由于集成了 WMP10,setuperr.log 存在很多记录, [url]http://bbs.wuyou.com/viewthread.php?tid=31507[/url] ,除了一个 syssetup.dll,尽是 WMP10 中的文件,因此怀疑是由于集成 WMP10 引起的。后来才发现,只要合并驱动包并保留 SP2.CAT 文件,setuperr.log 就是干净的。自己分析,也许就是安全编目的问题吧,不知道准不准确。因为只要不手动保留 SP2.CAT 文件,setuperr.log 中就会有这些记录。

最后需要将所有 nLite 版 Windows 系统安装文件做成合集镜像了,编写 DISKEMU.CMD 启动菜单脚本是我的强项(吹牛),一个半小时加上两个小时的调试,A 盘和 B 盘的启动菜单就全做好了。网上有很多制作 DISKEMU.CMD 多重启动菜单的教材和例子,就不多说了。
使用 CDimage 制作镜像后才发现,这个 WinAllin1 A 盘居然达到 780MB,这下怎么办?经过那么多天的折腾,已经再也不想对原有系统再做精简,于是开始对安装文件夹中的一些大文件“动手脚”。首先是统一驱动包文件 Driver.CAB。WinXP 的两个版本保持一致,Win2000 的三个版本保持一致,2003 的也一样。需要注意的是,各个系统的各个版本的 Driver.CAB 文件数量不尽相同,有的成交叉式存在,因此需要重新制作驱动包。确定彼此存在或缺少那个文件,FOR 语句的使用我可是很熟练,一个批处理解决问题了。将所有 Driver.CAB(比如 Windows XP Professional/HOME Edition 的两个)都存在的文件放到一个文件夹,使用 GetCAB.CMD 重新打包,虽然是比原来两个 Driver.CAB 中较大的一个还要大一点点,不过这样两个系统就可以共用这个驱动包了,能省多少空间,想想也是很可观的嘛!
然后就是字体的统一。因为它占用空间较大,且各版本系统中的同一种字体文件打包后(像 simsun.tt_ 这样)字节数也不尽相同。我就拿 XP Pro 的字体文件区分别代替其他所有 Windows 安装文件夹中(i386 和 i386\lang 这两个文件夹)的同名文件。经试验证实,这样操作是可行的。
经过这么一折腾,终于将 WinAllin1 A 盘做到了 695MB。然后就加入了 ROYALE 桌面主题、激活工具等东东,不多说了。在这里,完全可以这么讲,如果没有这些文件统一的操作,不再精简原有系统,是不可能做出 700MB 的镜像的。这也算是一点点地“技巧”吧!

该完了吧,这些几乎是本人制作 WinAllin1 光盘的全过程,包括 B 盘中在 XP 安装中集成 HOTFIX 和将 2003 替换成红叶工具箱,也用了不少同样的方法。以上不少是本人制作中的一些心得,也可以算是制作的技巧吧。我想可以让不少尝试制作 Windows 合集光盘的朋友权作参考,也许有些东西可以让不少朋友用得上,至少可以少走一些弯路。制作精简版的 Windows 好处多多,网上很多,不多说了,也没有想象中的那么难,大家尽管尝试。也许还会碰到一些老毛桃没有遇到过的问题,大家一同探讨、一同进步!

你可能感兴趣的:(职场,休闲,光盘,NLite)