Wininit文件简介

Author: Date: 2001年 10期

    有时安装完一个软件之后,你会发现在你的系统目录(如“C:\Windows”)中多了一个名为wininit.ini的文件,用记事本打开它之后,会发现里面有一行行的命令,这个文件到底有什么用呢?其实,软件的安装程序(如setup.exe等)会把在安装过程中要用到的文件拷贝至你的计算机上,当安装完这个软件后,这些文件就不需要了,于是系统在重启动过程中通过读取wininit.ini中的指令来达到删除这些文件的目的。总的来说,wininit.ini主要对那些在Windows图形界面启动后就不能进行删除、更新和重命名的文件进行操作。下面就来详细地谈一谈wininit.ini的工作原理。
      在Windows图形界面启动后,某些文件可能一直在被Windows使用,最典型的就是explorer.exe,再比如就是显示驱动程序库文件(扩展名大都为vxd和dll)。如果这时你对这些库文件进行任何操作,都会被系统拒绝。所以你要是想对这些库文件升级和更新,就必须在Windows保护模式核心启动前进行,wininit.ini就为用户提供了这样的一个功能,其具体的工作过程及原理是,将要删除或更新的文件依照一定的命令格式写入wininit.ini,然后重新启动系统,系统会在进入Windows之前查找wininit.ini文件,若找到,就会按照其中的命令执行删除、更新等操作。完成这些操作后,wininit.ini将被自动删除,但有时在删除后也会产生一个名为wininit.bak的备份文件。
      wininit.ini有其固定的命令格式:全部命令分为三个段,下面只介绍最常用的rename段的命令格式:
      [rename]??
      dfile=sfile
      其中dfile是目标文件名,sfile是源文件名,此语句的含义是用sfile覆盖dfile,然后删除sfile。拿上文中所说的更新显示驱动程序库文件的例子来说,dfile就应该是欲更新的显示驱动程序,sfile则是新版的显示驱动程序。若dfile不存在,那么sfile就将被改名为dfile。如果要删除某个文件用以下格式就可以了:
    ?焄rename]??
      nul=sfile
      sfile就是要删除的文件。值得注意的是,以上的dfile、sfile都必须包含完整的路径,而且不能使用长名,因为wininit.ini文件的执行是在Windows文件系统启动之前进行的。
      听了上面的一番介绍,你对wininit.ini文件有所认识了吧。欢迎大家到athlon@my81890.net与我多多探讨。