蓝色动力网络

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2733|回复: 1

《光盘DIY全接触,从菜鸟长成为高手》!!!!

[复制链接]
发表于 2008-9-29 19:04:23 | 显示全部楼层 |阅读模式
《光盘DIY全接触,从菜鸟长成为高手》!!!!

                                   ——扫盲,写给想成为专家的光盘制作新手

网络广为流传的各种光盘(雨林、深度、番茄、东海、龙帝国、龙卷风、JUJUMAO,等等等等,多种“品牌” *_*)是怎样作出来的,怎样达到它的功用,怎样让它更“漂亮”,要用些什么工具来作这些?

    光盘制作方面的教案目前已经非常之多,许多常用的规程,都有人在撰文,然而缺少系统的介绍,使得很多刚涉足的新手,在不清楚全局、不懂原理的情况下,跟着某些片面的“精品文章”开始尝试,制作过程中发现这样那样的问题,增了很多的疑问,却难以找到答案,于是只好不了了之,造成兴趣锐减。——因此大家都显得兴致很高,结果大家兴致很不高*_%

    所以我认为,一方面,制作精美的光盘需要我们坐下来多作功课,另一方面,“入门”很重要(——说穿了,光盘制作“业内”,所谓高手也高不过两米,所谓新手完全因为被网上五花八门的文章眩花了眼),怎样找教程,怎样系统地学习并确定自己制作目标,要掌握些什么东西,要注意些什么,怎样避免出现问题,怎样构建更完美的设计。。。等等这些,也许才是当前最重要的问题。
    综上所述,本文将强调一个全局的概念,与一般文章反其道而行之,多讲理论(希望能多深入一些),把操作细节的内容压缩压缩,免人头晕。

    糟糕,废话太多了。。。
    ——冲淡本文的“技术性”是我心中的设想,因为无论怎么说,看一篇杂文比看论文总要轻松一些,这也是我首先要提供给新手们的经验:光盘制作没什么太难的,轻松进入就好~~~
――――――――――――――――――――――――――――

进入正题,先让我们看看我们要关心的光盘有些怎样的种类; 1.jpg (22.88 KB)
2008-9-23 19:41


  上图所示是五种不同的光盘,实际上我们现在制作的光盘很少是“单功能”的,只要掌握了正确的制作方法,我们完全可以在一张盘上实现多项的功能。
    为便于讲述,我们假设现在要作的是一张全功能系统光盘,它的结构如图

2.jpg (50.22 KB)
2008-9-23 19:41


――――――――――――――――――
    图中把光盘划分成了不同内容的一些功能模块,基本上这些模块在制作过程中是完全相互独立的,下面的章节内容即按这些功能模块来分开讲述。

    ——你可以把这张图看作是一幅旅游地图,选择“遍游全国”,或是“重点浏览”,在乎你的兴趣。你将来作的光盘,可能是其中一个部分,也可能包含几个部分,甚至集成比图示还要更多的模块,所有设想都是可行的。
    你可以侧重关注你需要的那一部分,希望我在每个部分选择的不同颜色文字能帮助你进入或跳过某些章节。

    ——作为新手,不可能一下子掌握全部技能,不过可以肯定的是,随着你深入部分的增多,你身上的菜鸟色彩将越来越淡化,待到你掌握到全部课程,呦嗬,相信我,没人会怀疑你不是光盘DIY高手~~~

    注释一下,咱这只说用于M$(微软)Windows系统的盘,其它的系统Linux也好Unix也好Mac也好,请看其它人的其它文章介绍,反正我还没写~~~
    另外,本文所述光盘制作没有CD与DVD的区别(唯一的区别就是DVD装的东西多而CD比较“节俭”,而已)。

―――――――――――――――――――――――――――――――
一. 光盘启动模块
    光盘启动的最大特质就是“与系统无关”,无论你平时用的什么系统(Windows 2000、Windows XP、Windows Vista,或是其它),无论你硬盘上有些什么东东,甚至无论你机箱内有无硬盘,光盘仍旧可以启动,并“开展工作”。
    ——所以我们可以用光盘检测机器,用光盘安装系统,用光盘排除故障。。。

    光盘启动需要计算机主板BIOS的支持,以及设置启动第一顺序为光驱,然后,需要光驱中放的是一张“可启动光盘”。

    经常有人问,什么是“可启动光盘”?它和“不可启动光盘”有什么区别?
    这牵涉到BIOS设计标准和光盘结构方面的知识,简单一点说,“可启动光盘”就是包含引导文件,并在盘面某个特殊位置放置了某些特殊信息的光盘。
    计算机从光驱启动时,首先会到光盘这个特殊位置查找启动信息,如果存在,它就会按引导文件的提示,找到光盘上的启动映像(比如用于维护的虚拟软盘)或启动文件(比如象WindowsXP安装盘的设计),执行相应的动作。

    让人欣慰的是,你不需要为怎样写入启动信息而焦虑,下面将介绍的任一种制作工具都能帮你完成它,根本不需要你懂得太多。

    因此我们要记住启动光盘制作之两大要素:专门工具,及引导文件。
    (光盘为何启不动这种问题,不要再问了!!!)

    启动光盘最原始的作法是从源盘提取引导文件,然后用CDImage、mkisofs、UltraISO...之类工具打包成ISO镜像,制作成盘。这种光盘被启动时,将自动执行系统安装进程,或自动开始某项维护任务。我们现在仍在经常使用这种方法,比如制作看上去完全与正版相同的Windows系统安装光盘。下图是这种光盘的示意;

