龙骑兵团卡组:制作OEM元素齐全的VISTA OEM多合一光盘

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 07:27:45
教程:制作OEM元素齐全的OEM多合一光盘

引:上面的OOBELOGO与EULA协议是如何实现的?(更多的图看这里

上面的图只是OEM元素的一部分,还有证书、OEMKEY、OEM壁纸、欢迎中心、各类LOGO标识、电话、服务网址,更广泛的还有收藏夹的OEM商的地址等...安装过程中需要导入证书和KEY,这是实现激活的关键,其他的与这无关,可有可无。要实现其他OEM元素,主要依赖于OOBE.XML配置文件和一个REG来定义。

================================================================

一、配置OEM元素

1、导入证书和KEY

以下所讲的windows目录,是指要捕捉分区或使用apply应用映像到某个文件夹,同时也可以是使用mountrw临时挂载映像到某目录中的windows目录.

我们可以在Winodows\setup下建一个Scripts目录,里面放一个SetupComplete.cmd文件,首次登录时安装程序会自动运行这个CMD文件,实现在导入KEY和REG文件,并自动搜索Windows\system32\oem中合适的证书来激活。REG文件主要是控制计算机属性中的OEM元素。如下图显示的OEM内容是由REG文件来定义的:

以下是SetupComplete.cmd的内容示例:

@echo off

regedit /s %windir%\system32\oem\OEM.reg
cscript %windir%\system32\slmgr.vbs -ipk 6F2D7-2PCG6-YQQTB-FWK9V-932CC
DEL /F /S /Q %windir%\system32\oem\OEM.reg
RD /S /Q %windir%\Setup\Scripts

以下是OEM.RGE的内容示例:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation]
"Model"=Lenovo PC"
"HelpCustomized"=dword:00000000
"Logo"="
\\Windows\\System32\\oobe\\oemlogo.bmp"
"Manufacturer"="Lenovo"
"SupportURL"="
http://www.lenovo.com"

注:"Logo"的位置是可以改的,你也可以将OEMLOGO.BMP放在OOBE目录下。

2、配置oobe.xml
这是一个复杂的工作,收集比较麻烦,如果收集不到,得自己编写个简单的。以下是一个oobe.xml内容的简单示例,oobe.xml放在system32\oobe\info目录下(如果没有info目录,要事先建一个)。




   
        Dell Inc.
        Dell_Eula.rtf
        c:\Windows\System32\oobe\oobelogo.png
       
            c:\Windows\Web\Wallpaper\dellwall1.jpg
       

       
            c:\Windows\Web\Wallpaper\dellwall2.jpg
       

       
            c:\Windows\Web\Wallpaper\dellwall3.jpg
       

   

   
      1
   



    %systemroot%\system32\oobe\logobar.png
   
      Offers from Dell Inc.
   


注:Dell_Eula.rtf这是EULA协议,与oobe.xml同目录,安装时会出现本文开头的第二张图。oobelogo.png是本文开头的第一张图,路径如上所示,是在oobe目录下。几个jpg是定义默认的OEM壁纸,安装时输入用户名后可以选择其中一张作为默认。如下图的右边三张图。 里面所讲的路径不要认为是你现在的C盘,而是要捕捉分区或文件夹中的windows目录中相应文件夹。比如你要捕捉E分区作为新的映像,oobelogo要放在E:\Windows\System32\oobe目录下,XML中的表达还是写成C:\WINDOWS.....

 

 

3、实现OOBELOGO与EULA协议

先下载附件示例(DELL),假定放在H盘根目录下,右键选“解压到Windows/E",这样,H盘会生成一个Windows目录,里面会有五个文件夹。

你可以参考这里的贴子的第3点http://bbs.pcbeta.com/thread-319287-1-1.html,理解一下要领,如果不理解没关系,跟我做一次就可慢慢理解了。

假定把VISTA安装到E盘,C盘已有系统了。安装结束后,进入E盘系统,以管理员身份运行命令提示符:

e:\windows\system32\sysprep\sysprep /audit /reboot

重启后仍进入E盘,此时为审核模式,弹出的对话框关掉它(右上角的X),进入控制面板,删除掉你安装时创建的用户(包括用户文档)。导入OEMKEY(如果这时导入了,SetupComplete.cmd那时就可以不要再导入了),然后以管理员身份运行命令提示符:

e:\windows\system32\sysprep\sysprep /audit /generalize /shutdown

系统将关机。关机后过会儿,重新开机,进入PE2.0后,将H:\WINDOWS目录下的五个文件夹复制到E:\windows目录下,有提示合并时,选择“是”,而不是跳过。

这样,E分区就可以捕捉成一个OEM映像了。如:

imagex /compress fast /flags "ULTIMATE" /check /scroll /capture E:\ H:\install.wim "DELL Windows Vista Ultimate SP2" "X86,简体中文,适用于戴尔PC"

这样H盘就会生成一个DELL的OEM映像(WIM文件),即H:\install.wim,修改E盘相关的OEM元素,使用APPEND命令,还可以向H盘WIM文件添加其他版本的OEM映像,构成多合一。如果要制作29in1的合集,是可以通过批处理来执行的,这样更省事一些。不过这个批处理要复杂一点点。有时间我会慢慢完善的。后面会讲到批处理的示例。

=====================================================

二、安装程序是如何实现OEM EULA协议?

