查看: 7476|回复: 5

[教 程] WinPE基础教程 —— “TXTSETUP.SIF”详解

[复制链接]
发表于 2012-9-29 12:49:01 | 显示全部楼层 |阅读模式
       Txtsetup.sif 是一个安装信息文件(sif),主要用于 Windows 的文本安装模式(就如其名)。而且,它还可能会被其它的一些东西使用,例如,Windows PE 启动时也会用到它(Windows PE 用到了文本安装模式的末尾和 GUI 安装模式的开始部分)。文本模式完成后,这个文件就没什么用了;它不会被复制到 Windows 安装文件中(GUI 安装模式用到的安装文件)。因为 Windows 不会用到它,所以,像是系统文件保护(SFC) 这样的功能就不会影响到它。它也没有数字签名,因此你可以随意修改它而不会出现问题。
       制作自己的PE时,这个文件就必须仔细研究一下,有用的地方不少。txtsetup.sif里面记录了安装文件所在位置以及安装时文件拷贝的目标文件夹,实际作用其实就是把指定的文件按要求拷贝到预设好的位置上最可能用到的是以下几段:
       [SourceDisksNames.x86]——用代码表示源文件的位置
       [WinntDirectories]——用代码表示文件拷贝的目标文件夹,其根目录为 %WinDir%,即安装指定的Windows文件夹
       [SourceDisksFiles]——根据前面设定的代码表示文件拷贝的具体细节
       下面3段为集成 SATA、SCSI 等驱动时所用:
       [HardwareIdsDatabase] —— 硬件标识
       [SCSI.Load] —— SCSI驱动加载
       [SCSI] —— SCSI设备说明
       [HiveInfs.Fresh]   —— 全新安装时根据指定的 inf 文件中的字段添加注册表信息
       [HiveInfs.Upgrade] —— 升级安装时根据指定的 inf 文件中的字段添加注册表信息

       下面是 txtsetup.sif 的某个示例行:
       locsecw.chm = 1,,,,,,,21,0,0,defrag.chm
       locsecw.chm 是 Windows 安装文件中的某个文件。
      1 代表着它是个初始(RTM)XP 文件,通常你会看到 1 或 100,1 的定义来自于[SourceDisksNames.x86],表示源文件为原版本且在光盘上i386文件夹,100表示源文件为SP补丁中较新版本的文件,100 代表它是个SPx 文件(SP1,SP2..SPx);
21 代表着它的复制目的地,其相对于 %windir% 文件夹,在这里,21 是让安装程序把 locsecw.chm 复制到 %windir%help。具体哪些值代表哪些目录可以在 [WinntDirectories] 中找到。一般情况下,[WinntDirectories] 中定义的目录都是相对于 %windir% 文件夹的子目录,这就意味着你把文件添加到 txtsetup.sif 中,那么它就会被复制到 %windir% 文件夹中(可能在其子文件夹中)。
       第一个0为升级代码位,含义为:(升级时)
       0-总拷贝文件
       1-安装文件夹中有该文件才拷贝
       2-安装文件夹中有该文件时不拷贝;
       3-不拷贝文件
       第二个0为新安装代码位,含义同上(全新安装时)另外据说此代码若不为0,其前面需多加2个逗号
       defrag.chm表示将目标文件改名为此,因此,这一行表明,不管是升级还是全新安装都将源文件locsecw.chm拷贝到%WinDir%\help文件夹下并改名为defrag.chm,就如在示例中所看到的一样,可以在行的末尾重命名要复制的文件。Microsoft 用它来区分 Windows XP Home 和 Pro 版。Home 的文件带有P, Pro 的文件带有 W。W 可能是代表着工作站(WorkStation) 的意思,P 可能是代表着个人版(Personal) 的意思,Windows XP Home 最初就叫做 Whistler Personal。

 楼主| 发表于 2012-9-29 12:49:31 | 显示全部楼层
TXTSETUP.SIF文件的编辑

我们可以直接用记事本对TXTSETUP.SIF文件进行编辑,也可以用专门的工具对它进行修改。
这个专门的工具是由无忧的高手制作的,可以很方便的对TXTSETUP.SIF文件进行修改。
它的编辑菜单可以执行如下操作:
1、添加删除驱动
2、添加、删除及重命名分类(如为驱动划分为INTEL、AMD等系列)
3、对[HardwareIdsDatabase]进行排序
4、整合驱动

具体的操作可见我写的为PE添加SRS驱动教程。

它的查看菜单可以执行如下操作:
1、检查重复驱动
2、查看没有ID的驱动
3、查找硬件ID
通过这个菜单,我们可以把重复的驱动配置删掉,减少txtsetup.sif文件的体积。也可以为遗漏了ID的驱动补上配置文件或删除没有用的驱动。
同时也可以方便的查找我们需要的硬件ID。


TXTSETUP.SIF文件编辑工具

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2012-9-29 12:49:42 | 显示全部楼层
TXTSETUP.SIF的减肥

PE中TXTSETUP.SIF中[SourceDisksFiles]写的大量字段是没有什么用处的,实际上只要下面的简单几句就可以通杀任何启动方式的任何PE1.x了:
[SourceDisksNames]
1="Windows XP/2003 CD-ROM",\WXPE\TXTSETUP.SIF,,\
[SourceDisksFiles]
c_936.nls = 1
hal.dll = 1
halaacpi.dll = 1
halacpi.dll = 1
halapic.dll = 1
halmacpi.dll = 1
halmps.dll = 1
halsp.dll = 1
kdcom.dll = 1
ntdll.dll = 1
ntoskrnl.exe = 1
setupreg.hiv = 1
vgaoem.fon = 1

当然其他部分也有许多内容可以减掉。但是具体还需要减多少,我也不是太清楚。
下面提供一个为TXTSETUP.SIF减肥的工具给大家,可以有效的减少txtsetup.sif的体积。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2012-9-29 12:56:33 | 显示全部楼层
继续学习中,嘿嘿!
发表于 2012-10-2 09:02:22 | 显示全部楼层
这个要好好学习一下了
发表于 2012-10-10 01:39:07 | 显示全部楼层
{:soso_e179:}{:soso_e179:}{:soso_e179:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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