3.jpg (34.76 KB)
2008-9-23 19:41


随着应用领域的扩大,这种单一启动的光盘显然已无法满足需求,但是BIOS不支持多重启动(现行BIOS标准规定的多重启动功能基本只限于理论),所以以前想要在光启后进行更多的表演是一件相当麻烦、难于实现的事情,这让广大光盘制作爱好者饱受困扰。
    幸亏Diskemu的出现,幸亏有Gary Tong,和Bart Lagerweij(荷兰鬼子Bart,自由软件的多产者及电脑技术高人,推动了Diskemu的发展,而Gary是Diskemu的原创者)。

    [建议懂一点E文的朋友到Bart的网站上访一访,
http://www.nu2.nu/,这是光盘启动技术研究的大本营,可以说,国内论坛上的光盘启动技术基本都脱壳于这个网站,站上的文章如果你全都能够看懂,那你在国内就算高手了。]

    作为专门制作启动光盘的工具,Diskemu开创了多重启动的先河,它采用的方法叫作“‘非模拟’(软盘、硬盘)式BIOS模拟法”,基本原理就是使自己的引导文件能够被BIOS确定为一个合格的“中继”,而后我们通过这个引导文件所能作到的功能(无需直接与机器“对话”),实现我们亟需的多重启动。
    从单启动到实现多重启动,无疑是光盘启动技术的一个质的飞跃,它让我们现在能够轻易作出多种多样的启动光盘。
    下图是采用多重启动光盘的一个示例:

4.jpg (31.74 KB)
2008-9-23 19:41


――――――――――――――――――――――――――
    现在介绍怎样制作多重启动光盘,如前所述,首先选择制作工具。
    现在这类工具已经品种很多,比如ISOLINUX、Boot Script 、CD Shell、W2kall(它也是Bart的作品)、BCDW,以及下面我们马上要专门介绍的EasyBoot,等等(所有这些产品,几乎全部是Diskemu这个里程碑工具的衍生品)。

    它们全部都包含以下两个功能:
    1. 让光盘具备启动功能,并自备专有引导文件。
    2. 能制作光盘菜单,让您选择任务并执行。

    采用哪种工具制作光盘,在乎大家各自的喜好,可以说每种工具都有自己的粉丝,即使2001年即停止继续开发的Diskemu,今天照样被爱好者大量应用。
    ——所有工具中,目前只有EZB等少数几个还在继续开发,说明优胜劣汰十分严重

    这类工具中,最幸运的是EasyBoot(易启动,下面简称EZB),这个国人开发的小软件,以自己的易用性、好的中文支持以及还不错的稳定性,牢牢占据了国内光盘制作市场,它的出现,让其它那些工具来不及在国内流行,就被完全淹没了(同样被淹没的还有同为国人制作的Mkcmenu、VBoot等)。

    EZB使用很简单,装好它(用绿色版本也可以),然后把你的所有文件按它的要求放入指定目录,设定好背景图片等参数,编制一个或若干个菜单(其中一个叫主菜单,是光盘启动时出现的,其它的菜单可以通过主菜单内任一个条目调用),设置每个条目的功能,然后点制作,就可以得到你光盘的ISO镜像了。
    ——EZB最新版本又增加了对memdisk及Vista引导文件的支持,真是好消息!

    EZB的教程比比皆是,在此推荐“EZB 刻录家园 ”的一篇文章:“EasyBoot制作启动光盘之过程篇
    我不懂为什么到处有非常多的人在写EZB的教程,菜鸟们为什么不到Ezboot自己的大本营(“EZB 刻录家园 ”)去学习学习?那里有众多高手坐阵,得到的总会是权威的回答,比学些零碎招数好多了~

    提示新手,作为入门,“拆开”你收集的光盘进行分析,是加快你掌握EZB用法的一个捷径:
    ——将光盘用UltroISO解压到硬盘,找到其中后缀名为.ezb的文件(它们多半在称作“Ezboot”或“Boot”之类的光盘隐藏目录内),这就是光盘的菜单文件,可用EZB直接打开。

    贴张EasyBoot菜单的效果图在这里,这是我早两年作的一张四合一系统安装盘

5.jpg (26.82 KB)
2008-9-23 19:43


如果说使用EZB有难度的话,主要在于它的菜单条目的执行命令,你要知道该用怎样的命令执行一个程序(实际并不能说是程序,除了PE外,多半是启动一个虚拟软/硬盘),用怎样的命令重启、关机或从硬盘启动……
    EZB另有一个让不少人头疼过的地方,就是它的背景设置,它对支持的图片有一定讲究,而且更换时要注意删除原有图片产生的附属文件。

    EZB之外,在此特意提提俄国佬的免费软件——BCDW(Bootable CD Wizard),它是首个支持从“非标准格式映像文件”(“非标准格式映像文件”见系统维护部分的介绍)中启动的工具,这是一项大的改进,只可惜BCDW至今不支持中文(无忧论坛有高手在改善其中文支持,但不算很成功),让国内爱好者只好敬而远之。
    正因为BCDW的功能十分强大,所以目前的EZB内嵌了它的一些功能,可以直接调用“BCDW”命令。EZB 的高级用户一定要了解BCDW的使用方法,在此向大家推荐一份“BCDW使用介绍”,内容比较详细,建议抽空看看。
    用EZB制作光盘时,很多场合下,如果用“run”命令出错,可以考虑试试“BCDW”,注意:BCDW命令必须写出执行文件全路径。
    另外,BCDW可直接启动ISO光盘映像(但只有基于 DOS/Int 13接口的系统才能从ISO文件加载,Windows 2000/XP/2003和Windows PE/Live Linux等可启动ISO无法正常运行),如果你想偷懒直接将下载的ISO放入你的光盘的话,用“BCDW XXX.iso”就可以了。
――――――――――――――――――――――――
    EZB相似的工具就不作介绍了,大同小异,现在说Grub。
    EZB一统天下的同时,作为进一步的研究,Grub这个名词你不可不熟,很多爱好者玩腻了EZB,或者不满足于现有功能,转情于Grub。
    (Grub与EZB并不能说是同一个层面的东西,新手们只需理解,这是新一种启动光盘制作方法。)

    Grub是一个自由软件,功能非常强大,不仅用于启动光盘,它还可以配置到硬盘、U盘这些存储设备,实现多种多样的功能(比如独特的Windows/Linux多系统启动菜单等,另外某些“一键恢复程序”还有“矮人DOS系统”之类都是依赖它而开发的)。

    制作光盘我们实际用到的是Grub4DOS,Grub4DOS改善了Grub的实用性,是一个开源的、正在不断开发中的项目,目前主要由“不点”和另外几位国内同胞在维护(它也许是我们IT领域将来能够在国际上占领的一个阵地,听说“不点”大侠已提出“将GRUB4DOS发展成为一个操作系统”!),Grub4DOS正在不断发展与完善之中,如果你有能力,也可以参加作一些贡献。

    Grub4DOS目前主要功能如下:
    1. 支持中文显示,背景图片;
    2. 支持软盘虚拟功能,可以用以引导系统;
    3. 支持硬盘虚拟,磁盘的映射(当然,还能激活/隐藏/创建分区);
    4. 支持网络启动(包括网络虚拟软盘);
    5. 支持光驱启动(拥有一个独立与BIOS的ATAPI设备的驱动程序);
    6. 跨平台的支持;
    7. 对多引导文件的支持;

    Grub的概念和使用方法,不是三言两语可以说明,限于本人水平,关于它的扫盲工作,由“
时空论坛”来作吧,国内开发、研究及使用Grub的高手,大多聚集在那里~~~(也可以参观一下Gandalf作的“GRUB中文主页”)
    (顺便提示一下,进“时空论坛”请先看这页——“
关于新手的提示”)

    Grub4Dos工作在命令行模式,一些功能尚在继续探索中,所以对新手是一个考验,但是我们应该相信,在不久的将来,大家都可以更轻易地使用它来作更多的事情……
    (如果说高手恼恨图形启动你可能不相信,不过事实看上去就是如此,除了功能上的要求,高手们不希望受到其它的影响,到“时空”呆两天你就知道,那些哗众取宠的内容将如何的不受欢迎)
    (这也是学得越多,越能感觉到自己的不足的原因……)
    ——感慨有点多了,打住~~~

    附一份网上收集的“
Grub4dos初级教程”在这里,虽然不尽完美,而且很大篇幅用于介绍Grub的硬盘应用,但大家一定还是能从中受益,教程附录里更集成了很多其它高手写的Grub相关文章,都很不错!

    国内Grub研究已经达到一定水准,因此菜鸟们也可以得到的一个好消息就是,即使不懂太多Grub,不懂命令行,我们也可以试试“Grub”一下——用甘大侠(Gandalf)制作的“时空淘气包”。(
官方网站
    “淘气包”与EZB功能相似,操作原理也差不多,也算是一个傻瓜软件,但显著不同的是,它完全正宗支持图形化启动!!!
    ——想要作出更漂亮光盘的朋友应该是有福了~

    不过……不过,就兼容性/稳定性等方面而言,“淘气包”仍旧有一些缺陷,内部透明度也不够高,更糟糕的是,不知是它的主人遇到了技术瓶颈还是需要更强支撑的原因,很久以来一直没再对程序进行过更新,所以至今为止并不是有很多人看好它(如果甘老大再这样“沉默”下去,保不定“时空淘气包”将成为历史文物了~~~)
    “时空论坛”有“淘气包”制作启动光盘的详细教程,大家直接学吧,非常容易的,这里我就不再赘述了~

    [05-28编辑]感谢linyizyl朋友的提醒,淘气包最近终于更新了,甘老大说:“根据上级指示,我已经将淘气包的 aero.sys 改造完毕,它已经具备了 Grub4DOS 的 chainloader、map 的全部功能。此外,也解决了 U 盘量产 USB-CDROM 的问题。 - 坦白得说,这次我是将淘气包的 aero.sys 植根于 Grub4DOS 了。o(∩_∩)o...”
    ——大家可以赶快下载尝尝鲜,我相信如果甘老大继续努力的话,淘气包的流行指日可待!

    看看它的启动界面

6.jpg (32.92 KB)
2008-9-23 19:43


怎么样?看上去是不是象Windows界面下的操作?帅呆了~~~

――――――――――――――――――――――――
    光盘启动模块的内容就介绍到这里,至于启动之后如何进入系统安装、克隆或维护模块,请看各模块的介绍。
    顺便再提供一个小技巧,如果你希望在光盘启动时出现 \"按任意键从光盘启动(Press any key to boot from CD...)\"的提示,只要将Windows安装光盘中的 bootfix.bin 文件放到你的光盘即可。(注意,最好将EZB的引导文件loader.bin改用msldr.bin,这是微软的光盘引导程序,已包含在EZB新版目录内,它的兼容性较好,完全支持bootfix.bin)

本节关键:
    弄懂可启动光盘原理,掌握一种以上启动光盘制作工具使用方法。


二.. 系统安装模块
    直接把M$(微软)的安装光盘复制为你的光盘,这不是下面要说的内容,我们要说的,是包含一种或多种Windows系统的、优化的及带有定制风格的、无需人工干预的“全自动安装光盘”(以下简称安装模块)。

    简单说,我们作成的光盘多半是这样工作:
    用光盘启动电脑,在光盘菜单中选择要安装的Windows版本,进入安装程序,在你确定Windows系统安装的位置(C盘、D盘...)后,开始自动安装(不需要你输入用户信息、安装序列号、时间地域设置、组件选项。。。,以及无聊的点“下一步”。。。),安装过程中自动装入M$发布的各种补丁、升级组件,及必要的驱动程序、应用软件/插件。
    这样的光盘安装完毕后提供给你的是经过初步优化的、可带有制作者信息及独特风格设置的系统。

    因为本文介绍的是多系统盘的制作,所以下面我们将制作出来的每一个“系统盘”称作一个“模块”,显然,光盘上放几个系统,我们就需要制作几个模块。

    以下介绍基于Windows XP版本,其它版本大同小异(Windows 2000以前版本不支持自动安装,不列入本文讨论范围)。

    下面逐一介绍从安装模块内容制作直至将模块组织到光盘的具体步骤:

―――――――――――――――――――――――――
1. 准备源文件
    制作模块首先得准备好源盘,找M$(微软)的正版光盘或从网上下载都可以,我们要用到的主要是源盘I386文件夹,以及根目录下的几个辅助文件。
    这一步唯一需注意的是要找“可用”的版本,否则搞半天弄出来的东东是“您是盗版软件受害者”,惨了~~~

――――――――――――――――――――――――――――
2. 模块制作概略
    目前nLite相当流行(用于Vista系统的叫作vLite),它是专用于制作安装模块的工具,一个“傻瓜型”免费软件,你只需准备好所需资源,按提示一步步操作,就可以制作出一个完整的安装模块,如图是nLite的主界面

7.jpg (28.21 KB)
2008-9-23 19:43


nLite使用简单,但对Windows 2000及Windows 2003等的支持仍不够好,另外它存在一些弊病(清楚安装模块制作原理后你就会知道,后文中也会提到一些),甚至某些部分仍需手工进行修改。
    nLite的爱好者非常多,从软件操作、整合包的研究发布到安装模块的后期调整,各类文章随处可见,刚入门者可先看看我收集的这篇“
nLite入门教程”。

    本节重点不是讲nLite,我们将主要介绍安装模块制作原理,以及非nLite方式操作(如果你只打算使用nLite制作安装模块,也不想捉摸太多,那么——觉得烦就忽略以下一段吧~~~)

    如前所述,安装模块必须达到两个功用:1)能实现全自动安装;2)能使安装好的系统达到我们的期望功能。

    实现Windows的全自动安装很简单,M$自己提供了可靠的办法,只需我们创建一个“自动应答文件”,将它命名为“Winnt.sif”,放入光盘指定位置,Windows安装程序就可以找到它并按应答文件的指示自动进行安装。
    M$的“XP SP2 Deployment Tools”工具包里(
下载链接)包含了一个“安装管理器(setupmgr.exe)”,我们可以用它来创建应答文件,这是一个向导模式的简单工具,使用非常方便。(工具包内名叫“ref.chm”的帮助文件,附有很详细的说明)

    事实上,现在我们通常会直接编写或通过修改他人现成文件来创建应答文件,以加入更多我们需要的命令,所以一般不需要使用这个安装管理器。
    Winnt.sif文件的编写可参看他人现成的文件,相关各参数使用说明及其详情可参考
