打印服务器的升级迁移

运维 服务器运维
Microsoft Windows 2000 引入了一个全新的 Microsoft Windows NT 操作系统版本。与Windows NT 的以前版本相比,Windows 2000 在许多方面都进行了重大改动,打印子系统只是其中的一个方面。即便这些改动所带来的好处在操作系统的稳定性和可靠性方面得到了印证,但仍然付出了一定的代价。

Microsoft Windows 2000 引入了一个全新的 Microsoft Windows NT 操作系统版本。与Windows NT 的以前版本相比,Windows 2000 在许多方面都进行了重大改动,打印子系统只是其中的一个方面。即便这些改动所带来的好处在操作系统的稳定性和可靠性方面得到了印证,但仍然付出了一定的代价。在升级和迁移到 Windows 2000 或 Windows Server 2003 之时,公司常常发现自己处在一个混合了 Windows NT 4.0 以及 Windows 2000、Windows XP 或 Windows Server 2003 系列操作系统的环境中。

使用本地和远程(客户端和服务器)驱动程序功能和设置生成打印作业的网络打印更增加了互操作性方面的复杂性。由于这个原因,包含 Windows NT 4.0 以及 Windows 2000、Windows XP 或 Windows Server 2003 系列操作系统的环境中的网络打印会给各家公司带来一些难题。

本文旨在帮助解释存在于网络打印环境中的过程及环境条件,尤其当这些条件与 Windows NT 操作系统的混合版本相关时。另外,还讨论了可用于处理这些问题的各种方法。

一些由混合了 Windows NT 4.0 及更新的 Windows 版本的环境所引起的互操作性问题扎根于对打印机驱动程序结构模型所做的改动。本文分析了从内核模式到用户模式进程空间的迁移,以及 Microsoft 通用打印机驱动程序的升级。只有当驱动程序模式产生互操作性问题时,才会涉及与打印机硬件的设备局限性相关的其他问题。本文还探讨了设备字体支持如何影响处在 Windows NT 4.0 升级过渡期的客户。

请注意有关这方面的论述紧紧围绕各公司因升级数万台客户端以迁移到 Windows 2000 或更新版本所带来的挑战而要面对的过渡期,这一点很重要。混合或旧式客户端无法完全获得 Windows 2000 及更新版本的打印改进功能所带来的裨益。本文假设客户的目标是为了获得一个所有客户端和服务器都运行 Windows 2000 或更新版本的网络打印环境。

Windows 2000 和 Windows Server 2003 打印体系结构

认识 Windows 打印子系统对于确定因存在包含 Windows NT、Windows 2000 或 Windows Server 2003 系列操作系统的混合环境而引发的互操作性问题很有帮助。Windows 2000(及 Windows 的更新版本)的打印体系结构由一个后台打印程序和一组打印机驱动程序组成。通过调用与设备无关的 Win32 打印和图形设备接口 (GDI) 函数,应用程序可以创建打印作业并发送给各种设备,包括激光打印机、矢量绘图仪、光栅打印机和传真机。打印机驱动程序包括一个允许用户控制打印机的可选项的用户接口 (UI) 组件。

应用程序对 Win32 GDI 函数的调用会传递给 GDI 图形引擎,由该引擎将绘图指令作为增强型图元文件 (EMF) 进行后台处理,或者同打印机驱动程序一起提供可发送给后台打印程序的可打印的图像。后台打印程序组件会解析 EMF 文件,并能在数据流中插入页面布局信息和作业控制指令。后台打印程序随后会将数据流发送给目标打印机的 I/O 端口相关联的串行、并行或网络端口驱动程序。设备会解析作业(针对设备以打印机描述语言 (PDL) 进行了格式化),并输出打印好的文档。

后台打印程序和驱动程序组件被设计为可替代的,从而使硬件供应商可以轻松地对新的硬件增加支持。

Windows 2000 对打印机驱动程序所做的改动

