- 
UID:49515 
 
- 
- 注册时间2009-01-16
 
- 最后登录2016-05-26
 
- 在线时间104小时
 
 
 
- 
- 发帖157
 
- 搜Ta的帖子
 
- 精华7
 
- 飞翔币867
 - 威望108
 - 飞扬币882
 - 信誉值0
 
 
 
- 
访问TA的空间加好友用道具
 
 
 
 
 
 
- 发帖
 - 157
  
- 飞翔币
 - 867
 
 - 威望
 - 108
 
 - 飞扬币
 - 882
 
 - 信誉值
 - 0
  
 
 
 
 | 
Txtsetup.inf 专题篇      
   
  一、什么是 Txtsetup.sif 
  Txtsetup.sif 是一个安装信息文件 (sif), 主要用于 Windows 的文本安装模式(就如其名). 而且, 它还可能会被其它的一些东西使用, 例如, Windows PE 启动时也会用到它 (Windows PE 用到了文本安装模式的末尾和 GUI 安装模式的开始部分). 文本模式完成后, 这个文件就没什么用了; 它不会被复制到 Windows 安装文件中 (GUI 安装模式用到的安装文件). 因为 Windows 不会用到它, 所以, 像是系统文件保护 (SFC) 这样的功能就不会影响到它. 它也没有数字签名, 因此你可以随意修改它而不会出现问题. 
  你可以利用 txtsetup.sif 向你的安装文件中添加第三方驱动, 修改安装Windows 的最小系统需求, 添加或删除注册表预设, 以及更多. 
   
  利用 Txtsetup.sif 添加或删除文件. 
  若想把 txtsetup.sif 中的某行移除掉, 那么应该在此行前添加一个分号(;)或是把这行整个的删掉. 通常, 把 txtsetup.sif 中的某行删掉之后, 那么还需要把 dosnet.inf 中的对应行删掉. 
  如果你想添加一行, 那就比较复杂了. 下面是txtsetup.sif 的某个示例行, 我会按照我的理解进行. 
  locsecw.chm = 1,,,,,,,21,0,0,localsec.chm 
  locsecw.chm 是 Windows 安装文件中的某个文件. 
  1 代表着它是个初始 (RTM) XP 文件. 1 的定义来自于[SourceDisksNames.x86]. 通常你会看到 1 或 100, 1 表示它是未打补丁的初始文件, 100 代表它是个SPx 文件 (SP1, SP2..SPx). 
  21 代表着它的复制目的地, 其相对于 %windir% 文件夹. 在这里, 21 是让安装程序把 locsecw.chm 复制到 %windir%help. 具体哪些值代表哪些目录可以在[WinntDirectories] 中找到. 一般情况下, [WinntDirectories] 中定义的目录都是相对于 %windir% 文件夹的子目录, 这就意味着你把文件添加到txtsetup.sif 中, 那么它就会被复制到 %windir% 文件夹中 (可能在其子文件夹中). 
  我无法确定这两个 0 的意义. 
  就如你在示例中所看到的一样, 可以在行的末尾重命名要复制的文件. Microsoft 用它来区分 Windows XP Home 和 Pro 版. Home 的文件带有P, Pro 的文件带有 W. W 可能是代表着工作站 (WorkStation) 的意思. P 可能是代表着个人版 (Personal) 的意思, Windows XP Home 最初就叫做 Whistler Personal. 
  示例: 
  cmconW.chm = 1,,,,,,,21,0,0,cmconcepts.chm - xp pro txtsetup.sif 
  cmconP.chm = 1,,,,,,,21,0,0,cmconcepts.chm - xp home txtsetup.sif 
  就如你所见的一样, XP Home 和 XP Pro 的文件并不相同, 但是最后复制到系统中的文件名称都一样. 同时请注意, txtsetup.sif 支持长文件名. 
  现在, 我们来看看另一行, 粗体部分相当重要: 
  autofmt.exe = 1,,,,,,_x,2,0,0,,1,2 
  _x 代表着这个安装盘上的这个文件没有经过压缩. 如果没有这个, 那么安装程序会认为这个文件已被压缩过了. 这个对于保证安全性和可靠性很重要. 每个 XP 文件都被列在了 layout.inf 中, 包括这个文件的大小 (按字节计算). 很明显, 一个文件的压缩前和压缩后的大小是不会相同的. 如果 txtsetup.sif 告诉安装程序 “某个文件未被压缩”, 那么安装程序就会在layout.inf 中查找它的文件大小以确保这个文件未经修改或是损坏. 如果文件大小与 layout.inf 中记录的不同, 那么 XP 安装程序就会报错并停止安装. 这个能够保证安装程序的安全性, 以确定文件是否被修改过. 它还能验证文件是否已被损坏. 如果文件已被损坏, 那么稍后安装时就可能会出现问题. 如果你以 _x 为关键字在 txtsetup.sif 进行搜索, 那么你就能找到所有未经压缩的 Windows 安装文件. 
  有个很重要的事情就是, txtsetup.sif 并没有告诉安装程序应当从哪里获取安装文件. 它唯一的功能就是把按照正确的文件名把文件复制到正确的目录中. 从硬盘安装时, 安装程序会先利用 dosnet.inf 中的定义把文件复制到C:$WIN_NT$.~LS 中. 然后, 安装程序才会利用 Txtsetup.sif 把这个文件夹中的文件复制到对应的文件夹中. 
  因为只能利用 txtsetup.sif 把文件复制到 %windir% 文件夹下, 所以它的用途有限. 主要是用它来添加注册表预设 (%windir%system32config) 和驱动 (%windir%system32config). 
  稍后我会介绍如何把第三方驱动集成到 XP 安装文件中. 在我的 “Using txtsetup.sif to add registry settings” 中, 我介绍了如何利用txtsetup.sif 添加自定义的注册表预设文件 (.inf 文件). 
   
  举例说明: 
  比如说, 你想把 tweakui 集成到 Windows 安装文件中, 但是你不想使用无人值守的方式. 那么利用 txtsetup.sif 可以很轻松地做到这点. 
  第一步: 下载 Tweak UI 
  在这里下载 TweakUI. 下载之后, 用 WinRAR 把 tweakui.exe 提取出来, 或是先安装这个程序再把windowssystem32 中的 tweakui.exe 复制出来. 
  第二步: 把 tweakui.exe 复制到 XP 安装文件所在的文件夹中 
  把你的 XP 安装盘上的文件复制到硬盘上, 然后把 tweakui.exe 放到 i386 文件夹中. 
  第三步: 修改 txtsetup.sif 和 dosnet.inf 
  把以下行添加到 dosnet.inf 中: 
  d1,tweakui.exe 
  把以下行添加到txtsetup.sif 中: 
  tweakui.exe = 1,,,,,,,2,0,0 
  现在运行安装程序, dosnet.inf 会把 tweakui.exe 复制到C:$WIN_NT$.~LSi386 中. 接着重启之后, 就会进入文本安装模式了, 而 txtsetup.sif 会把 C:$WIN_NT$.~LSi386 中的tweakui.exe 复制到 C:WindowsSystem32 中. 当整个安装进程完成之后, 若要运行 tweakui.exe, 那么只需转到 “开始”>”运行”>输入: tweakui, 点击确定就行了. 
  你可能想知道我为什么不在新添加的行中使用 _x. 这是因为 tweakui.exe 不是 XP 的初始安装文件, XP 不需要检查它 (因为它未在 layout.inf 中进行定义). 
  你也可以用这个方法把 msconfig.exe 集成到 Win2000 的安装文件中. 只需用 msconfig.exe 替换掉tweakui.exe, 其它的都一样. 
  若想了解更多信息, 请查看 MSFN - Problem installing PowerToys from svcpack 
   
  更新 (2/10/04) 
  raskren 提交了一些关于txtsetup.sif 的有用信息, 这是他从一本 Windows 2000 的书中了解到的. 我不想重新编写这个文档, 因此我只把 raskren 提供的新信息添加到这里. 初始帖子在这里, MSFN - Switches in TXTSETUP.SIF 
  以下行说明了[SourceDisksFiles] 区段中每行的语法: 
   
   
  filename_on_source=diskid,subdir,upgradecode,newinstallcode,spare,spare,newfilename 
  源文件名=磁盘号,子目录,升级代码,新建安装代码,备用,备用,新文件名 
   
  额外字段由逗号(,)隔开, 这是 Windows NT 指定的. 
   
  当从软盘上开始安装时就会用到 diskid 了. (或者是多张光盘?) 
   
  subdir 就是复制文件的目的文件夹. Subdir 代码是在 TXTSETUP.SIF 的 [WinntDirectories] 区段中进行定义的. 
   
  upgradecode 是个个位数, 用于决定是否要升级比较老版本的同名文件. 它可以决定是否要在文本安装模式下复制这个文件. 
   
  以下是用于决定文件复制的代码定义. 
   
  状态代码 – 复制操作 
  0 – 总是复制这个文件 
  1 - 只有当同名文件存在于安装目录中时, 才复制这个文件 
  2 - 只有当安装目录中没有同名文件时, 才复制这个文件 
  3 - 不要复制这个文件 
   
  newinstallcode 是个个位数, 当全新安装时就要用到这个. 它可以决定是否要在文本安装模式下复制这个文件. newinstallcode 为可选项; 如果没有包含这个代码, 则文件不会被复制 (代码 = 3). 
   
  newfilename 用于重命名要复制的文件. 以下举例说明. 
   
  autochk.exe = 100,,,,,,_x,2,0,0,,1,2 
   
  此行的定义是, AUTOCHK.EXE 这个文件是在安装光盘上, 没有压缩, 会被复制到 %WinDir%system32 文件夹中(可在[WinntDirectories] 中查到 2 的定义). “upgrade code” 和“new installation code” 都是 0, 这意味着不管原来是 Win2000 还是要全新安装, 这个文件都会被复制到目的文件夹中.. 
   
   
  摘取自: 
  Windows® 2000 Server Professional Reference 
  (Windows® 2000 Server 专业参考) 
  作者: Karanjit S. Siyan Ph.D. 
   
  发行商 : New Riders Publishing 
  发行日期 : July 10, 2000 
  ISBN : 0-7357-0952-1 
  页数 : 1848 
   
  注: “Windows® 2000 Server Professional Reference” 有中文版, 可是我没有找到可供下载的电子书, 哪位有的话, 拜托共享一下吧. 
   
  作者: gosh (http://gosh.msfnhosting.com/txtsetup.htm) 
  翻译: tingpu (tingpu@hotmail.com) 
  二、使用 Txtsetup 添加注册表预设
  出处: 
  (http://gosh.msfnhosting.com/infresh.htm) 
   
  作者:nosh 
  翻译:tingpu (tingpu@hotmail.com) 
   
   
  目前已知有一种方法可以用 txtsetup.sif 来添加自定义的注册表条目. 每次文本安装模式即将结束时, 安装程序就会利用txtsetup.sif 中的某些定义来创建注册表(文件复制结束时). 如果是全新安装的话, 安装程序就会按照 txtsetup.sif 的 [HiveInfs.Fresh] 区段中的定义来生成注册表. 你可以使用这个区段来添加你自己的注册表条目. 
   
  添加注册表条目 
  如果你已经把你的注册表设置保存为一个 .reg 文件的话, 那么你需要用.inf 文件导入这些设置. 将你的 .reg 文件重命名为 settings.reg 并将其置入i386 文件夹中. 将以下内容复制到一个新文件中并另存为settings.inf, 然后将其保存到 i386 文件夹中. 
  [Version] 
  Signature = "$Windows NT$" 
  DriverVer=07/01/2001,5.1.2600.1106 
   
  [update] 
  HKLM,"SoftwareMicrosoftWindowsCurrentVersionRunOnce","MyUpdate",0x00020002,"%systemroot% egedit.exe /s %systemroot%system32settings.reg" 
   
  添加 inf 条目 
  如果你已经有了一个 .inf 文件, 那么将其复制到 i386 文件夹中并将其重命名为settings.inf. 确保这个 .inf 文件中有个名为 [update] 区段, 只有这个区段下的设置会被使用! 你可以用 makecab.exe 把 settings.inf 压缩成 settings.in_, 但这只是可选的. 
   
  添加方法 
  打开 txtsetup.sif 并转到 [HiveInfs.Fresh], 按以下粗体添加一行. 
  [HiveInfs.Fresh] 
  AddReg = hivedef.inf,AddReg 
  AddReg = hivesys.inf,AddReg 
  AddReg = hivesft.inf,AddReg 
  AddReg = hivecls.inf,AddReg 
  AddReg = hiveusd.inf,AddReg 
  AddReg = dmreg.inf,DM.AddReg 
  AddReg = settings.inf,update 
  再把以下 2 行添加到 txtsetup.sif 的 [SourceDisksFiles] 区段下. 如果你要使用一个 .reg 文件, 那么就要添加第二行, 不需要的只需添加第一行. 
  settings.inf =1,,,,,,_x,3,,3 
  settings.reg =100,,,,,,,2,0,0 
  把以下 2 行添加到dosnet.inf 的 [Files] 区段下. 如果你要使用一个 .reg 文件, 那么就要添加第二行, 不需要的只需添加第一行. 
  d1,settings.inf 
  d1,settings.reg 
  现在开始安装 XP, 当文本安装模式结束时就会导入你的注册表设置了. 你不需要使用无人值守安装方式. 
   
  疑难解答 
  文本模式安装程序所用的解释引擎不同于 SetupAPI. 因此, 处理相关的 inf 文件时要小心点以免设置无效. 当你编辑用于文本安装模式下用的 inf 文件时, 应当遵循以下方针. 
  1 - 避免 strings. 就是那些在 [strings] 下定义的字符串. 我听说在文本安装模式下无法使用字符串. 
  2 – 总是使用引号. 请你尽可能地用引号括住你的设置. 
  3 – 避免缩写. 在一般的 inf 中你可以使用 0x1 或 0x1002. 而在文本安装模式下, 以上值不起作用. 
  4 - 避免不必要的空格. 这个可能不是强制性的, 但是我觉得你最好这么做. 
  5 - 无法确定能用文本安装模式 .inf 做什么事情? 那么请参考 hivesys.inf, hivesft.inf. 
  (我个人对以上说法持保留意见..) 
  以下是 5 个不同的 .inf 设置. 粗体的那个是正确的, 而其它的则无法工作且文本模式安装程序会报错. 
  1 - HKLM,"SOFTWAREMicrosoftWindows NTCurrentVersionHotfixKB826939","Installed",0x00010001,1 
  2 - HKLM,SOFTWAREMicrosoftWindows NTCurrentVersionHotfixKB826939,"Installed",0x00010001,1 
  3 - HKLM,"SOFTWAREMicrosoftWindows NTCurrentVersionHotfixKB826939","Installed",0x10001,1 
  4 - HKLM,"SOFTWAREMicrosoftWindows NTCurrentVersionHotfixKB826939","Installed"",0x00010001,1 
  5 - HKLM,"SOFTWAREMicrosoftWindows NTCurrentVersionHotfixKB826939",Installed,0x00010001,1 
  1 – 此行没有任何错误. 注意第二段和第三段都用引号括住了. 你必须用引号将其括住! 
  2 – 此行无法工作, 因为第二段没用引号括住. 
  3 - 此行无法工作, 因为 0x00010001 被搞成了0x10001. 在正常情况下没有问题, 但是在文本安装模式下, 安装程序就无法理解它的含义了. 有所怀疑的话, 请不要使用任何缩写. 
  4 - 此行无法工作, 因为 Installed 后有两个引号. 
  5 - 此行无法工作, 因为 Installed 没有被引号括住! 
  试着按照我的指南创建你自己的 inf 吧. 如果文本安装模式“不喜欢”你的Inf 文件, 那么它会告诉你错在哪行的. 然后你就要转到此行并试着找出问题所在. 
   
  其它 
  此指南中的某部分, 包含的第一个 inf 文件, 摘自 MSTest 所写的材料.
   
  三、对于简体中文版 Windows XP SP2 中 TXTSETUP.sif 的注释
  这个是我闲着没事研究 txtsetup.sif 的一点心得, 这个文件的结构还是比较简单的, 只是还有一些地方不是很清楚具体是干吗的. 仅供参考. 
   
  这个文件的用途, 请参考 "什么是 txtsetup.sif" (http://www.evlove.net/bbs/viewthread.php?tid=319&fpage=1) 
   
  [Version]
  signature="$Windows NT$"
  ClassGUID={00000000-0000-0000-0000-000000000000}
   
  ;[SourceDisksNames] 中代码的用途, 请参考 "什么是 txtsetup.sif"
  ;源光盘名称, 通用
  [SourceDisksNames]
  ;_x = "Windows XP Professional CD-ROM","win51ip",,""
  _x = %cdname%,%cdtagfile%,,""
  ;..........................................
  _6 = %cdname%,%cdtagfile%,,""
   
  1_ = %cdname%,%cdtagfile%,,""
  ;..........................................
  6_ = %cdname%,%cdtagfile%,,""
   
  ;x86 平台的源光盘名称
  [SourceDisksNames.x86]
  ;代表了在必须有 "WIN51IP" 的光盘上的 i386 目录中
  ;而这个 WIN51IP 则说明了这个光盘是 XP 的初始盘, 那么使用了 1 的文件即是 XP 初始文件, 从未升级.
  ;1 = "Windows XP Professional CD-ROM","win51ip",,i386
  1 = %cdname%,%cdtagfilei%,,i386
  ;代表了在必须有 "win51ip.sp2" 的光盘上的 cmpnents abletpci386 目录中
  ;2 = "Windows XP Professional Service Pack 2 CD","win51ip.sp2",,cmpnents abletpci386
  2 = "%cd2name%","%cd2tagfilei%",,cmpnents abletpci386
  3 = "%cd2name%","%cd2tagfilei%",,cmpnentsmediactri386
  4 = "%cd2name%","%cd2tagfilei%",,cmpnents etfxi386
  ;代表了在必须有 "win51ip.sp2" 的光盘上的 i386 目录中
  ;而这个 WIN51IP 则说明了这个光盘是 XP SP2 安装盘, 那么使用了 100 的文件即是 XP SP2 升级后的文件.
  ;100 = "Windows XP Professional Service Pack 2 CD","win51ip.sp2",,i386,1
  100 = %spcdname%,%spcdtagfilei%,,i386,1
  ;同张光盘上可能同时存在 WIN51, WIN51IP, WIN51IP.SP2, 说明光盘上同时存在 XP 初始文件和 SP2 文件
  ;以下定义类似, 大家可以参考上面的说明
  _1 = %bootname1%,"%boottagfile1%",,""
  ;..........................................
  6_ = %bootname6%,"%boottagfile6%",,""
   
  7 = %cdname%,%cdtagfilei%,,i386lang
  107 = %spcdname%,%spcdtagfilei%,,i386lang,1
  ;.............................................
  15 = %cdname%,%cdtagfilei%,,i386
   
  ;amd64 平台的源光盘名称
  [SourceDisksNames.amd64]
  1 = %cdname%,%cdtagfilem%,,amd64
  ;................................................
  56 = %cdname%,%cdtagfilem%,,i386lang
   
  ;ia64 平台的源光盘名称
  [SourceDisksNames.ia64]
  1 = %cdname%,%cdtagfilem%,,ia64
  7 = %cdname%,%cdtagfilem%,,ia64lang
  55 = %cdname%,%cdtagfilem%,,i386
  56 = %cdname%,%cdtagfilem%,,i386lang
   
  ;目录代码定义
  ;如何用到这些代码, 请参考 "什么是 txtsetup.sif"
  ;你可以手动在这里添加自己的想要的路径 (注意, 不要重名), 这样, 安装时会自动生成. 比如:
  ;1985 = "system32IMEunispim"
  ;注意, 这里的目录都是相对于系统的安装目录的 (一般为系统盘的 windows 目录), 你只能自定义相对于安装目录的子目录. 至于说, "Program Files" 等目录, 那都是后来另外生成的, 与此无关.
  [WinntDirectories]
  1 = "\"
  2 = system32
  ;...............................................
  240 = ehome
   
   
  ;这里定义了文本安装模式下是如何复制某些文件的
  ;这是第一段 [SourceDisksFiles], 这段是通用定义, 不管是哪种语言, 哪种平台, 都要执行这一段..
  ;具体介绍, 请参考 "什么是 txtsetup.sif"
  [SourceDisksFiles]
  bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
  ;............................................................
  mediactr.cab = 3,,,,,,_x,,3,3
   
   
  ;这里定义了 ia64 平台的文本安装模式下特别需要复制的某些文件
  [SourceDisksFiles.ia64]
  agp460.sys = 100,,,,,,,4,2 
  ;..........................................
  wind_w64.chq = 1,,,,,,,21,0,0,windows.chq
   
  ;这里定义了 amd64 平台的文本安装模式下特别需要复制的某些文件
  [SourceDisksFiles.amd64]
  ntdetect.com = 100,,,,,,_1,1,3,,,1,1
  ntldr = 100,,,,,,_x,1,3
   
   
  ;这里定义了 x86 平台的文本安装模式下特别需要复制的某些文件
  ;大家的平常使用的平台基本都是 x86 的, 不知 ia64 和 amd64 还算不算 x86 平台的
  [SourceDisksFiles.x86]
  hal.dll = 100,,,,,,3_,2,3,,,1,2
  ;.............................................. 
  winshfhc.dll = 100,,,,,,,2,0,0 
   
   
   
  ;这里定义了文本安装模式下是如何复制某些文件的
  ;具体介绍, 请参考 "什么是 txtsetup.sif"
  ;这个第二段, 专门定义了一些键盘布局文件.
  [SourceDisksFiles]
  kbdycl.dll = 1,,,,,,_x,2,1
  kbdycc.dll = 1,,,,,,_x,2,1
  kbdvntc.dll = 1,,,,,,_x,2,1
  kbduzb.dll = 1,,,,,,_x,2,1
  kbdsl.dll = 1,,,,,,_x,2,1
  kbdsl1.dll = 1,,,,,,_x,2,1
  kbdro.dll = 1,,,,,,_x,2,1
  kbdru.dll = 1,,,,,,_x,2,1
  kbdru1.dll = 1,,,,,,_x,2,1
  kbdtat.dll = 1,,,,,,_x,2,1
  kbdtuf.dll = 1,,,,,,_x,2,1
  kbdtuq.dll = 1,,,,,,_x,2,1
   
   
  ;目录代码定义
  ;如何用到这些代码, 请参考 "什么是 txtsetup.sif"
  ;这是第二段定义, 看样子, 是专门用于添加简体中文微软拼音支持的. 这样让你在安装期间即可使用微软拼音. 而像是英文版, 它这应该是无法在安装期间使用微软拼音的.
  [WinntDirectories]
  204 = System32IMEPINTLGNT
  205 = IMECHSIMEAPPLETS
  220 = IMESHARED
  221 = IMESHAREDRES
   
   
   
  ;这里定义了文本安装模式下是如何复制某些文件的
  ;具体介绍, 请参考 "什么是 txtsetup.sif"
  ;这个第三段, 添加了对于简体中文的额外支持.
  [SourceDisksFiles]
  sprs0804.dll = 100,,,,,,,2,0,0,xpsp1res.dll,1,2
  sprt0804.dll = 100,,,,,,,2,0,0,xpsp2res.dll,1,2
  ;......................................................
  femgrate.exe = 100,,,,,,,2,0,0
  femgrate.inf = 1,,,,,,,20,0,0
   
   
   
   
  ;这里定义了文本安装模式下是如何复制某些文件的
  ;具体介绍, 请参考 "什么是 txtsetup.sif"
  ;这个第四段, 只是定义了要复制一些代码页和字体.
  [SourceDisksFiles]
  c_10004.nls = 1,,,,,,,,3,3
  c_10005.nls = 1,,,,,,,,3,3
  c_720.nls = 1,,,,,,,2,1,3
  c_862.nls = 1,,,,,,,,3,3
  vga737.fon = 1,,,,,,,22,0
  vga775.fon = 1,,,,,,,22,0
  vga852.fon = 1,,,,,,,22,0
  vga855.fon = 1,,,,,,,22,0
  vga857.fon = 1,,,,,,,22,0
  vga866.fon = 1,,,,,,,22,0
  vga869.fon = 1,,,,,,,22,0
  vgaf1257.fon = 1,,,,,,,22,0
   
   
  ;字符串定义, 比如, %MyPicturesScreenSaver% 就是 "图片收藏屏幕保护程序.scr" 的意思, 主要用来帮助记忆, 或是能让你轻松实现本地化
  [Strings]
  MyPicturesScreenSaver = "图片收藏屏幕保护程序.scr"
  ;.........................................
  cd2tagfilei = "win51ip2"
   
   
   
   
  ;默认安装数据
  [SetupData]
  ;源安装文件相对位置
  SetupSourcePath = "\"
  ;5.1 就是 XP 的意思
  MajorVersion = 5
  MinorVersion = 1
  ;默认安装路径
  DefaultPath=WINDOWS
  ;记载系统时的某些选项, 可参考 boot.ini
  OsLoadOptions = "/fastdetect /noguiboot /nodebug"
  ;强制检查 Scsi
  ForceScsi = 1
  ;强制检查磁盘类的软件
  ForceDiskClass = 1
  ;强制检查光驱
  ForceCDRom = 1
  ;目录结构
  Architecture = i386
  ;驱动文件所在位置
  DriverCabName=driver.cab,sp2.cab
  ;产品类型?
  ProductType = 0
  ;加载时显示的标识, 在 [Strings] 定义中, 应该可以自己修改, 不过最好只用英文
  LoadIdentifier = %wks_id%
  LoadIdentifierCancel = %cancel_id%
  LoadIdentifierWin9x = %9x_id%
  BaseVideoLoadId = %wks_id_vga%
  ;所需最低的内存为 64M
  RequiredMemory = 67108864
  ;页面文件大小, 也就是虚拟内存
  Pagefile = 115,250
   
   
   
  ;升级安装时要删除的文件, 后面的数字表明了这个文件所在的位置, 具体代码请参考 [WinntDirectories]
  [Files.DeleteOnUpgrade]
  15_16wdm.sys , 4
  ;.....................................
  MIGRATE.DLL ,134
   
   
   
  ;升级安装时要删除的文件夹, 后面的数字表明了这个文件夹所在的位置, 具体代码请参考 [WinntDirectories]
  [Directories.DeleteOnUpgrade]
  1, Prefetch
  ;.......................................
  130,"imejpdicts"
   
   
  ;若要覆盖时要备份的文件
  [Files.BackupOnOverwrite]
  system , 3 , system.bak
  software , 3 , software.bak
  default , 3 , default.bak
  sam , 3 , sam.bak
  security , 3 , security.bak
   
   
  ;若要升级时要备份的文件
  [Files.BackupOnUpgrade]
   
   
  ;要升级的 Win31 文件
  [Files.UpgradeWin31]
  notepad.exe , 1
  ;................................
  TAPI.DLL , 5
   
   
  ;要加载的磁盘驱动
  [DiskDrivers.Load]
  ;NT Disk Manager Startup Driver
  dmboot = dmboot.sys
   
   
  ;要加载的文件系统驱动
  [FileSystems.Load]
  ;Kernel Security Support Provider Interface
  ksecdd = ksecdd.sys
  ;Fast FAT File System Driver
  fat = fastfat.sys
  ;NT File System Driver
  ntfs = ntfs.sys
   
   
   
  ;文本安装模式下要检查的一些硬件
  ;其大致格式为,"=" 前为硬件 ID, 当符合这个硬件 ID 时, 就按照 "=" 后的处理.
  ;比如, 当安装程序搜索到 "1394609E&10483" 这个硬件 ID 时, 就按照 "sbp2port" 进行搜索, 那么可以在 [BusExtenders] 区段中, 找到以下行:
  ;sbp2port = "IEEE 1394 SBP2 Storage Port Driver", files.sbp2port,sbp2port
  ;"IEEE 1394 SBP2 Storage Port Driver" 是这个设备的名称, 然后 files.sbp2port 定义了相关的驱动文件, sbp2port 又在 [BusExtenders] 区段中进行了定义, 将其设为了加载.
  ;其它字段与此相仿, 大家可以参考一下.
  ;另外, SATA 之类未被 XP 文本安装模式默认支持的硬件, 也可通过模仿以下格式进行手动添加.
  [HardwareIdsDatabase]
  1394609E&10483 = "sbp2port"
  ;......................................................
  PCIVEN_8086&DEV_3092&SUBSYS_00018086 = "i2omp"
   
   
  ;定义了某些特殊电脑显示出来的名称
  [Map.Computer]
  sgiborg_mp = "*SGI-3"
  sgiborg_mp = "*SGI-4"
  sgiborg_mp = "*SGI-5"
  sgiborg_mp = "*SGI-6"
   
   
  [bootvid]
   
   
  ;硬件提取层
  ;不同的电脑不要不同的 hal.dll, 这里是用来判断的
  [hal]
  ;486 级别的 Standard PC 直接用 hal.dll, 这个文件应该是兼容性最好的, 但相对来说, 性能功能也是最低的吧.
  486c_up = hal.dll ,2,hal.dll
  ;Advanced Configuration and Power Interface (ACPI) PC 用 halacpi.dll, 当然, 要先将其重命名为 hal.dll 再使用.
  acpipic_up = halacpi.dll ,2,hal.dll
  ;Standard PC 直接用 hal.dll
  e_isa_up = hal.dll ,2,hal.dll
  ;MPS Uniprocessor PC 用 halacpi.dll
  mps_up = halapic.dll ,2,hal.dll
  ;MPS Multiprocessor PC 用 halmps.dll
  mps_mp = halmps.dll ,2,hal.dll
  ;Compaq SystemPro Multiprocessor or 100% Compatible 用 halsp.dll
  syspro_mp = halsp.dll ,2,hal.dll
  ;ACPI Uniprocessor PC 用 halaacpi.dll
  acpiapic_up = halaacpi.dll,2,hal.dll
  ;ACPI Multiprocessor PC 用 halmacpi.dll
  acpiapic_mp = halmacpi.dll,2,hal.dll
   
   
  ;要加载的 hal 文件, 跟以上对应
  [Hal.Load]
  486c_up = hal.dll
  acpipic_up = halacpi.dll
  e_isa_up = hal.dll
  mps_up = halapic.dll
  mps_mp = halapic.dll
  syspro_mp = hal.dll
  acpiapic_mp = halaacpi.dll
  acpiapic_up = halaacpi.dll
   
   
  ;由 NTDETECT.COM 探测各类 hal
  [ntdetect]
  486c_up = NTDETECT.COM,"\"
  acpipic_up = NTDETECT.COM,"\"
  e_isa_up = NTDETECT.COM,"\"
  mps_up = NTDETECT.COM,"\"
  mps_mp = NTDETECT.COM,"\"
  standard = NTDETECT.COM,"\"
  syspro_mp = NTDETECT.COM,"\"
  acpiapic_mp = NTDETECT.COM,"\"
  acpiapic_up = NTDETECT.COM,"\"
   
  ;定义了某些显示模式显示出来的名称
  [Map.Display]
  vga = VGA
  vga = "VGA"
   
  ;定义了某些显示模式要加载的驱动
  [Display.Load]
  vga = vga.sys
   ;定义了某些鼠标显示出来的名称
  [Map.Mouse]
  msps2 = "*MICROSOFT PS2 MOUSE"
  lgps2 = "LOGITECH PS2 MOUSE"
  msinp = "MICROSOFT INPORT MOUSE"
  msbpser = "MICROSOFT BALLPOINT SERIAL MOUSE"
  lgser = "LOGITECH SERIAL MOUSE"
  USB = "USB PS2 MOUSE"
  none = "NO MOUSE"
  msser = "*MICROSOFT SERIAL MOUSE"
   
  ;定义了某些键盘显示出来的名称
  [Map.Keyboard]
  STANDARD = OLI_83KEY
  STANDARD = OLI_102KEY
  STANDARD = OLI_86KEY
  STANDARD = OLI_A101_102KEY
  STANDARD = XT_83KEY
  STANDARD = XT_84KEY
  STANDARD = ATT_301
  STANDARD = ATT_302
  STANDARD = PCAT_ENHANCED
  STANDARD = PCAT_86KEY
  STANDARD = PCXT_84KEY
  STANDARD = VECTRA_DIN
  USB = "USB KEYBOARD"
  STANDARD = "101-KEY"
   
  [Map.PROM]
  sgiborg_mp = "ARC PROM"
   
  [PROM.Version]
  sgiborg_mp = "1000"
   
   
  ;定义了某些 SCIS 显示出来的名称
  [Map.SCSI]
  symc8xx = "*NCRC8"
  dac960nt = "SWXCR"
  ql10wnt = "QLISP1020"
  aic78xx = "AIC78XX"
  amsint = "AM53C974"
  atapi = ATAPI
  atapi = "ISA"
  atapi = "IDE"
  ql1080 = "QL1080"
  ql1280 = "QL1280"
  i2omp = "I2OMP"
   
   
   
   
   
  ;定义了某些 SCSI 类设备要加载的驱动文件
  [SCSI.Load]
  cpqarray = cpqarray.sys,4
  atapi = atapi.sys,4
  aha154x = aha154x.sys,4
  sparrow = sparrow.sys,4
  symc810 = symc810.sys,4
  aic78xx = aic78xx.sys,4
  i2omp = i2omp.sys,4
  dac960nt = dac960nt.sys,4
  ql10wnt = ql10wnt.sys,4
  amsint = amsint.sys,4
  asc = asc.sys,4
  asc3550 = asc3550.sys,4
  mraid35x = mraid35x.sys,4
  ini910u = ini910u.sys,4
  ql1240 = ql1240.sys,4
  aic78u2 = aic78u2.sys,4
  symc8xx = symc8xx.sys,4
  sym_hi = sym_hi.sys,4
  sym_u3 = sym_u3.sys,4
  asc3350p = asc3350p.sys,4
  abp480n5 = abp480n5.sys,4
  cd20xrnt = cd20xrnt.sys,4
  ultra = ultra.sys,4
  adpu160m = adpu160m.sys,4
  dpti2o = dpti2o.sys,4
  ql1080 = ql1080.sys,4
  ql1280 = ql1280.sys,4
  ql12160 = ql12160.sys,4
  perc2 = perc2.sys,4
  hpn = hpn.sys,4
  cbidf2k = cbidf2k.sys,4
  dac2w2k = dac2w2k.sys,4
   
   
   
  ;定义了某些 BootBusExtenders 类设备要加载的驱动文件
  [BootBusExtenders.Load]
  pci = pci.sys
  acpi = acpi.sys
  isapnp = isapnp.sys
  acpiec = acpiec.sys
  ohci1394 = ohci1394.sys
   
   
  ;定义了某些 BusExtenders 类设备要加载的驱动文件
  [BusExtenders.Load]
  pcmcia = pcmcia.sys
  pciide = pciide.sys
  intelide = intelide.sys
  viaide = viaide.sys
  cmdide = cmdide.sys
  toside = toside.sys
  aliide = aliide.sys
  mountmgr = mountmgr.sys
  ftdisk = ftdisk.sys
  partmgr = partmgr.sys
  fdc = fdc.sys
  dmload = dmload.sys
  dmio = dmio.sys
  sbp2port = sbp2port.sys
  lbrtfdc = lbrtfdc.sys
   
   
   
   
  ;定义了某些 InputDevicesSupport 类设备要加载的驱动文件 (输入设备)
  [InputDevicesSupport.Load]
  usbehci = usbehci.sys
  usbohci = usbohci.sys
  usbuhci = usbuhci.sys
  usbhub = usbhub.sys
  usbccgp = usbccgp.sys
  hidusb = hidusb.sys
  serial = serial.sys
  serenum = serenum.sys
  usbstor = usbstor.sys
   
   
   
  ;定义了某些 Keyboardt 类设备要加载的驱动文件
  [Keyboard.Load]
  STANDARD = i8042prt.sys
  kbdhid = kbdhid.sys
   
   
  ;带 file. 的区段就是定义了对应的设备所对应的文件, 并将其从驱动包中提取出来
  ;比如 [files.pcmcia] 就定义了, pcmcia 类设备所对应的驱动文件为 pcmcia.sys
  [files.pcmcia]
  pcmcia.sys,4
   
  ;.....................................................
   
  [files.usbstor]
  usbstor.sys,4
   
   
   
  ;系统分区必须有的文件
  [SystemPartitionFiles]
  ntldr,"\"
   
   
  ;文件标记??????
  [FileFlags]
  halmps.dll = 8
  ;.................................
  SPOOLSS.DLL = 16
   
   
  ;定义了某些 ScsiClass 类设备要加载的驱动文件
  [ScsiClass.Load]
  cdrom = cdrom.sys
  disk = disk.sys
  floppy = sfloppy.sys
  ramdisk = ramdisk.sys
   
  ;定义了某些 FloppyDrivers 类设备要加载的驱动文件
  [FloppyDrivers.Load]
  flpydisk = flpydisk.sys
  fat = fastfat.sys
   
  ;定义了某些 CdRomDrivers 类设备要加载的驱动文件
  [CdRomDrivers.Load]
  cdfs = cdfs.sys
   
  ;定义了某些 MouseDrivers 类设备要加载的驱动文件
  [MouseDrivers.Load]
  mouclass = mouclass.sys
  mouhid = mouhid.sys
   
   
  ;特殊文件
  ;按照某些特殊要求, 复制某些文件
  [SpecialFiles]
  Multiprocessor = ntkrnlmp.exe,2,ntoskrnl.exe
  Uniprocessor = ntoskrnl.exe,2
  MPKrnlPa = ntkrpamp.exe,2,ntkrnlpa.exe
  UPKrnlPa = ntkrnlpa.exe,2
  mouseclass = mouclass.sys,4
  keyboardclass = kbdclass.sys,4
   
  [files.none]
   
   
  ;键盘布局文件
  ;"=" 前为国家代码, (美国为 0409, 中国为 0804), "=" 后为对应的键盘布局文件
  [Files.KeyboardLayout]
  00000402 = KBDBU.DLL,2
  00000405 = KBDCZ.DLL,2
  00000406 = KBDDA.DLL,2
  00000407 = KBDGR.DLL,2
  00000408 = KBDHE.DLL,2
  ;美国的键盘布局文件, 比较常用, 不要删除
  00000409 = KBDUS.DLL,2
  0000040A = KBDSP.DLL,2
  0000040B = KBDFI.DLL,2
  0000040C = KBDFR.DLL,2
  0000040E = KBDHU.DLL,2
  0000040F = KBDIC.DLL,2
  00000410 = KBDIT.DLL,2
  00000413 = KBDNE.DLL,2
  00000414 = KBDNO.DLL,2
  00000415 = KBDPL1.DLL,2
  00010415 = KBDPL.DLL,2
  00000416 = KBDBR.DLL,2
  00000418 = KBDRO.DLL,2
  00000419 = KBDRU.DLL,2
  0000041A = KBDCR.DLL,2
  0000041B = KBDSL.DLL,2
  0000041C = KBDAL.DLL,2
  0000041D = KBDSW.DLL,2
  0000041F = KBDTUQ.DLL,2
  0001041F = KBDTUF.DLL,2
  00000422 = KBDUR.DLL,2
  00000423 = KBDBLR.DLL,2
  00000424 = KBDCR.DLL,2
  00000425 = KBDEST.DLL,2
  00000426 = KBDLV.DLL,2
  00000427 = KBDLT.DLL,2
  00000807 = KBDSG.DLL,2
  00000809 = KBDUK.DLL,2
  00001809 = KBDIR.DLL,2
  0000080A = KBDLA.DLL,2
  0000080C = KBDBE.DLL,2
  00000813 = KBDBE.DLL,2
  00000816 = KBDPO.DLL,2
  00000C0C = KBDFC.DLL,2
  00000C1A = KBDYCC.DLL,2
  00001009 = KBDCA.DLL,2
  0000100C = KBDSF.DLL,2
  00010402 = KBDUS.DLL,2
  00010405 = KBDCZ1.DLL,2
  00010407 = KBDGR1.DLL,2
  00010409 = KBDDV.DLL,2
  0001040A = KBDES.DLL,2
  00010419 = KBDRU1.DLL,2
  0001041B = KBDSL1.DLL,2
  00010426 = KBDLV1.DLL,2
  00010C0C = KBDCA.DLL,2
  00010C1A = KBDYCL.DLL,2
  00020409 = KBDUSX.DLL,2
  00010408 = KBDHE220.DLL,2
  00020408 = KBDHE319.DLL,2
  00030408 = KBDHELA2.DLL,2
  00040408 = KBDHELA3.DLL,2
  00050408 = KBDGKL.DLL,2
  00010410 = KBDIT142.DLL,2
  00030409 = KBDUSL.DLL,2
  00040409 = KBDUSR.DLL,2
  0001040E = KBDHU1.DLL,2
   
  ;键盘布局 ID
  [KeyboardLayoutId]
  00010415 = 0007
  0001041F = 0014
  00010402 = 0004
  00010405 = 0005
  00010407 = 0012
  0001040A = 0086
  00010419 = 0008
  0001041B = 0013
  00010426 = 0015
  00010C0C = 0085
  00010408 = 0016
  00020408 = 0018
  00030408 = 0017
  00040408 = 0011
  00050408 = 0019
  00010410 = 0003
  0001040E = 0006
   
  ;远程启动所需的文件
  [Files.RemoteBoot]
  osloader.exe,1
   
  ;全新安装时要导入的 inf 注册表信息
  ;比如, "AddReg = hivedef.inf,AddReg", 就是说.
  ;要导入 hivedef.inf 的 AddReg 区段
  ;再比如, "DelReg = hivesft.inf,DelRegFirst", 就是说
  ;要按照 hivedef.inf 的 DelRegFirst 区段把当前系统的中的对应注册表项删掉
  [HiveInfs.Fresh]
  AddReg = hivedef.inf,AddReg
  AddReg = hivesys.inf,AddReg
  AddReg = hivesft.inf,AddReg
  AddReg = hivecls.inf,AddReg
  AddReg = hiveusd.inf,AddReg
  AddReg = dmreg.inf,DM.AddReg
   
  ;远程全新安装时要导入的 inf 注册表信息
  [HiveInfs.Fresh.RemoteBoot]
  AddReg = hivesys.inf,AddReg.RemoteBoot
   
  ;升级安装时要导入的 inf 注册表信息
  [HiveInfs.Upgrade]
  DelReg = hivesft.inf,DelRegFirst
  DelReg = hivedef.inf,DelReg
  AddReg = hivedef.inf,AddReg
  DelReg = hivesys.inf,DelReg
  AddReg = hivesys.inf,AddReg
  AddReg = hivesys.inf,AddReg.Upgrade
  DelReg = hivesft.inf,DelReg
  AddReg = hivesft.inf,AddReg
  AddReg = hivesft.inf,AddReg.Upgrade
  DelReg = hivecls.inf,DelReg
  AddReg = hivecls.inf,AddReg
  AddReg = hiveusd.inf,AddReg
  DelReg = dmreg.inf,DM.DelReg
  AddReg = dmreg.inf,DM.AddReg
   
   
  ;要禁用的网络服务, 看样子, 是升级安装才用得到的
  [NetServicesToDisable]
  Messenger
  Netlogon
  Alerter
  Afd
  Telnet
  DHCP
  NetDDE
  NetDDEdsdm
  ntcx
  ntxem
  ntxall
  ntepc
  DigiFEP5
  Pcimac
  CiFilter
  LicenseService
  RasAcd
  RasArp
  NdisTapi
  w3svc
  ftpsvc
  msftpsvc
  gophersvc
  raspptpf
  wuser32
   
   
  ;要迁移的注册表项
  [SetupKeysToMigrate]
  "Enum" = 0,2,1,1
  "ServicesACPIParameters" = 1,2,1,0
  "ServicesatapiParameters" = 1,2,1,0
  "ServicesP3Parameters" = 1,2,1,0
  "ServicesPciParameters" = 1,2,1,0
  "ServicesisapnpParameters" = 1,2,1,0
  "ControlArbiters" = 0,2,1,0
  "ControlClass" = 0,2,0,0
  "ControlCOM Name Arbiter" = 0,2,1,1
  "ControlHAL" = 1,2,1,0
  "ControlIDConfigDB" = 0,2,0,1
  "ControlPnPPci" = 0,2,1,0
  "ControlPnPPciIrqRouting" = 0,2,0,0
  "ControlProcessor" = 1,2,1,0
  "ControlUsbFlags" = 1,2,1,0
  "Hardware Profiles" = 0,2,0,1
   
  ;要删除的根设备
  [RootDevicesToDelete.clean]
  ;虚拟磁盘
  ramdisk
   
  ;要删除的根设备
  [RootDevicesToDelete]
  ACPI_HAL
  ISA_HAL
  PCI_HAL
  MCA_HAL
  ISAPNP
  PCI
  LEGACY_MGA_MIL
  WDMAUD
  LEGACY_BEEP
  PARALLELCLASS
  LEGACY_PARPORT
  LEGACY_PARALLEL
  *PNP0800
  IntelATA
  viadsk
  pcmcia
  MS_IRMODEMMINIPORT
   
  ;要删除的根设备类
  [RootDeviceClassesToDelete]
  {456D63F1-3F38-11d1-93C9-0040333C1C05}
  {4D36E97B-E325-11CE-BFC1-08002BE10318}
  {4D36E97E-E325-11CE-BFC1-08002BE10318}
  {6D807884-7D21-11CF-801C-08002BE10318}
   
  ;在 NT4 下安装时要删除的根设备类
  [RootDeviceClassesToDelete.nt4]
  {4D36E96F-E325-11CE-BFC1-08002BE10318}
  {4D36E96B-E325-11CE-BFC1-08002BE10318}
   
   
  ;高级电源管理选项 (具体介绍, 请上微软网站搜索 "Windows 如何确定 ACPI 兼容性")
  ;ACPIBiosDate 项会提供一个日期, 该日期后的 BIOS 被认为是正确的
  ;ACPIEnable 项的三个可能值确定 ACPI 检测和安装的行为 (默认为 2)
  ;0: 在安装时禁用 ACPI, 而不管系统 BIOS 是否正确
  ;1: 如果存在 ACPI BIOS, 则在安装时启用 ACPI
  ;2: 根据 GoodACPIBios 列表和 ACPIBiosDate 启用 ACPI
  [ACPIOptions]
  ACPIEnable = 2
  ACPIBiosDate = 01,01,1999
   
   
  ;以下是些老式品牌主板的 BIOS 关键信息, 安装程序会按照以下信息, 设置 ACPI
  ;比如, ABitBP6=ABitBP6
  ;安装程序会找到 [ABitBP6] 这个区段, 然后根据其下信息, 设置 ACPI.
  ;看样子, 2001 年后的新主板基本不受这里的影响, 可以适量删除
  [NWACL]
  ABitBP6=ABitBP6
  ;........................................
  ViaVP3A=ViaVP3A
   
  [ABitBP6]
  AcpiOemId="FACP","AWARD "
  AcpiOemTableId="FACP","AWRDACPI"
  AcpiOemRevision="=","FACP",1
   
  ;........................
   
  [VobisHighscreen]
  AcpiOemId="FACP","VOBIS "
  AcpiOemTableId="FACP","VBS ACPI"
  AcpiOemRevision=">=","FACP",30302e31
   
   
  ;就是说, 这些古董电脑的相关 BIOS 信息都是在 biosinfo.inf 中定义的
  [BiosInfo]
  InfName=biosinfo.inf
   
   
  ;代码页定义, 以免文本安装模式下无法正常显示简体中文 (以下基本都是跟简体中文相关的, 不同语言版本的 Windows, 此处定义也不同)
  [nls]
  AnsiCodepage = c_936.nls,936
  OemCodepage = c_936.nls,936
  MacCodepage = c_10008.nls,10008
  UnicodeCasetable = l_intl.nls,0804
  OemHalFont = vgaoem.fon
  DefaultLayout = 00000804
   
   
  ;键盘类设备
  [Keyboard]
  STANDARD = "XT, AT或增强型键盘 (83-104 键)",files.i8042,i8042prt
  kbdhid = "USB Keyboard",files.kbdhid,kbdhid
  USB = "USB Keyboard",files.kbdhid,kbdhid
   
  [Files.BackupOnUpgrade]
   
  [Files.BackupOnOverwrite]
   
  ;字体列表, 对于简体中文的特别支持
  [FontListE]
  "宋体 & 新宋体 (TrueType)" = SIMSUN.TTC
  "黑体 (TrueType)" = SIMHEI.TTF
  "楷体 (TrueType)" = SIMKAI.TTF
  "仿宋体 (TrueType)" = SIMFANG.TTF
   
  ;特别为简体中文版准备的键盘布局, 用的键盘布局文件与美国的相同. (大概是拼音字母与英文字母相同的缘故吧, 而中文输入则另需输入法, 与此无直接关系)
  ["Keyboard Layout"]
  00000804 = "美式键盘(中文)"
   
  [Files.KeyboardLayout]
  00000804 = KBDUS.DLL,2
   
  [Files.DeleteOnUpgrade]
  eudcedit.exe , 2
  eudcedit.cnt , 2
  eudcedit.hlp , 2
  winclock.exe , 5
  cime.cpl , 2
  fetools.inf , 20
  fsvga.sys , 4
   
  [FileFlags]
  app936.fon = 16
  s8514fix.fon = 16
  s8514oem.fon = 16
  s8514sys.fon = 16
  svgafix.fon = 16
  svgasys.fon = 16
  vga936.fon = 16
  xjis.nls = 16
  ksc.nls = 16
  prc.nls = 16
  prcp.nls = 16
  big5.nls = 16
  bopomofo.nls = 16
  c_10008.nls = 16
   
   
  ;系统分区必需有的文件, 这个是简体中文的字体文件, 没它的话, XP 的加载程序无法显示简体中文
  [SystemPartitionFiles]
  bootfont.bin,"\"
   
   
  ;磁盘类设备名称
  [DiskDriverMap]
  abiosdsk = "%1!u! MB Micro Channel Disk"
  atdisk = "%1!u! MB IDE/ESDI Disk"
  disk = "%1!u! MB Disk %2!u! at Id %3!u! on bus %4!u! on %5"
   
  ;SCSI 类设备名称
  [ScsiClass]
  cdrom = "SCSI CD-ROM"
  floppy = "SCSI Floppy Disk"
  disk = "SCSI Disk"
  ramdisk = "RAM Disk Driver"
   
  ;文件系统名称
  [FileSystems]
  fat = "FAT File System"
  ntfs = "Windows NT File System (NTFS)"
  ksecdd = "Kernel Security Provider"
   
  ;软驱类设备名称
  [FloppyDrivers]
  floppy = "Standard Floppy Disk"
  fat = "FAT File System"
   
  ;光驱类设备名称
  [CdRomDrivers]
  cdfs = "CD-ROM File System"
   
  ;鼠标类设备名称
  [MouseDrivers]
  mouclass = "Mouse Class Driver"
  mouhid = "HID Mouse Filter Driver"
   
  ;字体列表, 此处西方字体定义
  [FontListE]
  "Courier 10,12,15 (VGA res)" = COURE.FON
  "MS Sans Serif 8,10,12,14,18,24 (VGA res)" = SSERIFE.FON
  "MS Serif 8,10,12,14,18,24 (VGA res)" = SERIFE.FON
  "Tahoma (TrueType)" = TAHOMA.TTF
  "Microsoft Sans Serif (TrueType)" = MICROSS.TTF
   
  ;键盘布局名称
  ["Keyboard Layout"]
  0000041C = "阿尔巴尼亚语"
  00000423 = "白俄罗斯语"
  00000813 = "比利时荷兰语"
  0000080C = "比利时法语"
  00000416 = "巴西 (ABNT)"
  00000402 = "保加利亚语"
  00010402 = "保加利亚语 (拉丁文)"
  00001009 = "加拿大英语 (多语种)"
  00000C0C = "加拿大法语"
  00010C0C = "加拿大法语 (多语种)"
  0000041a = "克罗地亚语"
  00000405 = "捷克语"
  00010405 = "捷克语 (QWERTY)"
  00000406 = "丹麦语"
  00000413 = "荷兰语"
  00000425 = "爱沙尼亚语"
  0000040B = "芬兰语"
  0000040C = "法语"
  00000407 = "德语"
  00010407 = "德语 (IBM)"
  00000408 = "希腊语"
  00050408 = "希腊语 (拉丁文)"
  00010408 = "希腊语 (220)"
  00030408 = "希腊 (220) 拉丁文"
  00020408 = "希腊语 (319)"
  00040408 = "希腊语 (319) 拉丁文"
  0000040E = "匈牙利语"
  0001040E = "匈牙利语 101-键"
  0000040F = "冰岛语"
  00001809 = "爱尔兰语"
  00000410 = "意大利语"
  00010410 = "意大利语 (142)"
  0000080A = "拉丁美洲语"
  00000426 = "拉脱维亚语"
  00010426 = "拉脱维亚语 (QWERTY)"
  00000427 = "立陶宛语"
  00000414 = "挪威语"
  00000415 = "波兰语 (程序员)"
  00010415 = "波兰语 (214)"
  00000816 = "葡萄牙语"
  00000418 = "罗马尼亚语"
  00000419 = "俄语"
  00010419 = "俄语 (打字员)"
  00000C1A = "塞尔维亚语 (西里尔文)"
  00010C1A = "塞尔维亚语 (拉丁文)"
  0000041B = "斯洛伐克语"
  0001041B = "斯洛伐克语 (QWERTY)"
  00000424 = "斯洛文尼亚语"
  0000040A = "西班牙语"
  0001040A = "西班牙变体语"
  0000041D = "瑞典语"
  0000100C = "瑞士法语"
  00000807 = "瑞士德语"
  0001041F = "土耳其语 F"
  0000041F = "土耳其语 Q"
  00000422 = "乌克兰语"
  00000809 = "英国英语"
  00000409 = "美国英语"
  00010409 = "美国英语-Dvorak"
  00030409 = "美国英语-Dvorak (惯用左手)"
  00040409 = "美国英语-Dvorak (惯用右手)"
  00020409 = "美国英语-国际"
   
  ;磁盘设备名称
  [DiskDrivers]
  dmboot = "Dynamic Volume Support (dmboot)"
  i2omgmt = "Intelligent I/O Support Driver"
   
  ;输入设备名称
  [InputDevicesSupport]
  usbehci = "Enhanced Host Controller",files.usbehci,usbehci
  usbohci = "Open Host Controller",files.usbohci,usbohci
  usbuhci = "Universal Host Controller",files.usbuhci,usbuhci
  usbhub = "Generic USB Hub Driver",files.usbhub,usbhub
  hidusb = "Human Interface Parser",files.hidusb,hidusb
  serial = "Serial Port Driver",files.none,serial
  serenum = "Serial Port Enumerator",files.none,serenum
  usbstor = "USB Storage Class Driver",files.usbstor,usbstor
  usbccgp = "USB Generic Parent Driver",files.usbccgp,usbccgp
   
  ;SCSI 设备名称
  [SCSI]
  sparrow = "Adaptec AHA-151X/AHA-152X/AIC-6X60 SCSI Adapter"
  aha154x = "Adaptec AHA-154X/AHA-164X SCSI Host Adapter"
  aic78xx = "Adaptec AHA-294X/AHA-394X/AIC-78XX SCSI Controller"
  aic78u2 = "Adaptec AHA-294XU2/AIC-7890 SCSI Controller"
  adpu160m = "Adaptec AIC-789X/AHA-3960 Ultra160 PCI SCSI Card"
  afcnt = "Agilent HHBA-510x PCI Fibre Channel Controller"
  dpti2o = "Adaptec 2000S/3000S Ultra160 SCSI RAID Controller"
  afc9xxx = "Adaptec AFC-9210G PCI 64-bit/66MHz Fibre Channel 2Gbit Controller"
  asc3550 = "Advansys 3550 Ultra Wide SCSI Host Adapter"
  asc3350p = "Advansys ABP460 PCMCIA SCSI Host Adapter"
  abp480n5 = "Advansys ABP480 CardBus SCSI Host Adapter"
  asc = "Advansys SCSI Host Adapter"
  amsint = "AMD PCI SCSI Controller/Ethernet Adapter"
  mraid35x = "AMI MegaRaid RAID Controller"
  cpqarray = "Compaq Drive Array"
  cpqfcalm = "Compaq Fibre Channel Host Controller"
  cpqarry2 = "Compaq Smart Array Controller"
  cpqcissm = "Compaq Smart Array 5300 Controller"
  lp6nds35 = "Emulex LP6000 Fibre Channel Host Adapters"
  cd20xrnt = "IBM Portable PCMCIA CD-ROM Drive"
  ipsraidn = "IBM ServeRAID Adapter"
  nfrd960 = "IBM ServeRAID Adapter"
  i2omp = "Intelligent I/O Controller"
  atapi = "IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller"
  cbidf2k = "CardBus/PCMCIA IDE Miniport Driver"
  ini910u = "Initio Ultra SCSI Host Adapter"
  dac2w2k = "Mylex EXR2000,3000/AR160,170,352 Raid Controllers"
  dac960nt = "Mylex DAC960/Digital SWXCR-Ex Raid Controller"
  ultra = "Promise Technology Inc. Ultra IDE Controller"
  ql1240 = "QLogic ISP 1240 SCSI Host Adapter"
  ql10wnt = "QLogic PCI SCSI Host Adapter"
  ql1080 = "Qlogic QLA1080, 64 bit PCI LVD SCSI HBA"
  ql1280 = "Qlogic QLA1280, 64 bit PCI LVD SCSI HBA"
  ql12160 = "QLogic QLA12160, 64 bit PCI DUAL 160M SCSI HBA"
  ql2100 = "QLogic QLA2000/QLA2100 PCI Fibre Channel Adapter"
  ql2200 = "QLogic QLA2200 PCI Fibre Channel Adapter"
  sym_hi = "LSI Logic C896 PCI SCSI Host Adapter"
  sym_u3 = "LSI Logic C1010 PCI SCSI Host Adapter"
  symc810 = "LSI Logic C8100 PCI SCSI Host Adapter"
  symc8xx = "LSI Logic C8xx PCI SCSI Host Adapter"
  symmpi = "LSI Logic PCI Fibre Channel Host Adapter"
  hpn = "Hewlett Packard NetRAID-4M RAID Controller"
  perc2 = "Dell PERC 2/3 RAID Controller"
  perc2gat = "Dell PERC 2/3 RAID Controller (Gatling)"
   
   
  ;系统驱动加载顺序优先级大致为:
  ;BootBusExtender
  ;SystemBusExtender
  ;SCSI
  ;其它还有很多, 具体顺序请用 LoadOrder 查看
  ;tingpu@hotmail.com 
   
  [BootBusExtenders]
  pci = "PCI Bus Driver",files.pci,pci
  acpi = "ACPI Plug & Play Bus Driver",files.acpi,acpi
  isapnp = "ISA Plug & Play Bus Driver",files.isapnp,isapnp
  acpiec = "ACPI Embedded Controller Driver",files.none,acpiec
  ohci1394 = "IEEE 1394 Bus OHCI Compliant Port Driver",files.ohci1394,ohci1394
   
  [BusExtenders]
  pcmcia = "PCMCIA Support",files.pcmcia,pcmcia
  pciide = "PCI IDE Bus Driver",files.pciide,pciide
  intelide = "Intel IDE BUS Driver",files.intelide,intelide
  viaide = "VIA IDE Bus Driver",files.viaide,viaide
  cmdide = "CMD IDE Bus Driver",files.cmdide,cmdide
  toside = "Toshiba IDE Bus Driver",files.toside,toside
  aliide = "ALI IDE Bus Driver",files.aliide,aliide
  mountmgr = "Mount Point Manager",files.none,mountmgr
  ftdisk = "Volume Manager",files.none,ftdisk
  partmgr = "Partition Manager",files.none,partmgr
  fdc = "Floppy Drive Support",files.none,fdc
  dmload = "Dynamic Volume Support (dmload)",files.none,dmload
  dmio = "Dynamic Volume Support (dmio)",files.none,dmio
  sbp2port = "IEEE 1394 SBP2 Storage Port Driver", files.sbp2port,sbp2port
  lbrtfdc = "TOSHIBA Floppy Driver (Libretto Type A)",files.lbrtfdc,lbrtfdc
   
  ;电脑
  [Computer]
  acpiapic_mp = "ACPI Multiprocessor PC",files.none
  acpiapic_up = "ACPI Uniprocessor PC",files.none
  acpipic_up = "Advanced Configuration and Power Interface (ACPI) PC",files.none
  syspro_mp = "Compaq SystemPro Multiprocessor or 100% Compatible",files.none
  mps_up = "MPS Uniprocessor PC",files.none
  mps_mp = "MPS Multiprocessor PC",files.none
  e_isa_up = "Standard PC",files.none
  486c_up = "Standard PC with C-Step i486",files.none
   
  ;显示
  [Display]
  forcevga = "标准 VGA (640x480, 16 颜色)",files.none
  vga = "自动检测",files.none
  sglfb = "Cobalt",files.sglfb
   
  ;鼠标
  [Mouse]
  msps2 = "Microsoft 鼠标端口鼠标 (包括 BallPoint)",files.i8042,i8042prt
  lgps2 = "Logitech 鼠标端口鼠标",files.i8042,i8042prt
  msinp = "Microsoft 输入总线鼠标",files.inport,inport
  msbpser = "Microsoft BallPoint Serial Mouse",files.sermouse,sermouse
  lgser = "Logitech 串行鼠标",files.sermouse,sermouse
  none = "No Mouse or Other Pointing Device",files.none,""
  mouhid = "USB 鼠标",files.mouhid,mouhid
  msser = "Microsoft Serial Mouse",files.sermouse,sermouse
  ps2 = "Mouse Port Mouse",files.i8042,i8042prt
  sermouse = "Serial Mouse",files.sermouse,sermouse
  USB = "USB Mouse",files.mouhid,mouhid
   
  ;字符串定义
  [Strings]
  wks_id = "Microsoft Windows XP Professional"
  wks_id_vga = "Microsoft Windows XP Professional [VGA mode]"
  cancel_id = "Cancel Windows XP Setup"
  9x_id = "Microsoft Windows"
   
   
  ;磁盘空间需求
  [DiskSpaceRequirements]
  FreeSysPartDiskSpace = 1024
  UpgradeFreeSysPartDiskSpace = 1024
  51WinDirSpace = 726788
  351PFDocSpace = 0
  40PFDocSpace = 1744
  50PFDocSpace = 25336
  51PFDocSpace = 25336
  PFDocSpace = 81112
  351WinDirSpace = 100000
  40WinDirSpace = 173024
  50WinDirSpace = 702144
  TempDirSpace512 = 535560192,13448704
  TempDirSpace1K = 537122816,13496320
  TempDirSpace2K = 540235776,13568000
  TempDirSpace4K = 547213312,13787136
  TempDirSpace8K = 562634752,14008320
  TempDirSpace16K = 596869120,15024128
  TempDirSpace32K = 669876224,17170432
  TempDirSpace64K = 829161472,21561344
  TempDirSpace128K = 1169555456,31719424
  TempDirSpace256K = 1889533952,52953088
  WinDirSpace512 = 1288649
  WinDirSpace1K = 1291273
  WinDirSpace2K = 1296888
  WinDirSpace4K = 1308112
  WinDirSpace8K = 1331296
  WinDirSpace16K = 1382368
  WinDirSpace32K = 1482528
  WinDirSpace64K = 1725952
  WinDirSpace128K = 2270464
  WinDirSpace256K = 3457536 
 
 
 |