这里

   
    仅仅让光盘实现自动安装是不够的,下面我们详细介绍怎样来“整合”我们的光盘,以实现个性化的功能。

    先来了解一下标准的Windows安装全过程,如下图

8.jpg (58.05 KB)
2008-9-23 19:43


Windows的安装过程是很透明的,图中我们可以看到,Windows安装分为若干不同的阶段,而且在部分阶段中给我们提供了一些“接口”(图中“*”处),通过在“接口”处插入任务,就能使Windows安装执行“额外”的工作,帮助我们达到定制Windows系统的目的。
    我们一般采用插入批处理文件的方法安排任务,批处理文件可以在cmdlines.txt、svcpack.inf、RunOnceEx、[GuiRunOnce]字段下……任一个接口执行。

    系统接口(包括命令调用及文件位置)及批处理文件是整合光盘要用到的最基本知识,因为篇幅所限,本文无法包括这方面内容,强烈推荐新手学习刘晖网站上的这篇文章:“无人值守Windows XP安装光盘”(以下简称中文手册)

    大家有谁知道
MSFN?——知道MSFN的都是安装光盘制作高手 *_*
    其实MSFN只是洋鬼子的一个论坛,说得如此夸张的原因,是因为我想提示一下,MSFN是相当专业的一个著名技术论坛,藏龙卧虎,当今活跃于安装光盘制作技术顶端的国内高手几乎全部都是在那里蹲点蹲出来的。(天天泡MSFN的,想不成为高手都难 *_^ )
    MSFN作了一个专版来安排一份“Windows自动安装手册”(“
Unattended Windows ”),这份手册分为初级、普通、高级用户三个阶段的内容,作得非常漂亮,迄今为止我还很少见到任何的帮助文件作得这么体贴、简要而又全面,详细而通俗易懂,上面推荐的文章就是这份手册的不完全翻译版。
    现在网上相关教程很多,就文章系统性及完整性而言,建议大家还是看原始的这一份。

    中文手册中都是最基础的东西,如果连这些内容都不明白,你注定只能是一只菜鸟,面对可能出现的许多问题均将束手无策(即使你懂得一些Winnt.sif,懂得nLite操作、懂得DPS,懂得AU3,……也无法真正达到高手的层次)。

    (刘晖翻译的那篇“
创建多重引导DVD ”也可以读一读,这是多系统安装的最初方法。)


    以下文章将基于你已经初步掌握这些基本的知识,凡手册中已有详细说明的内容不再重复,新手请对照手册了解下面的介绍。

    不同的接口、不同的任务,有不同的插入方法,掌握了接口使用技巧,我们就可以如下图来安排Windows的安装过程
