2005年07月28日

自定义Windows的OEM信息


当你在我的电脑里点击属性的时候,是不是希望看到自己的信息了,而不是简单的几行Windows版本号了!是不是希望有自己的个人酷酷的Logo了?
教你一个方法,非常简单!

建立一个文件,命名为“oemlogo.bmp"放在系统下,(for 9x, \\windows\\system, for 2k \\winnt\\system32, XP \\windows\\system32\\)
这个就是里的OEM的LOGO了,当然可以自己选一个很有个性的图片了!

注意:图片大小最大为180×114,可以更小,但不能太大!

这个图片不会显示,还要一个文件”oeminfo.ini“,该文件格式如下

[General]
Manufacturer=你的组织
Model=你喜欢怎么称呼你的电脑随便
SupportURL=你喜欢的个人主页或网址
LocalFile=上面一行Html文件的本地路径

[ICW]
Product=产品代码!

[OEMSpecific]
SubModel=More branding to edit
SerialNo=xxxxxxxx
OEM1=Brave Combo
OEM2=rules!!

[Support Information]
Line1=If item is there, and
Line2=at least one line set,
Line3="Support information button" appears
Line4=and info in the lines appears.
Line5=
Line6=Use empty lines for a spacebreak,
Line7=as many lines as you\’d like,
Line8= …etc

自己随便喜欢填吧,以后的!注意到了第三行的时候,支持信息的按钮才出现!
中间[ICW]和[OEMSpecific]也可以不要的!


1.所需要的工具
     Windows XP 原版光盘
     对应语言版本的SP1升级包
     OEM 5个文件
     WinISO 软件
     刻录软件 (Nero Burening Rom 6)
     下载好的OEM5个文件

2.提取ISO文件
     使用WinISO软件可以非常容易的将光盘上的内容提取成标准ISO文件,。
     请注意一定要原版的XP安装光盘,破解过的或是提示SP1语言版本不符的某些已经集成SP1的假vlk版都不行

将ISO文件保存在硬盘上,然后用RAR将其解压到硬盘的任意目录中(原ISO文件保留,等一下还有用哦),如F:\\WINXP-EN,然后用OEM的5个文件覆盖i386目录中的原文件

3.集成SP1  
      将下载的相应语言版本的SP1文件也用RAR解压到硬盘上,如F:\\SP1,然后如图所示,在cmd窗口中进入update目录中,可以看到一个update.exe文件。在cmd窗口中输入:update -s:f:\\winxp-en,将SP1集成到原版的光盘中去

4.加入IBM OEM信息
      在刚才集成完SP1的f:\\winxp-en目录中建立一个$OEM$ 子目录,即(f:\\winxp-en\\$OEM$);
      在$OEM$目录下新建$$\\system32子目录(f:\\winxp-en\\$OEM$\\$$\\system32);
      将oeminfo.ini和OEMLOGO.BMP文件拷入$$\\system32目录中,OEM$\\$$\\system32子目录等同于%systemroot%或者%windir%指定的路径(一般是c:\\Winxp——这里假定Windows xp安装在C盘),比如$OEM$\\$$\\System32下的所有文件都会被拷贝到%windir%\\System32目录下。

5. 即插即用硬件驱动安装
      即插即用硬件驱动的安装我们不但可以安装Windows不能识别的硬件的驱动程序,并且可以升级Windows可以正确识别的硬件驱动,我们需要做的就是将硬件的驱动程序分目录放好,并且在应答文件(应答文件的制作见后文)中指定驱动程序存放的位置即可。
      目录结构的建立
      本文需要安装、升级的驱动包括ibm pm、s3 savgeIX,所以我们只需要建立2个目录pm、s3即可,这些驱动程序的默认路径位于$OEM$\\$1目录下,为了目录结构更加明了,我在$1下新建了一个PnPDrvrs目录来专门存放驱动程序的2个目录.
      为Windows安装程序指定驱动程序目录
      应答文件的 [Unattended]段中应该包括如下选项:
      [Unattended]
      OemPreinstall=Yes
      DriverSigningPolicy=Ignore
      OemPnPDriversPath=" PnPDrvrs\\pm; PnPDrvrs\\s3"

      说明:
      1.即插即用硬件的驱动可以保存分类保存在不同的目录中,每个目录都需要在应答文件的[unattend]段中指定路径(相对于$OEM$\\$1的路径),路径之间以“;”分隔;
      2.为了防止没有通过微软的WHQL认证的驱动安装失败,需要指定DriverSigningPolicy=Ignore来忽略WHQL认证检查。
3.所有的驱动程序必须都是可以通过.inf来进行安装,对于那些必须运行Setup.exe才能进行安装的驱动不能采用此法安装。