为了实现这个只出现过一次的oobelogo和协议,必须付出正常安装一次VISTA的代价,要多花一些时间,而且还需要多重启一次,然而又是一件与激活无关的事。如果不正常安装VISTA一次到硬盘分区,使用apply或mountrw也是可以添加oobe.xml、壁纸、reg、证书、KEY等,但不能实现oobelogo和协议,其他都会实现,好处是制作与安装会省时间的。

以下是附件解开后的目录:

H:\WINDOWS
├─setup
│ └─Scripts
├─system32
│ ├─oem
│ └─oobe
│      └─info
├─Temp
│ └─OEM
│      └─Patch
├─Web
│ └─Wallpaper
└─Panther

Panther文件夹只会出现在经过安装一次系统之中,如果一个映像解开后有Panther文件夹,说明这个映像是经过一次正常安装后再重新捕捉出来的映像,这个文件夹中会有setupact.log、setuperr.log等一些文件,记录安装的过程等。这是题外话。附件中Panther文件夹中有一个unattend.xml配置文件。

Temp文件夹下的OEM\Patch中有一个OEM.CMD和OEM.XML,OEM.CMD会在首次登录之前执行一次%systemroot%\system32\sysprep\sysprep.exe /reboot /oobe,这时重启,然后实现OEM EULA协议。

现在的问题是如何让安装程序调用unattend.xml?必须安装VISTA到某分区,然后执行sysprep /audit /generalize 这个命令作封装准备,这样安装时才能进行审核模式,调用unattend.xml。unattend.xml包括三部分的内容:第一部分先执行的是Administrator自动登录,第二部分让安装程序执行一次TEMP\OEM\Patch\OEM.cmd文件,这样会在即将进入桌面之前又重启一次,重启后就会调用oobe.xml,实现协议。第三部分是后续的扫尾清理工作,调用的是temp目录下的OEM.CMD(不是temp\Patch下的OEM.CMD)。

(这些要感谢远景ok_xujie、whahacl、肥耳朵猫猫等的努力与付出,我不过是总结了一下,然后准备用批处理来操作)

===============================

三、批处理的实现

首先,得准备各OEM版本的证书、oobe.xml、协议、壁纸、REG文件及各种LOGO等,可参考附件示例。附件中有几个目录是各OEM版本通用的,Scripts、Temp、Panther这三个只要第一次复制后,第二次,第三次...都可以用,不必重新复制。建一个OEM文件夹,放在H盘,OEM内建立各品牌目录,如下示例:

H:\OEM
├─DELL
│ ├─setup
│ │ └─Scripts
│ ├─system32
│ │ ├─oem
│ │ └─oobe
│ │      └─info
│ ├─Temp
│ │ └─OEM
│ │      └─Patch
│ ├─Web
│ │ └─Wallpaper
│ └─Panther
├─LENOVO
│ ├─setup
│ │ └─Scripts
│ ├─system32
│ │ ├─oem
│ │ └─oobe
│ │      └─info
│ └─Web
│      └─Wallpaper
├─HP
│ ├─setup
│ │ └─Scripts
│ ├─system32
│ │ ├─oem
│ │ └─oobe
│ │      └─info
│ └─Web
│      └─Wallpaper
└─ACER
    ├─setup
    │ └─Scripts
    ├─system32
    │ ├─oem
    │ └─oobe
    │      └─info
    └─Web
        └─Wallpaper

第一个OEM品牌文件夹要象附件一样里面有五个文件夹。其他品牌的只要三个文件夹就可以了。以下是批处理的示例:

@ECHO OFF

set /p x=继续(Yes), 退出(No),请确认:{Y,N}
goto %x%
:Y
ECHO.

ECHO 1、制作第一个OEM映像 DELL

xcopy E:\Windows\Web H:\OEM /e /y
xcopy H:\OEM\DELL\Setup E:\windows\Setup /e /y
xcopy H:\OEM\DELL\Panther E:\windows\Panther /e /y
xcopy H:\OEM\DELL\Temp E:\windows\Temp /e /y
xcopy H:\OEM\DELL\System32 E:\windows\System32 /e /y
xcopy H:\OEM\DELL\Web E:\Windows\Web /e /y

imagex /compress fast /flags "ULTIMATE" /check /scroll /capture E:\ H:\install.wim "DELL Windows Vista Ultimate SP2" "X86,简体中文,适用于戴尔PC"


ECHO 2、制作第一个OEM映像 LENOVO
del /S /Q E:\windows\System32\oem\*.*
del /S /Q E:\windows\System32\oobe\info\*.*
del /S /Q E:\windows\Web\Wallpaper\*.*
copy /Y H:\OEM\Wallpaper\*.* E:\windows\Web\Wallpaper
copy /Y H:\OEM\Lenovo\Web\Wallpaper\*.* E:\windows\Web\Wallpaper
xcopy H:\OEM\Lenovo\System32 E:\windows\System32 /e /y

imagex /append /flags "ULTIMATE" E: H:\install.wim "LENOVO IBM Windows Vista Ultimate SP2" "X86,简体中文,适用于联想及ThinkPad品牌PC" /scroll /verify /check

:N
ECHO.
ECHO 退出
pause

 

以上是制作二个OEM映像的多合一,如果制作20或30合1的OEM合集,要将批处理的第二部分不断修改,变成第三部分,第四部分....。