9.jpg (37.31 KB)
2008-9-23 19:43


下面介绍的各种补丁、驱动及应用软件集成方法,乃至系统修改,都将牵涉到接口操作的具体方式。

――――――――――――――――――――――――
3. 集成系统补丁
    M$每月都定期发布Windows补丁,有时一两个有时一大串,这是M$平日作的唯一重要事情。
    我们要作的就是将截止光盘制作时M$发布的这些补丁集成到系统之中,避免每次新装系统都需要花很长时间下载及安装它们。

    系统补丁主要分三类,集成方法不一:
A.Serveics Pack
    指M$称作“Serveics Pack”(服务包,简称SP)的动辄上百兆的大东东,它的集成比较简单,用M$自己提供的方法就行了,下载SP包,解压,然后执行个简单命令,稍作调整,OK。
    M$每逢补丁(见后面的Hotfix说明)发了很大一串后,会觉得有点对不起观众,于是把前面发过的这些集中到一起,再加上其它一些修改,作一个专门的大包,免费赠送;再过一阵子,大包后面又有很多小包了,又再整一次,连前面那个包(就叫包1吧)一起再作个大大包,取名叫包2……如此积宝下来,就有了我们现在在用的Windows 2k的SP4、Windows XP的SP2(这两天发SP3啰~),等等。

    这种集成可以称作“紧密集成”,因为它直接修改源文件,在以后的安装过程中不要再添加任何操作。
    你也可以用nLite来完成这个工作,与所能完成的其它功能相比,nLite在SP的集成过程中基本不会写入额外的信息,或增加未知文件到你的源盘。
   
    一般新SP会涵盖旧SP的内容(比如Windows 2000可直接集成SP4而无需使用SP1~SP3),所以集成新SP补丁后,最好设法清除原有SP相关文件。
    M$若出版新光盘必然会预先集成SP(所以有“Windows XP SP2版”这样的称号出现),如果你用的是这种“带包版本”,而且制作时没有更大数字的包出现,这一步就可以省略了。