6.自动安装应用程序
      前面我们已经完成了Windows xp系统和硬件驱动的安装,现在我们来完成那些常见的应用软件的自动安装和配置,这里简单举例,为你安装DirectX 9、Windows Media Player 9和Messenge 6。
      我们可以通过两种方式来使Windows安装程序为你自动安装应用程序,第一种方式是借助于Cmdlines.txt这个文件,这里可以运行那些.exe的安装程序,第二种方式是通过在应答文件的[GuiRunOnce]段来完成,这里用来安装.msi 的安装程序。
      在$OEM$目录下创建Cmdlines.txt文件,文件格式如下:

       [Commands]
       “command 1”
       “command 2”
       “command 3”

       说明:
       A.“Command 1”、“Command 2”和“Command x”分别代表你需要Windows为你安装的程序,可以是可执行文件、批处理文件等等,一般位于$OEM$目录和其子目录中;需要注意的是所有的指令必须加上引号。
      B.所有通过Windows Installer安装(直接执行.msi文件进行安装)的应用程序不能采用这种方式安装。如微软拼音2003等,下面介绍。

将DirectX 9和Windows Media Player9下载下来,分别拷贝在F:\\winxp-en\\$OEM$下的WMP9和DirectX9目录中,然后在$OEM$目录中新建2个批处理文件InstDX9.bat、InstMP9.bat,内容分别如下:

InstDX9.bat
@echo off
echo Installing DirectX 9.0
echo.
echo Loading…
directx9\\dxsetup.exe

InstMP9.bat
@echo off
echo Installing Windows Media Player 9 cn
echo.
echo Loading…
wmp9\\MPSetupXP.exe /Q:A /R:N

说明:上述的批处理文件中的参数/Q表示无提示安装(自动安装当然需要无提示:D),/R:N表示安装之后不重新启动,这样可以保证将所有的程序一次安装完毕。

现在CMDLines.txt中添加相应以下内容:
[Commands]
“.\\InstDX9.bat”
“.\\instMP9.bat”

      注意:为了保证Windows安装程序会自动寻找执行CMDlines.txt,你同样需要在应答文件的[unattend]段中指定OemPreinstall = Yes。

GuiRunOnce方式
       这里我们以安装Messenger6为例加以介绍。在应答文件中的[GUIRunOnce]段中添加以下内容:

       command0= Start /wait msiexec /qb /i msnmsgs.msi TARGETDIR="C:\\" PERL_PATH="Yes"

       事先要将Messenger6的安装程序用rar解压到F:\\winxp-en\\$OEM$下。

7.自动注册表优化导入法
      由于安装好xp后,我们需要手动进行注册表的优化,所以我们可以将这些优化项目保存为一个dobetter.reg文件,并放在$OEM$目录中,然后在CMDLines.txt中添加一项:

[Commands]
" regedit /s dobetter.reg "
      

      说明:/s参数可以让Regedit在添加到注册表中时不会提示我们。
    
      同理,可以将“改变右alt键为win键”和“在右键菜单中增加move to和copy to”这两个注册表文件也这样处理。

8.制作自动应答安装文件
     我们知道,若以一般的方式进行安装,在安装过程中安装程序会多次要求用户来输入一些设置信息,如用户名、单位名、序列号、时区等,所以我们必须守在爱机旁直到整个安装过程结束,等待的时间总是漫长的。什么?!你说ghost快,可是大大,我特别喜欢重装系统啊!
      其实Microsoft对Windows那漫长的手工安装过程设计了无人值守全自动安装的功能(Unattended Installation of Windows xp),此举的确大大地节省了无数用户的宝贵时间。用户可以事先将安装过程中所要回答的信息通过安装管理器(setupmgr.exe)设置好,将其制成一个文件(UNATTEND.TXT),这个文件就称为应答文件。安装程序可调用应答文件,以实现无人值守全自动安装。
      无人值守全自动安装应答文件UNATTEND.TXT是通过人值守全自动安装应答文件制作工具setupmgr.exe制作的,setupmgr.exe 位于安装盘SUPPORT目录的Tools子目录一个名为Deploy的CAB压缩文件中,它可以通过RAR解压取得。运行Setupmgr即可进入“Windows 安装管理器向导”开始制作应答文件

点击“下一步”后,选择“创建新的应答文件(c)”,若需要创建可复制本机配置的应答文件或修改已有的应答文件,则可选择相应的项。

点击“下一步”后,选择应答文件用于“Windows 的无人参与安装(W)”,

在下一步选择你所要安装的xp的版本,安装过程是否全自动,是从硬盘的发布目录安装还是从install cd安装,以及你是否接受协议(tnnd,我能不接受吗?:mad:)

下面就可以一步一步设置要求用户来输入一些设置信息,如用户名、单位名、序列号、时区等了

