将WinXP组件移植到Win2003
前文 说到将 Windows Server 2003 切换成 "Workstation" 版,摇身一变成为 Windows XP。但这样得到的 XP 是一个缺少许多组件的XP,还多了一些服务器版的东西。Windows XP 的许多功能,例如系统还原、用户帐户控制面板、安全中心、防火墙/ Internet 连接共享、游戏、Windows Movie Maker 等,在 Windows 2003 中都没有。
本文将探索如何把 WinXP 组件移植到 Win2003。
资源准备
由于 Windows Server 2003 的安装盘中缺少 WinXP 的组件,因此还需要准备 Windows XP 安装盘 (其中的 i386 文件夹即可),建议使用 SP3 版(至少需要 SP2 版)。
inf 安装
Windows 的组件采用 inf 方式安装。inf 文件记录了需要复制的文件,添加的注册表项目,以及创建的快捷方式项等等。驱动程序也常使用 inf 方式来安装。这些记录组件信息的 inf 文件就位于安装盘的 i386 目录下,通常是 .IN_ 扩展名,其实是压缩过的 cab 文件。i386文件夹下的文件通常是以 .xx_ 结尾的,实则 cab 压缩文件。使用expand命令即可解压,也可以使用WinRAR、7-Zip等软件解压。Expand 用法示例:
expand 源文件 目标文件
expand SYSOC.IN_ sysoc.inf
Windows XP 组件的(部分) inf 文件如下:
文件名 描述
sysoc.inf 系统组件
sr.inf 系统还原
games.inf 游戏
igames.inf Internet 游戏(MSN Gaming Zone)
pinball.inf 三维弹球
moviemk.inf Windows Movie Maker
swflash.inf Flash Player 6插件
msnetmtg.inf NetMeeting
msnmsn.inf MSN组件
msmsgs.inf MSN Messenger
shl_img.inf 壁纸,示例图片、音乐
mymusic.inf 我的音乐(示例播放列表)
wmtour.inf Windows Media Tour
accessor.inf Windows附件
communic.inf 附件\通讯
dfrg.inf 磁盘碎片整理程序(Win2003也有)
mmopt.inf Windows声音方案
oobe.inf Windows首次开机欢迎程序(开箱体验)
optional.inf 辅助功能向导,无障碍鼠标指针等
skins.inf Windows Media Player皮肤
以上文件并非全部需要,通常恢复sysoc.inf、sr.inf、games.inf 、igames.inf、pinball.inf 、moviemk.inf、swflash.inf(可选)、msnmsn.inf、msmsgs.inf、shl_img.inf、mymusic.inf、accessor.inf即可获得较“原汁原味”的WinXP体验。
inf 文件的安装方法大致如下, 将 inf 文件拷贝至 \Windows\Inf 目录下,有重名文件时需要替换原来项目(记得备份原项目),然后删除同名的 .pnf 文件 。 有些组件可以直接右击 .inf 文件然后选择“安装” ,如Windows Movie Maker等; 有些项目则需要在控制面板“添加/删除程序”的“添加/删除 Windows 组件”中进行配置 ,如附件、游戏等。
安装组件时可能会提示需要插入 Windows XP 安装盘, 这时只需要浏览到 WinXP 安装盘的 i386 目录即可 。在将 inf 文件复制到 \Windows\Inf 目录下之后, 添加/删除 Windows 组件对话框可能提示缺少 zoneoc.dll、msgrocm.dll、ocmsn.dll 等DLL文件 ,只需要解压 XP 安装盘 i386 同名的 .DL_ 文件到 \Windows\System32\Setup 目录下即可。安装组件时如果出现 Windows 系统文件保护 对话框,只需要点击 取消 即可(不能点击“确定”否则可能会还原到2003的文件)。
安装完这些组件之后,还需要进行额外的处理。
用户帐户控制面板
Windows Server 2003没有用户帐户控制面板,需要复制 Windows XP 的 nusrmgr.cpl 文件到 System32 文件夹中。此外还需要注册这个 cpl 文件,使用以下命令即可。
regsvr32 nusrmgr.cpl
如果不注册该文件,切换到 WinXP 后,启动用户帐户控制面板时会提示参数错误。如果不切换到 WinXP(即保持 Server 版),注册与否都没有关系,打开该控制面板时都是 Win2000 风格的(即 userpasswords2 控制面板)。
系统还原
通过 sr.inf 安装系统还原后,还需要在注册表中添加服务入口才能正常使用该服务。在注册表编辑器中找到路径
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost
双击netsvcs,在末尾添加一行“SRService”,然后确定。
说明: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ 中定义了各种服务,如服务名称、运行的文件等,安装系统还原 sr.inf 时这个服务就定义了。但还需要在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost 中添加这个服务的名称才能让 SvcHost 启动该服务。
如果不想手动改注册表,也可编辑 sr.inf 文件,在 [SR_addreg] 这一节中加入以下行
HKLM,"Software\Microsoft\Windows NT\CurrentVersion\SvcHost","netsvcs",0x00010008,SRService
然后重新安装 sr.inf 文件。
安全中心
Windows Server 2003 没有安全中心,这项功能同样需要从 Windows XP 中提取。从 Windows XP 的 System32文件夹 或其安装盘中提取 wscsvc.dll、wscntfy.exe、wscui.cpl 文件,复制到 Win2003 的 System32 文件夹中。将以下内容保存为 security_center.reg 文件并恢复到注册表中。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wscsvc]
"Type"=dword:00000020
"Start"=dword:00000002
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\
00,76,00,63,00,68,00,6f,00,73,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\
6b,00,20,00,6e,00,65,00,74,00,73,00,76,00,63,00,73,00,00,00
"DisplayName"="Security Center"
"DependOnService"=hex(7):52,00,70,00,63,00,53,00,73,00,00,00,77,00,69,00,6e,00,\
6d,00,67,00,6d,00,74,00,00,00,00,00
"ObjectName"="LocalSystem"
"Description"="监视系统安全设置和配置。"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wscsvc\Parameters]
"ServiceDll"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,\
00,54,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\
77,00,73,00,63,00,73,00,76,00,63,00,2e,00,64,00,6c,00,6c,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wscsvc\Security]
"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\
00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\
00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\
00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00
再手动编辑注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost 中的 netsvcs ,在末尾添加一行 wscsvc 。
其他服务
建议在 services.msc 中启用以下服务。
| 服务名称 | 说明 |
|---|---|
| Themes | 主题支持 |
| Windows Audio | 音频服务(启用声音支持) |
| IMAPI CD-Burning COM Service | 光盘刻录支持 |
| Windows Firewall/Internet Connection Sharing (ICS) | 防火墙与 Internet 连接共享 |
| Windows Image Acquisition (WIA) | 照相机、摄像头与扫描仪支持 |
其他内容
开始菜单
Windows Server 2003 的开始菜单默认固定了“管理您的服务器”和“ Windows 资源管理器”两项,而 Windows XP 是“Internet”和“电子邮件”两项。这两项可以在开始菜单属性中添加,但新建用户后又默认是Server 2003的。该项设置是保存在注册表中的。
(当前用户)位于 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage 中的 FavoritesResolve
可将设置好的FavoritesResolve给复制到默认用户配置文件(HKEY_USERS\.DEFAULT\)中,或者导入这个注册表文件:
Windows Registry Editor Version 5.00
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage]
"FavoritesResolve"=hex:68,00,00,00,4c,00,00,00,01,14,02,00,00,00,00,00,c0,00,\
00,00,00,00,00,46,81,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,\