B. Hotfix
    Hotfix专指M$的“日常更新”,M$基本在每个月会发布一次,或多或少。

    集成Hotfix的方法有很多种,从最粗糙的RunOnceEX到较复杂的Svpack,哪一种都可以(包括借用nLite帮你自动集成),区别在于调试和检查的方便程度、扩展性、以及制作的复杂性,当然还有界面的美观与否、整合目录的整洁性、以及对光盘尺寸大小的影响,等等。

    集成操作的“可扩充性“是制作一张好光盘的首要考虑,我们必须知道集成后改了些什么,尽量让制作出来的东西在下一次需要修改时仍旧可用,只需就补充部分作局部修改——这也是我不太推荐使用nLite、DPS这些工具的一个原因:它们是“一次性”的,下次作同样的光盘,你一般都不知道是否需要重新复制新的源文件及重新制作。
    如果你这辈子只打算试着作一次安装光盘,可以忽视这个考虑。

    Hotfix补丁一般无法象SP那样紧密集成,我们采取的方法是在系统安装过程中安排一个步骤来整合它。注意,集成后我们必须得到系统的认可,这一点同样重要。(比如有人通过某些方式简单地将补丁文件置入到系统,以为万事大吉,实际上,但你联上网络,M$仍将高呼“你的系统尚待更新。。。”)

    集成Hotfix的方法大致有两种:

    第一种方式,最简单的,Hotfix补丁程序直接安装方式,将它作为系统安装过程中的一个安装子过程。
    直接安装可以通过Cmdlines.txt调用,也可以在应答文件Winnt.sif中的[GuiRunOnce]段加入批处理来完成,另外,通过XPlode之类的外挂进行安装,也是可以的。
    直接安装方式比较粗糙,缺点是:a. 需要最多安装时间;b. 安装时将出现Dos窗口(黑乎乎的窗口,在Windows安装过程中显得比较突兀,XPlode除外);c. 占用光盘体积较大。

