关于封装系统,其实要入门的话很简单,不需要具备太多的电脑知识,只要会用电脑的人基本上都可以封装成功。很多人以为这是个高深莫测的活,需要很专业的知识才能够完成,不是高手不占沾边,其实这样的认识是不对的。原因?你看了我的教程就懂得原因了。
下面先说一下制作这张安装盘需要用的的软件:
1、启动易(EASYBOOT) 这个是用来制作光盘引导界面和压缩ISO文件的,很容易上手的软件,只要打开就会使用。不信我的话可以试试。
2、Resource Hacker 这是个很强大的工具,它可以用来更改exe、dll文件中的资源。
3、SfxMaker7Zip 这个软件用于制作自动安装的软件,方便系统启动时的整合安装
4、Multimedia Builder 这是用于制作光盘在系统中运行的菜单程度软件。这里提供一个软件注册信息—— 姓名:crsky@163.com 注册码:1-275543-408 Mp3 解锁码:2241529SF7J2KSF
5、nMaker 这个是本论坛的一位达人编写的程序,用于制作系统的启动引导文件。
暂时就想到上面几个软件,以后有需要会再添加,至于软件的下载地址,自己搜索吧,网上很多的。准备好以上提到的软件后,就可以正式开工了!踹起鼠标,带上求学的心,大家跟我一起火热的干起来吧!
为了方便讲解,我以自己制作的一张安装光盘为例,这张光盘的介绍在这里:http://os.deepin.org/read.php?tid=705600&fpage=2 大家可以过去看看效果。
制作属于自己的安装系统盘分为一下几步:
一、建立系统安装目录,复制安装文件,修改系统标识,美化安装界面。
二、集成驱动安装,集成常用软件的安装。(这个是把安装版系统打造的像GHOST系统一样方便的关键,也是比较难搞的地方。不过相信在我的讲解下,大家应该会弄明白的,o(∩_∩)o...)
三、使用nMaker 制作系统引导文件,并用Multimedia Builder 制作光盘运行菜单。
四、使用EASYBOOT制作光盘的启动引导界面,并生成ISO文件。
下面我们先从第一步讲起,没有截图,全是文字,大家仔细阅读,很容易的。
一、建立系统安装目录,复制安装文件,修改系统标识,美化安装界面。
首先安装EASYBOOT
安装好之后打开安装文件夹,会看到由一个DISK的文件夹,点击进入。把里面的东西全删了,只保留一个EZBOOT文件夹,同时清空这个文件夹下的东西。
然后在DISK文件夹下新建一个文件夹,命名为system。这个文件夹用于存放需要整合的系统文件,你可以在此处放入多个需要整合的系统,系统的安装文件可以从深度的系统盘中提取。以我的【倩女楼阁V2】为例,底下建立了三个文件夹,分别是xp62、vsxp、mcxp,对应的系统是深度V6.2系统、VISTA美化版的V6.2还有MAC美化版的V6.2。
做好上面的工作之后,下面开始进行美化,关于美化包的制作,这里就不讲了,大家可以去网上下载,有很多的,下载完后把文件替换一下就可以了。比如说下载了一个MAC美化的I386替换包,把里面的文件全部复制到你准备制作的系统I386文件中替换,VISTA美化包也同样这么做。
如果对网上提供的美化包不满意,想自己做的话也可以,不过这不是本贴的主题,这里就不说了。除了使用美化包替换进行美化的方法之外,还有一种方法可以美化系统,那就是集成安装系统美化软件。
在我的【倩女楼阁V2】盘中,VISTA版的的美化是用美化包替换进行的,而MAC版的美化则是集成安装美化软件的方法完成的。关于这种集成软件安装的方法,因为需要编写一些辅助安装的脚本程序,这里也略过。
系统美化完毕后,接下来需要改什么呢?OEM、系统信息、壁纸等等这些都需要改成自己的,不然如何让别人知道这张盘是你做的呢?那不是吹起牛来都没底气了么?所以,这些是一定要改的。
大家赶快拿好笔,记下以下的几个文件名,这些文件就是更改系统标识的关键了。
1、WINNTBBU.DLL 这个DLL可以更改系统安装时的图片。用Resource Hacke打开WINNTBBU.DLL双击 “位图”-----103------删除1033,右击2052替换成你自己准备的图片。点击“操作”添加一个新资源,资源名称填103,资源语言填2052。OK看一下位图103中的1033和2052是不是一样啊。双击 “位图”-----153------然后重复步骤前面的操作。
完成后你的系统安装界面就更改成功了。记得要把改好的文件替换掉原I386中的文件。
2、bliss.jp_文件就是系统的桌面图纸了。你可以先选择好一张图片,存在D盘根目录下,记得更改图片名字成bliss.jpg,然后运行以下命令,把图片进行CAB压缩:makecab d:/bliss.jpg d:/bliss.jp_
压缩完成后,把得到的bliss.jp_替换掉原I386文件夹下的bliss.jp_ 这样你自己的桌面壁纸就设置成功了。
3、OEMINFO.IN_这个文件记录着系统信息,用winrar打开,把里面的内容改成你想要的。需要改哪里,打开文档后你一看就明白了。改好后把文档保存到D盘根目录,然后运行以下命令进行CAB压缩:makecab d:/oeminfo.ini d:/OEMINFO.IN_ 压缩好后,替换源文件。
4、oemlogo.bm_这个文件中的图片是OEM图标。你可以做一个自己的图标,大小为160x120,稍大或稍小也可以,但是要注意美观。做好图标后,保存成BMP格式图标名为oemlogo.bmp,存在D盘,同样运行以下命令进行CAB压缩:makecab d:/oemlogo.bmp d:/oemlogo.bm_ 压缩完后,记得要替换原I386下的文件。
5、SYSDM.CP_这个文件记录着系统面板属性。使用winrar解压后,用Resource Hacke打开,选择对话框-----101---2052,需要怎么改改哪里,你看一下就明白了。改好后记得进行CAB压缩,命令如下:makecab d:/sysdm.cpl d:/SYSDM.CP_ 再提醒一下,记得要替换掉原I386中的文件。
好了,经过以上的修改,一个有着你的标识的系统已经基本上完成了,如果此后已经没有其他的要求了,你可以直接跳过下面一大段的内容,直接观看如何使用EASYBOOT制作ISO文件了。
系统的安装文件已经制作好了,那么就要开始整合驱动和常用软件了。我们开始第二步制作教程吧。
二、集成驱动安装,集成常用软件的安装。
首先讲驱动的集成安装,这个问题在论坛上有很多人在讨论,大家的方法各种各样,有使用nlite整合的,有使用DPS整合的……每种方法都有各自的长处,我就不加以评论和讲解了,想要了解的朋友自己搜索下论坛吧。
下面我讲一下我的【倩女楼阁V2】光盘中集成驱动的方法,这个方法是我在外国的一个论坛上看到的,用起来很简单,我稍微说一下,大家就懂了。
首下要下载DriverFiles.zip(下载地址:http://www.msfn.org/staff/Alanoll/DriverFiles.zip)。下载完成后先不要解压,在你的系统安装文件夹下新建一个目录,命名为$OEM$,这个目录要与I386目录同级。建好好,把压缩包中的文件全部解压到这个文件夹中,然后打开I386文件夹,找到winnt.sif文档,用记事本打开后,在[GuiUnattended]段中加入下面这段代码:
DetachedProgram="./system32/cmd.exe"
Arguments="/Q /C FOR /F %I IN (%SystemRoot%/SYSTEM32/$WINNT$.INF) DO (FOR %J IN (%I/$OEM$) DO (IF EXIST %J (start /min /D%J NirCmd.exe exec hide Drivers.cmd)))"
完成上面的操作后,接下来就要进行驱动的整理了。如果只是需要整合本机的驱动,可以使用优化大师备份一下,然后提取出备份文件。将所提取的驱动程序放到$OEM$/Drivers 中,Drivers 这个文件夹需要自行创建。
如果需要整合一个万能驱动的话,那就得从网上下载一个万能驱动包了。下载好之后,把驱动包全部解压,建立一个名为Drivers 的文件夹放这些解压出来的驱动文件,然后使用7z压缩,把Drivers 文件夹进行压缩。最后把得到的Drivers.7z放入$OEM$文件夹中就可以了。
如果有人会不知道Drivers下的文件结构该是怎样的,请看下图:
├───$OEM$
│.......├───Drivers
│................├───C-Media CMI8738 6.39
│................├───Medion SAA7134 2.3.1.0
│................├───Monitor
│........................├───AL712
│................├───nVidia ForceWare 77.72
│................├───Samsung ML-1210
│................├───Laptop
│........................├───Touchpad
│........................├───Infared 12.6
│.......├───7za.exe
│.......├───Drivers.cmd
│.......├───nircmd.exe
│.......├───Process.exe
│.......├───SetupCopyOEMInf.exe
│.......├───WatchDriverSigningPolicy.exe
├───I386
│.......├───winnt.sif
完成了以上步骤之后,驱动就整合完毕了。关于这种驱动安装方式的原理,我这里也提一下,想研究的就看看,不想研究的就飘过,达人也不要看了,小弟怕出丑。
原理:当Windows安装程序读取winnt.sif的GuiUnattended段后,将运行Drivers.cmd,Drivers.cmd批处理首先会暂停Windows的安装程序,然后执行WatchDriverSigningPolicy.exe使Windows接受未签名的驱动程序安装,批处理文件会检查是否有压缩后的驱动程序包,如果有,将其解压。然后运行SetupCopyOEMInf.exe对$OEM$/Drivers文件夹其下的每个子文件夹进行扫描,并处理所有的.inf文件(复制指定的.inf文件到%windir%/Inf中),这样,Windows在检查硬件设备后将会找到所有的即插即用硬件的驱动程序。然后继续Windows的安装进程。由于该动作在Windows检查硬件设备之前完成,所以Windows可以找到Drivers文件夹中的驱动程序。
看下时间,竟然用了一个多钟头,才写了这么点,惭愧啊。今天没空了,明天或者后天接着写,大家先看看上面的内容吧。
6.24
晕死了,刚才写了一大段,结果不知为何被刷新掉了,我要崩溃了。艳阳高照的心情没了,郁闷犹如这闷人的天气,压的让人难受。没办法了,重写吧。
昨天讲完了驱动的集成,今天我们讲常用软件的集成。一旦做到这两点,安装版的系统也同样可以像GHOST系统那样的方便了。想象一下,你的系统会自动安装驱动,自动安装office等程序,而且还是安装版的,那个感觉有多爽?
要如何集成软件的安装呢?我经常使用的方法有以下三种:
1、使用软件的静默安装参数。
2、使用SfxMaker7Zip制作自动安装包。
3、编写脚本辅助安装。
要集成软件的安装,最大的难处就是如何做到无人职守安装。大家都知道,一般安装软件都需要我们去选择下一步进行安装。而系统安装是无人值守的,如果还需要有一个人守在旁边点下一步,那种感觉有多郁闷?还不如等系统装好后,再安装软件呢。
为了让我们不再郁闷,于是就有了静默安装这个说法。如果你知道一个软件的静默安装参数,那么你就可以写一个批处理来执行软件的自动安装,这时软件会按它的默认设置进行安装。
比如说winrar的静默安装参数是/s,那么你可以把下面的代码保存成批处理文件:
start winrar /s
很短的一行批处理,保存后命名为winrar.bat。把winrar安装文件与批处理一同放入I386文件夹下的SVCPACK文件夹中。然后在I386文件夹中找到svcpack.in_文档,用winrar解压它,然后在[SetupHotfixesToRun]字段下添加winrar.bat。
然后保存,使用cab压缩,把svcpack.inf 压缩成svcpack.in_。具体命令如下:
makecab c:/svcpack.inf c:/svcpack.in_
做完上面的动作,系统安装时将会在剩余13分钟时的组件注册时调用winrar.bat,进行winrar的安装。
讲完了使用静默参数集成安装常用软件的方法,下面我们开始讲如何使用SfxMaker7Zip制作自动安装包。
软件的静默安装参数虽然网上可以找到一些,但毕竟很少。为了应付那些没有静默安装参数的软件,我们就要用到SfxMaker7Zip了。这个软件的作用是把7z压缩包制作成自解压格式的文件,同时可以设置快捷方式。
限于SfxMaker7Zip制作的是自解压安装包,不可能在注册表中进行注册,于是我们使用的软件只能是绿色软件。现在有很多软件都有绿色版的,比如说QQ,可见这个工具还是很有用处的。至于它的具体用法,这里我就不说了,我会传一个使用教程在附件中。
做好自解压安装包后,添加到系统中执行安装的方法请大家参考上面关于静默安装参数对svcpack.inf文档的操作。
接下来,我们讲最后一个,编写脚本辅助软件自动安装。
对于一些没有绿色版,又不知道静默安装参数的软件,我们就可以用这个方法解决了。虽然要编写脚本,但是很简单的,大家不需要懂什么,只要会修改下面我提供的脚本就可以了。关于辅助安装脚本的语言,我推荐使用AU3,因为它很容易使用。
下面我提供一个winrar自动安装的AU3脚本代码:
Run("WinRAR3.71.exe") ………………………………………………这一行,使用RUN命令运行winrar的安装程序。
WinWaitActive("WinRAR 3.71 简体中文美化版","")
Send("{enter}")
WinWaitActive("WinRAR 简体中文版安装","")
Send("{enter}")
WinWaitActive("WinRAR 简体中文版安装","")
Send("{enter}")
以上几行表示当标题为‘WinRAR 3.71 简体中文美化版’的窗口处于激活状态时,模拟键盘按下回车键
Sleep(3000) ……………………这一行表示等待3秒钟
WinKill("","")……………………这一行的命令是关闭新出现的窗口,因为winrar安装好后会弹出一个资源管理器的窗口。
使用AU3编写自动安装脚本程度时,需要先了解软件安装的各个过程,然后才好确定具体需要按多少次回车,要不要使用窗口关闭命令等等。如果遇到不懂的地方,可以参考AU3的帮助文档,多看帮助文档是提高的重要方法。
编写好一个脚本后,不要忘记把它编译成exe格式。记得调用的安装程序需要与辅助脚本放在同一级目录下,这里可以一起拷贝进svcpack文件夹。系统安装过程中调用脚本的方法,同样是修改svcpack文档。
不要问我为什么总是修改svcpack文档,我也不知道为什么。如果非要解释的话,那也只有一个,就是我很懒,有了一个可以使用的方法,就不愿再去寻找第二种方法了。
只要学会了以上三种方法,基本上就可以集成所有的软件到安装系统中了。古龙有七种武器,我等后辈才疏学浅,只能带着三把菜刀行走天下,实在是愧对武林前辈啊。不过,只要我们能用有限的资源,创造出独步天下的武学,古老前辈也会欣慰吧?
呃,我承认我胡言乱语的毛病又犯了,那位手操板砖的大侠,还有那个,对,就是你,左手西红柿右手烂鸡蛋的大妈,我知道我错了,你们就放过我这一次吧。
今天我们讲了软件的集成安装,虽然东西不多,但是都需要一点时间去实践摸索,所以就先到此结束吧。明天我们讲安装系统盘制作的第三步,大家记得要准时来上课,不要忘记带小抄本。
小声的说道:千万不要学习那个带板砖的大侠啊,笔记记在板砖上,一拍就没了,到时候想哭都来不及了。还有那个拿西红柿和烂鸡蛋的大妈,大家也别学,看她左右手都没空了,难道还能用脚写字吗?
好了,今天的课程到此结束,大家下课!
6.27
几天没更新了?我也不知道哈。这两天有点忙,没时间写这篇教程,现在继续。
依然先感慨一下天气,满天乌云密布,见不到阳光,却又不下雨,闷也闷死人了。好多天都是这种鬼天气了,也不知道什么时候才能痛快的下一场雨。
上一次,我们讲完了如何在系统中集成软件的安装。通过使用T13接口(就是系统安装还剩13分钟),我们可以很容易的集成系统的安装。而且T13接口是等待的,就是说系统安装时,它会等T13接口上的程序全部安装完成,才会继续下去。不像T39接口,是不等待的,使用这个接口的话,不管你设置的程序有没有运行完,它都会继续下面的安装。
这也就是为什么前面我说在系统集成驱动安装时,需要暂停安装的缘故了,因为硬件判断和驱动安装的时间比较长,肯定会超出T39的限制时间。
呃,开篇又是一大堆的废话,大家随便看看吧,这些对系统的初级封装没有什么用处。通过前面两天的课程,基本上我们的系统已经制作完毕了。剩下的就是制作光盘在系统中的启动菜单,还有生成ISO文件了。
不过在这之前,我们还必须使用nMaker生成系统的启动引导文件。你Maker是本论坛的一位达人写的程序,下载地址和用法,大家搜索一下论坛就能找到,这里我就不多说了。
下面我们讲如何使用 Multimedia Builder 制作光盘运行菜单。
Multimedia Builder这款软件比起AMS来,上手度同样简单容易,而且它不会生成一些莫名其妙的文件夹,还能指定相对目录下的文件。
要使用Multimedia Builder其实很简单,详细的使用过程我就不说了,因为我这里现在没有这个软件。所以我只说几点主要的,其它的具体制作过程,大家就自己摸索一下吧,很简单的。
1、你需要在DISK目录下建立一个文件夹,就命名为SOFT好了,在这里存放你需要放进光盘中的软件,比如迅雷、QQ等。
2、在使用Multimedia Builder的时候,安装软件的链接地址要使用相对地址,而不要使用绝对地址。比如说你的DISK目录在D盘下,那么QQ的绝对地址就是D:/DISK/SOFT/QQ.EXE,不能这样,而要这样<dir>/SOFT/QQ.EXE。因为你最终生生的光盘启动菜单是需要放在DISK文件夹下的。
3、如果要把SVCPACK文件夹中的软件放到菜单上调用安装,也同样可以使用相对地址。
大概就是以上几点了,这个非常容易制作,大家摸索几下就能学会了。
接着我们说一下使用ESAYBOOT制作iso文档。
EASYBOOT是国人开发的一款光盘启动界面制作软件,上手度非常的好。
详细的使用过程我也不说了,网上教程很多。其实你根本不用去看教程,只要自己用一会就完全会了。这里我只提醒一点,生成ISO时记得勾上优化ISO结构。
这样做的主要原因是,在光盘中有多个系统的时候,它会让想同的文件只使用一个。这就是为什么有些系统盘里面的文件明明不止七百兆,结果做成的光盘却是CD盘的缘故。
关于其中的原理,我就不解释了。反正是初级教程也不需要太过深入,大家只要会用就可以了,至于了解其中的原理,等以后再说吧。
到此为止,这篇教程就完了。后面两个工具的使用没有详细写,大家见谅,实在是没空。而且网上关于这个的教程也很多,最关键的是这两个工具都很容易使用,根本不需要别人教,自己摸索一下就会了。
这里写一下系统安装过程中提供的外部程序调用接口吧。
1>T39~T37,DetachedProgram接口
要使用这个接口,需要在 Winnt.sif 中的[GuiUnattended]段下添加 DetachedProgram= "xxx.exe"
例如:
[GuiUnattended]
DetachedProgram="%windir%/Temp/QQ.exe"
这样在 T39 到 T37 之间,系统安装程式会调用%windir%/Temp/QQ.exe 并运行。
有一点特别要注意,这个接口调用外部程序运行是不等待的,也就是说,无论你所调用的程序有没有运行结束,系统安装程式是会不停止的继续执行系统安装工作。这也就意味着如果使用这个接口,就强烈不建议运行那些执行时间长或具有等待用户操作性质的程序。
也就是说,DetachedProgram 接口所调用的程序,最好是一些执行速度快,不具有等待用户操作性质的可执行程序。例如复制文件、解压缩不大的压缩文件等等。
2>T13,CMDLine接口
这个接口经常被我们利用,在前面的软件集成安装中,我已经说的比较清楚了,这里就不多说了。
T13 接口运行外部程序是等待的,系统安装过程会等待这个程序运行结束才会继续。
3>T9,UserExecute接口
要使用这个接口,需要在 Winnt.sif 的[SetupParams] 段下添加 UserExecute="xxx.exe"
例如:
[SetupParams]
UserExecute="%windir%/Temp/Clean.exe"
T9 时,基本上系统安装工作已经完成,只剩下文件校验和清理工作,所以这个时候建议调用注册表优化、服务优化、IP 修改、系统清理等程序。至于实现的方法,可以使用批处理,也可以编写AU3调用多个程序,大家可以根据自身的实际情况安排。不过一般很少用到这个接口。
T9 接口运行外部程序是等待的,系统安装过程会等待这个程序运行结束才会继续。
4>第一次登录系统,看到桌面前,GUIRunOnce接口
要使用这个接口需要在 Winnt.sif 的 [GUIRunOnce]段下添加 Commandx = "xxx.exe"
例如:
[GUIRunOnce]
Command1 = "1.exe"
Command2 = "2.exe"
……
这个接口的运行外部程序是等待的,系统运行会等待这个接口调用的所有程序运行完毕才会继续下去。也就是说,GUIRunOnce接口如果运行不完,是不会看到桌面的。
5>第一次进入系统,看到桌面后,“启动”接口
在进入桌面前,想办法将要运行的程序或要运行的程序的快捷方式复制到%ALLUSERSPROFILE%/「开始」菜单/程序/启动下,进桌面后将会自动执行所要运行的程序。
关于这个想办法,大家可以利用上面提到的接口进行文件复制,我在这里就不多说了。
系统安装过程中提供的外部程序调用接口就这些了,运用的方法还要靠大家自己的摸索实践,我能做的也就是把这些接口告诉不知道的那些人。