打印机驱动程序是一种可将应用程序数据转化为打印设备可用以创建打印页的格式的软件。在 Windows NT 4.0 中,所有打印机驱动程序都以内核模式运行。这些驱动程序称为 Windows 打印环境中的第 2 版驱动程序。Windows 2000 及更新版本本质上支持用户模式驱动程序,同时还专门支持内核模式驱动程序以实现向后兼容。Microsoft 转而采用用户模式驱动程序(也称为第 3 版驱动程序)以实现系统可靠性和稳定性。采用内核模式驱动程序,出现一个错误就会令整台服务器崩溃,而对于用户模式驱动程序,错误仅会影响运行驱动程序的进程——通常是后台打印程序。重新启动后台打印程序要比重启整个系统快得多。此外,当后台打印程序出现故障时,用户仍可运用服务器的其他服务。Windows Server 2003 默认对后台打印程序服务提供自动恢复功能。(服务控制管理器中的一项设置)

将打印机驱动程序从内核模式迁移到用户模式并不是 Windows 2000 所做的唯一改动,还引入了 Microsoft 通用打印机驱动程序 (Unidrv)。这一打印机驱动程序核心取代了 Windows NT 4.0 及更早版本中的光栅设备驱动程序 (RASDD) 接口。Unidrv 背后的概念是:不用独立硬件供应商 (IHVs) 编写整个驱动程序,就可使用 Unidrv 引擎的核心打印功能,并且只需通过运用微型驱动程序提供特定于设备的功能。微型驱动程序通常是一个自定义文件,或者可能是一个插件,可提供特殊的生成功能或自定义的 UI 选项。核心打印机控制语言 (PCL) 引擎 (Unidriv.dll) 和 PostScript 引擎 (PScript5.dll) 均允许使用微型驱动程序。Unidrv 微型驱动程序的自定义文件为 .gpd 文件,而对于 PostScript 微型驱动程序,则为 .ppd 文件。

Windows Server 2003 附带了 3,800 种打印设备的驱动程序。虽然这些驱动程序由 Microsoft 提供给 Windows Server 2003,但是其中大部分都是各个打印机制造商提供给 Microsoft 的。这些所谓的 inbox 驱动程序都包含在各自的产品中。虽然标准打印驱动程序完全可满足绝大多数企业打印设备,但是打印机制造商可能会选择开发自己的驱动程序以供用户使用,而不采用 Unidrv.这类驱动程序通常称为一体化驱动程序,因为它们并未被实施为 UniDrv 微型驱动程序。(许多制造商现在都开始致力于让他们所有的驱动程序都采用 UniDrv 模型而非传统的一体化模型。)

总的来说,有这几种驱动程序类型:

内核模式(第 2 版)或用户模式(第 3 版)

PostScript (PS) 或 PCL

微型驱动程序或一体化驱动程序

注意:

驱动程序可以是上述不同类型的组合——例如,核心模式 PCL 驱动程序、用户模式一体化驱动程序、PostScript 微型驱动程序。(Windows 2000 或 Windows Server 2003 所附带的驱动程序均为用户模式。)

根据具体的设备类型,所有这些驱动程序类型都可从打印机制造商处获得。Windows 2000 及更新版本所附带的 inbox 驱动程序也由打印机制造商提供,并经许可才能分发。Microsoft 为 Windows 2000、Windows XP 和 Windows Server 2003 提供的所有驱动程序均为 Unidrv 或 PostScript 微型驱动程序,并且在所有这些平台上都可兼容。

独立硬件供应商 (IHV) 还提供了 Windows CD 所没有附带的微型驱动程序。

如果能够认识到各种打印机驱动程序间的差异,就会更清楚地了解混合与匹配驱动程序如何导致网络打印环境出现问题。因为 Windows NT 4.0 只能运行内核模式打印驱动程序,而 Windows 2000 和 Windows Server 2003 可同时支持用户模式和内核模式驱动程序,解决不兼容问题有时牵涉到修改运行 Windows 2000 或 Windows Server 2003 的服务器,以便匹配 Windows NT 4.0 服务器。