下面是直接安装方式的截图

10.jpg (39.05 KB)
2008-9-23 19:43


第二类方式是Svcpack方式,它接近于SP集成方法,是一种没有安装界面的静默安装。
    这是M$自己提供的方法,通过分解Hotfix程序文件(手工或借用工具),保留必要的部分,而后在系统安装过程中把它们整合进去。

    这种方式肯定优于前一种,因为它与Windows安装过程结合更紧密,更隐蔽,而且可以减小补丁体积。

    手工作这件事比较麻烦,所以我们一般借用下列工具来完成这个工作:

    I. nLite,功能强大,缺点是操作不透明(你将不会知道它到底在你的源文件里面改了些什么东东),整合后光盘会多出一些“辅助文件”。

    II. HFSLIP,同上,它还包括一些非常有用的附加的插件,操作比nLite复杂一点,但相对而言,我个人觉得它的集成度及可修改性比较高。

    III. XRCreat,这是活跃在MSFN的高手写的一个批处理程序,我原来一直用它,但现在已经停止开发了。

    IV. RVM Integrator,作者同样来自MSFN,集成方式类似nLite,Ryan长期提供最新的补丁包UpdatePack,我们只需下载补丁包然后一两个简单步骤就搞定了。
    这个工具支持中文界面,你还可以用它来进行一些应用软件的安装(请下载它的AddonPacks) 。

    除了nLite以外,其它工具我没见到国内有翻译的教程,大家直接上MSFN啃啃E文吧~~~
    通过我自己的试用发现,nLite方式有一些Bug,集成某些Hotfix时需要手动修改。
    需要注意的是,不管哪种方式,对于个别的Hotfix必须采用某些特别的方法才行(这也是M$害人的地方!)。

    工具选定了,那么,对于每一种要安装的系统,哪些Hotfix是我们需要的呢?

    自己到网上收集不是件很容易的事,M$自己都从不发表“补丁一览”,所以建议大家到MSFN论坛去看看,国外那些高手们很勤劳,根据每种系统版本完完整整列得好好的,附带下载链接,而且更新及时(唯个别本地化(中文)补丁未列出,虽无伤大雅,但有心者应自己补齐)。
    MSFN上还推介有一个小工具,叫作Windows Updates Downloader(WUD),可帮助你下载Hotfix。
    nLite及RyanVM’s当然是直接找它们的整合包就行了。

    使用E文版Windows系统的用户还是比较有福气,MSFN经常发布一些自己作的Win2K SP5、WinXP SP3之类SP包,省免了到处找Hotfix的麻烦。
    顺便说一下,Windows 2000以前的系统不支持部署,M$自己也没有系统整理过其相关的各类补丁,更没有什么SP包提供(网络流行过一个Windows98 SP1,那是MSFN高手自己收集认为必须要补的补丁自己作出来的,而且不支持中文版Windows98),所以Win2K以前的系统无法集成Hotfix,也无法实现完全意义上的全自动安装。

C. 其它
    这一类其实不能算作补丁的,它们是Windows内含应用的升级。
    重要的大概有如下一些:
    I. Internet Exproler 6.0/7.0
    II. DrictX9.0c(XP SP2以上源系统已包含)
    III. Microsoft Media Player10/11
    IV. .net Framework升级及其补丁
    V.MS Java虚拟机
    VI. FlashPlayer(这是IE的Flash插件,因为我们一般将它与上面程序一起处理,所以放在这里)

    这类补丁每一种的集成方法都不同,但同样可以利用Hotfix集成提到的那些工具完成,一般我们只需清楚其原理就行了。
    用HFSLIP方式整合完后的Svpack目录大致这样:

11.jpg (37.38 KB)
2008-9-23 19:43


――――――――――――――――――――――――――――
4. 集成驱动程序
    驱动程序集成分两方面的概念:

    第一种是普通(所谓即插即用PNP)的,就是放更多的驱动源程序到光盘,供安装过程中自动选用,以支持更多硬件设备,减少你系统安装完毕后得另外为“未知设备”找驱动程序安装的辛苦。
    操作相对比较简单,添加相应条目到Winnt.sif文件,然后把驱动程序放到$OEM$下面目录中即可,这里不多说。
    喜欢nLite的朋友当然可以选择nLite来进行整合。

    另一种概念叫作“文本方式驱动”,目前主要针对硬盘驱动程序。

    大家不知有没有遇到过这种情况:系统安装开始时,出现“……请插入软盘,按F6继续……”
    这种情况多出现在安装系统到SCSI硬盘、某些串口硬盘以及磁盘阵列上时(这几种磁盘统称MassStorage),现在国内一般家用PC还是比较少出现这种情况(与洋鬼子在家用机上动辄挂个SCSI硬盘,动辄作个RAID相比,咱们还是有差距啊~),意思就是你的硬盘未被识别,需要附加硬盘驱动程序,才能继续下去。

    完整的解释是:如果你需要将操作系统安装在RAID或SCSI硬盘上,那么它们的驱动程序必须在安装系统之前就正确加载。
   
    由于这些驱动必须在系统安装的文本方式阶段准备完毕,因此,它与前述即插即用硬件驱动安装方式大不相同,相对而言,操作比较麻烦。

    根据M$发布的技术文档说明,我们需要在收集到那些必要的驱动程序后,分解它,留下必要的文件,然后修改系统安装的一些“指导文件”。(除了Winnt.sif文件外,我们还要修改txtsetup.sif、Dosnet.inf等文件,使驱动文件在系统安装开始时就被拷贝到硬盘上,并指定硬件ID数据等内容,让其自动安装完成。)

    这里我们同样可以借助前面提到的补丁工具。

    另外MSFN介绍了一种方法,利用Bâshrat the Sneaky's DriverPacks来对驱动程序整合。
    这种方式采用的工具也就是目前已在国内流行的DPS(DriverPacks BASE),它是图形界面的(含中文界面),使用简单,而且官方提供的现成的驱动程序包将大大减轻你驱动收集工作的负担。
    DPS对源文件的修改还算是透明的,内行高手可以DPS后自己手动完善一下,记得在它的“驱动包整合方式”中勾上方式2,如下图:
85_766582_7e3489a9766572e.jpg (30.95 KB)
2008-9-23 17:50


――――――――――――――――――――
5.系统功能修改
    原版的系统文件为什么要修改???原因集中在以下几点:

    I. 去除系统文件保护——如果不去除Windows自带的系统文件保护,那么你对系统作的任何修改都会被Windows自动恢复。

    II. 使Windows可以使用第三方主题(仅限于XP以上系统),修改网络并发连接数,等等。

    III. 自定义安装界面,启动屏幕、登录屏幕、OEM信息(系统属性对话框),使用自定义桌面,设置用户名工作组机器属性,等等。

    IV优化系统,包括禁用一些不必要的服务进程。

    系统功能的修改大致有修改源文件、修改注册表、注入注册文件等方法,由于修改方法各异,此处无法一一罗列出来,请参照中文手册中的最简单示例进行操作。
   
――――――――――――――――――――――――
6. 系统精简
    有些朋友喜好用精简的系统,尤其早些年硬盘/内存吃紧时。
    精简系统另外的目的是缩小光盘体积。

    这里必须又提到nLite,它原本就是因精简系统而生,所以……精简系统就用nLite好了。
    精简的某些步骤也是很烦琐的,另外某些部分的精简需要手工操作,大家到网上学学高手的经验吧~~~
    PS:我个人基本不用精简版。

――――――――――――――――――――――
7. 应用软件集成
    安装过程另外的部分就是必备软件的安装。即使制作纯净版的呼声越来越高,仍有很多用户希望作出的系统安装盘能够同时完成更多应用软件的安装。

    应用软件安装我们一般安排在RunOnceEx中,让它在系统第一次登录后进行,我们可以直接写一个批处理文件执行,也可以用到下面列出的一些工具:

    1)Windows Post-Installer! (WPI),有中文版本,作出来的界面非常漂亮,而且还可到官方站点下载更多主题(themes)。

    2)Windows Installer Helper Utility(WIHU),完全实现与Windows安装的无缝连接,并包含建立/修改用户、修改计算机名称、工作组、注册用户、和组织等功能,你只需编辑好它的“install.ini”文件就可以在安装过程中调用。WIHU含中文版本,使用方便,另外它还可以非静默方式安装(让你选择需要安装的软件)。

    3)Xplode,原来叫作XP install,它可以通过编写XML文件安排你安装的进程,简单明了,容易编辑及修改,也是非常漂亮。大家可以看看我重转的这篇“