设置完成后,会询问你将自动应答文件保存的位置,我们要将原来的Unattended.txt更改为winnt.sif,这样会在指定位置保存一个winnt.sif 和winnt.bat两个文件。
      ok,将这两个文件复制到F:\\WINXP-EN\\i386目录下。
      winnt.sif和unattended.txt的内容是完全一致的,只不过是unattended.txt是用硬盘上的发布目录安装时用的(硬盘装要求将$OEM$目录放在i386目录下面)。

9.修改原始镜像文件
      现在用WinISO将原始的WinXP的ISO镜像打开,将所有文件和目录删除。然后,使用“添加目录”和“添加文件”命令,将我们刚才作了那么多改动工作的F:\\winxp-en目录中的所有文件和目录添加到ISO镜像中。
      赶快保存你的成果吧!将ISO文件用Nero软件刻成一张光盘,一个已经集成了SP1的OEM windows全自动安装盘就做好了

其他说明:

      a。如果你要从光盘启动进行安装,必须把$OEM$目录放在光盘的根目录下(和i386是同级目录),而不是位于i386目录下。切记。
      b。$OEM$目录的其他功能:
           1)$OEM$\\textmode
           $OEM$\\textmode子目录包含有SCSI、RAID卡的驱动程序或者HALS(硬件抽象层驱动),该目录下需要至少一个Txtsetup.oem、一个inf和一个sys文件,而且这些文件必须在应答文件的 [OEMBootFiles]段中列出。
           2) OEM$\\drive_letter
           在TextMode安装阶段$OEM$\\drive_letter目录下的所有文件会被拷贝到相应的驱动器上。比如$OEM$\\D下的所有文件/文件夹会被拷贝到D:盘上,$OEM$\\E\\Misc下的所有内容将被拷贝到E:盘根目录下的Misc子目录。

2005年07月27日

采用常规的方法安装 Windows XP,通常需要 1 个小时以上。好在微软从 Windows 2000 开始就设计了全自动安装功能,大大节省了我们的时间。笔者在安装 Windows XP 时,对全自动安装功能的*作方法作了一些改进,变安装初期手工输入命令的过程为软盘引导、自动批处理文件执行,实现了真正的全自动安装,

安装时间也缩减了不少。 
下面笔者将分别介绍两种安装方式下(从硬盘或从光盘安装 Windows XP),引导盘的制作方法以及如何生成全自动安装应答文件 unattend.txt。 

一、自动批处理文件的建立 

1、从硬盘安装 

(1)在纯 DOS 下用 format A:/s 命令格式化一张软盘。 

(2)在该软盘里创建 Config.sys 文件,并编辑命令行: 

device=C:\windows\himem.sys 

提示:用于加载 Windows 的系统信息文件 himem.sys,好让 DOS 系统能运行 smartdrv.exe. 

(3)在该软盘里创建 Autoexec.bat 文件,并编辑命令行: 

C:\windows\smartdrv.exe 
X:\i386\winnt/u:i386\UNATTEND.TXT /sX:\i386 /t:Z: 

提示:X 盘代表 Windows XP 的安装文件夹 I386 所在的逻辑盘,Z 则代表安装 Windows XP 的逻辑盘,unattend.txt 是事先用 Windows 安装管理器制作的全自动安装应答文件。 

(4)在 CMOS 里将计算机的启动顺序设置为由软盘、硬盘、光盘引导。 

(5)用做好的软盘引导系统,当软驱灯熄灭后取出软盘,正常情况下计算机就会自动完成 Windows XP 的安装。 

2、从光盘安装 

(1)在纯 DOS 下用 format A:/s 命令格式化一张软盘。 

(2)把全自动安装应答文件 unattend.txt 拷进软盘里(把此文件放在硬盘上也可以,只要设置好路径,安装程序也会找到它)。 

(3)在软盘里创建 Config.sys 文件,并编辑命令行: 

device=C:\windows\command\ebd\oakcdrom.sys /d:mscdxxx 
device=C:\windows\himem.sys 

(4)在软盘里创建文件 Autoexec.bat,并编辑命令行: 
C:\windows\command\mscdex.exe/d:mscdxxx 
C:\windows\smartdrv.exe 
X:\I386\winnt/u:A:\unattend.txt /s:X:\i386 /t:Z: 

提示:Config.sys 文件里的命令行 
device=C:\windows\command\ebd\oakcdrom.sys /d:mscdxxx 和 Autoexec.bat 

文件里的命令行 C:\windows\command\mscdex.exe/d:mscdxxx 都是为了在纯 DOS 下加载光驱。值得一提的是,若文件 oakcdrom.sys 只能在启动软盘里拷贝,则 Config.sys 里的命令行应改为 device=oakcdrom.sys/d:mscdxxx,注意:
Config.sys 和 Autoexec.bat 中的 mscdxxx 中的 xxx 可以为任意字符,但二者必须相同。 