升级到 Windows 2000 Server 或 Server 2003 系列操作系统

从 Windows NT 4 Server 升级到 Windows 2000 或 Windows Server 2003 之前,许多 IHV 都建议卸载所有 IHV 打印机驱动程序,并对 Windows 2000 和 Windows Server 2003 系列操作系统重新安装有关打印机驱动程序的最新版本。Microsoft 推荐用户使用 Fixprnsv.exe 实用工具,其位于 Windows Server CD 上的 \Printers\Fixprnsv 目录。此实用工具可帮助在升级前确定已知的不良驱动程序,并用兼容的驱动程序取而代之。如果 Windows CD 上没有可供替代的驱动程序,那么该实用工具会提示用户从打印机制造商那里获取经过更新的驱动程序。Microsoft 推荐用户按照 IHV 的指示更新系统上的打印驱动程序,然后运用 Fixprnsv.exe 实用工具定位可能在升级期间产生问题的其他打印驱动程序。

下面几节将介绍如果在升级到 Windows 2000 或 Windows Server 2003 系列操作系统之前没有卸载驱动程序可能发生的情况。

驱动程序的升级过程

从 Windows NT 4.0 升级到 Windows 2000 或更新版本时,可能会发生许多与打印机驱动程序有关的情况。本节对每一种情况都进行了介绍。

Windows NT 4.0 操作系统附带的 inbox 驱动程序(PCL 和 PostScript)都被升级到 Windows 2000 或 Windows Server 2003 系列操作系统的新版驱动程序。(将 Windows 2000 Server 升级到 Windows Server 2003 系列操作系统也会发生同样的替代/更新状况。)

驱动程序型号名与 Windows 2000 或 Windows Server 2003 系列操作系统的驱动程序名称完全匹配的 IHV 驱动程序(PCL 或 PostScript)会在不受用户干涉的情况下升级到 inbox 驱动程序。

不使用因稳定性因素而被阻止的驱动程序。在升级期间,使用这些驱动程序的打印机会被移除。如果某台打印机直接到一台计算机并拥有一个可识别的即插即用 ID,那么 Windows 会为其搜索一个合适的驱动程序。如果找到了合适的驱动程序,该打印机会在升级期间作为新的打印机进行安装。

未被阻止并且不存在名称匹配的驱动程序将在整个升级期间保持不变。

Windows NT 4.0 Inbox 驱动程序

在升级过程中,所有 Windows NT 4.0 PCL 驱动程序 (RASDD) 都将被升级到最新的 Unidrv 驱动程序。(UNIDRV5 用于 Windows 2000,而 UNIDRV5.1 则用于 Windows Server 2003 系列操作系统。)Windows NT 4.0 所附带的 PostScript 驱动程序在 Windows 2000 或 Windows Server 2003 系列操作系统

责任编辑:桑丘 来源: http://www.haoxiai.net
相关推荐

2009-09-24 15:55:12

打印服务器

2010-08-27 09:00:10

DHCP服务器迁移

2009-09-24 16:25:16

打印服务器

2010-09-01 10:56:57

DHCP服务器

2010-08-31 19:38:01

DHCP服务器迁移

2009-09-24 10:23:41

打印服务器

2009-09-24 15:27:26

打印服务器

2009-09-24 17:29:10

2009-02-27 13:35:00

打印服务器打印共享

2009-09-24 16:08:29

打印服务器

2010-09-07 09:27:00

服务器升级硬件篇CPU

2010-09-07 14:31:37

服务器升级硬件篇

2010-04-14 11:23:16

打印服务器排错

2010-09-08 15:10:15

服务器升级硬件篇

2013-06-25 10:18:32

2009-09-24 10:41:35

打印服务器

2011-09-09 10:37:22

虚拟服务器虚拟化

2012-02-06 09:23:26

虚拟服务器服务器虚拟化

2012-09-25 14:15:08

服务器迁移宕机服务器

2009-09-24 14:17:18

打印服务器
点赞
收藏

51CTO技术栈公众号