XPlode使用详解”,还算详细,大家参考一下~~(Xplode现只允许个人免费使用,需要发邮件申请下载免费版本)

    4)AU3,可编写自动安装脚本,AU3特性见后面的介绍。


    处理应用软件集成时,除了调用安装过程外,另外重要的一点是需要实现应用软件的全自动安装,不能让它使你的“全自动无人值守光盘”变成“请你点击继续”的光盘。
    非常好的消息是,大部分软件都支持静默安装,也就是说,它本身可以作到安装时不跳出安装界面,一切过程在后台进行——这对我们实现“自动安装”已经足够了。

    实现静默安装很容易,我们只需找到软件的“静默安装参数”,带参数执行它的安装即可,比如“run XXX.exe /p”,注意后面这个“p”,它就是软件的“静默安装参数”。
    不同方式编译的软件有不同的静默安装参数,请大家自行查找(MSFN及刘晖站点上就列有相当多的软件静默参数)。注意,某些下载回来的软件程序需要先用Winrar之类工具进行解包,才可以实现静默安装。

    另外有些软件不支持静默安装,比如安装过程中需要我们确定一些选项或输入相关信息,这时我们就需要借助某些工具,让它达到我们的要求。
    AU3(AutoIt v3)是这类工具中的佼佼者,用它将“非自动安装程序”转成“自动安装”是一件非常有趣的事情。它可以通过自己记录下的通常安装过程,指挥软件程序下一次进行自动安装。AU3的脚本功能非常强,你甚至可以完全手工编写脚本来安排软件的安装过程(坏也坏在必须要使用脚本,让菜鸟怯步~),在此提供一个“
AutoIt帮助”的链接给大家,有兴者看看。
    AU3的一个缺憾就是执行脚本时不能有其它操作,如果你在安装过程中误动键盘鼠标,将引起安装错误。

    应用软件另外的特例是M$ Office,请参看前述中文手册中“
Office 2003无人值守安装 - 高级模式”中的安装方法。

-----------------------
8. 安装善后
    根据你的制作方式及集成内容,也许需要在系统安装完毕时,增加这个步骤。
    它的内容大致包括删除安装时产生的临时文件、用户调整、注入注册表文件、硬盘格式转换及其它不便在先前的步骤中安排的工作,一般在RunOnceEx中调用。

―――――――――――――――――――――――
9. 组织安装模块到光盘
    这是制作安装模块的最后一步。

    如果你准备制作的光盘只含有一个系统,那么简单,直接将你制作的模块原样放到光盘目录即可,即使你光盘上还有维护或克隆模块等等,也没问题。

    如果你的光盘包含两个及以上系统安装模块,鉴于Windows安装光盘的特殊性,我们必须引入“虚拟软盘启动”机制。
    简单说,就是提取每种系统的“启动软盘”出来,在光盘启动时,通过每一个“启动软盘”,启动相应的Windows系统安装。

    这种方式,会牵涉到I386、$OEM$等目录的放置,以及txtsetup.sif、setupldr.bin等文件的修改,稍显复杂,但近年来国内已有非常多成功的经验可供参考。
    提供一个“
[分享]用EasyBoot 3.55制作 Windows 2000三合一光盘(较简易方法) ”的链接在这里,网上几乎所有N合一安装光盘制作的“著作”都是这篇文章的发挥稿~~~
    它的大致意思是:光盘启动时,通过EZB,先加载改好的引导文件w2ksect.bin(可利用EasyBoot自带的这个文件进行修改),再通过它找到每个系统的setupldr.bin,然后执行ntdetect.com-加载驱动程序-按txtsetup.sif指示开始安装。

    目前有高手用Grub方式制作安装光盘,省掉了启动软盘提取等工作,所采用方法貌似简单及可靠,我没实际尝试过,建议爱好者到时空论坛跟踪一下~
    近日看到某高手作的“Windows N in 1 Maker”工具,应该费了不少心思,它把以上说到的模块组织工作集合成为一个“批处理”,方便了想偷偷懒的人,值得一试。
发表于 2009-4-12 13:22:28 | 显示全部楼层
经典 哈哈 我来试试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

蓝色动力网络微信平台
网站管理,业务合作联系邮箱: admin#lansedongli.com    QQ:13412492 限网站业务问题.
网站帐号、密码、密保找回请使用注册邮箱,发送邮件至 password#lansedongli.com ,否则不予受理.
免责声明:本论坛所有文字和图片仅代表其个人观点.
本站某些资料或文章来自于互联网,不代表本站观点,如果侵犯了您的权益,请来信告知,我们会在三天内删除.
为了给大家一个更好的交流场所,请勿在本论坛发表与中华人民共和国法律相抵触的言论,请合作,谢谢!
Copyright © 2007-2019 Corporation Powered by网吧系统 版权所有    转载请注明!
浙ICP备11043737号 程序:Discuz! x3.4

湘公网安备 43018102000145号

手机版|Archiver|蓝色动力网络   

快速回复 返回顶部 返回列表