(5)把软盘和光盘一同放进机器里,在 CMOS 里将计算机的启动顺序设置为由光盘、软盘引导。 

(6)用软盘引导,软驱灯会有第二次发光,这是系统在寻找并读取软盘里的应答

文件 unattend.txt,软驱灯熄灭后把软盘取出,以后的工作就交给计算机自已处理了。 

二、Winnt.exe 参数详解 

以上两种方法都涉及到 Windows XP 的安装文件 Winnt.exe,因此笔者在这里介

绍一下 Winnt.exe 常用的几个参数。 

(1)/r:< 指定目录名 > 

此参数可在安装时一直安装用户所指定目录中(要包含在 I386 目录下)的内容,如一些较旧的硬件设备,Windows XP 自带的驱动程序可能不支持,那我们在安装时就将这些设备驱动程序所在目录一直装入 Winnt 目录下。 

(2)/rx:< 指定目录名 > 

此参数与上面的参数功能相同,只是在安装后自动删除用户指定的这个目录。 

(3)/s:< 路径名 > 

默认情况下,安装程序在安装时会调用位于当前目录(即光盘 I386 目录)中的众多安装源文件。我们可先将 I386 全部复制到硬盘上,再用此参数(如 Winnt /s:c:\i386)进行定位,以加快安装速度。 

(4)/t:< 分区名 > 

默认情况下,安装程序用 C 盘作为安装时临时文件的存放空间,并在 C 盘上安装 Windows XP。我们可用此参数更改安装时临时文件的存放空间,如 Winnt/t:d:。 

(5)/u:< 应答文件名 > 

此参数可结合应答文件来实现无人看守的全自动安装。 

三、应答文件的制作 

全自动安装应答文件 unattend.txt 是通过自动安装管理器制作的。在安装盘 SUPPORT 目录的 Tools 子目录中,找到一个名为 Deploy 的 CAB 压缩文件,将该文件解压即可看到 setupmgr.exe 程序。双击该程序,运行无人安装管理器,

按照一步步的提示选择相应选项或者输入相应数据即可生成全自动安装应答文件。由于制作过程比较简单,此处不再赘述。 

用记事本打开已制成的应答文件,我们可以看到刚才填写的内容以一定的书写格式记录在此文件中。此时还可以作适当的修改,例如我们可以在 [Unattended] 项下修改“Reparttion=Yes”(不包括引号,或“=No”)来设定是否在安装时将原有分区全部删除后建立一个新的 NTFS 分区。在 [Unattended] 项下修改“FileSystem=ConvertNTFS”(不包括引号,或“=LeaveAlone”)来设定是将安装分区格式化为 NTFS 文件系统,还是保持不变。 

需要说明的是,如果你对自动安装应答文件中各个选项的含义比较熟悉,也可以直接修改安装盘 I386 目录中提供的 unattend.txt 文件来制作合适的应答文件。

 

Windows 98/XP双系统启动菜单修复

        我的电脑装的是Windows 98/XP双系统,Windows 98装在C盘,Windows XP装在D盘。前几天重装了Windows 98,重装前,根据一些文章介绍,备份C盘根目录下的boot.ini、ntldr、ntdetect.com、bootsect.dos、io.sys、msdos.sys、bootfont.bin七个文件。重装后,双系统启动菜单丢失,试着将备份文件粘贴到C盘根目录,重启后没有出现那“屡试不爽”的双重启动菜单。后来发现,可以这么修复:


  1.修复前,在BIOS中设置从光驱启动。用Windows XP安装盘启动电脑,在加载必要的驱动后,出现Windows XP的安装界面。有三个选项:

  (1)要现在开始安装Windows XP,请按“Enter”键。

  (2)要用“恢复控制台”修复Windows XP安装,按“R”键。

  (3)要退出安装程序,不安装Windows XP,按“F3”键;

  2.按“R”键,进入“Microsoft Windows XP (TM)故障恢复控制台”界面;故障恢复控制台提供系统修复和故障恢复功能。系统这时会搜寻已安装的Windows XP系统文件,然后显示搜寻结果,并询问“要登录到哪个Windows XP安装(要取消,请按Enter)”,选择1. D:\Windows,回车,系统会再询问“管理员密码”,再键入安装Windows XP时设置的管理员密码,回车,出现D:\Windows〉,这时需要输入修复命令Fixboot,后面的参数为启动扇区要写入的磁盘盘符,这里填入C:,回车。修复完成,键入Exit退出。重启后就会看到久违的双重启动菜单了。并且,这样修复后基本不产生垃圾文件。