Windows PE介绍
Windows PE介绍
WinPE是一个基于Windows XP 核心的最小化定制版操作系统,包含了NTFS 文件系统支持、海量存储设备支持、TCP/IP 网络连接
、Microsoft 网络客户等基本组件。
使用WinPE,用户可以管理磁盘分区(创建、删除和格式化)、访问内部网络。并且WinPE 可以使用所有支持Windows2000/XP 的
海量存储设备驱动程序。而且程序员可以为WinPE 开发使用Win32 API 子集的应用程序。这些程序将比早先基于MS-DOS 的应用程
序更适合indows 环境,性能也更加强劲。更重要的是使用Win32 API 可以让这些应用程序摆脱对16bit 驱动程序的依赖(许多新
的硬件设备已经不再提供16bit驱动程序了)。
虽然与MS-DOS 等相比,WinPE 仍然很大,不能够放在一张软盘之中,但通过定制自己的WinPE 版本,并写入到CDROM、DVD这样的
可启动媒体或者使用远程安装服务器(R I S )等方式,用户能够方便的引导WinPE 系统。
WinPE的主要特征
WinPE 实际上是经过剪裁的Windows XP 专业版,保留了最基本的W i n 3 2 核心以及一些基本服务。WinPE 包括下面的主要特征
:
* 基于x86 体系,提供硬件无关的应用程序运行环境、占用较少存储空间和系统内存的Windows 环境。
* 应用程序可以使用Win32 API 子集,以及标准的命令行(cmd.exe)环境。用户能够开发使用Win32API 的应用程序,并能够编
写复杂的批处理文件。
* 网络访问和标准Windows 网络设备驱动程序支持。用户能够使用TCP/IP 协议访问网络资源,而且用户可以为自己使用的网络设
备创建定制的WinPE 版本。
* 支持所有用于Windows 2000/XP/Whistler 的海量存储设备,并能够通过创建定制版本WinPE 来使用新硬件的驱动程序。
* WinPE 核心只支持NTFS 分区。用户可以建立、删除和格式化NTFS 分区,并能够管理Windows XP 支持的各种类型的存储卷。
* 能够通过P X E 引导芯片从远程安装服务器(RIS)上启动WinPE,这对于大中型企业的系统管理人员来说是非常有用的特征。
* 如果需要,用户还可以为WinPE 添加更多的组件,例如访问MS SQL Server 数据库、HTML Applications支持、VBScript 和
JScript 语言脚本支持等。
WinPE能够做什么
从上面的简单介绍可以看出,WinPE 提供了一个基本的Win32 环境,用户能够为WinPE 创建Win32 应用程序、加载标准Windows
驱动程序、使用TCP/IP 访问网络等。这些特征对于企业的系统维护人员来说是非常重要的,事实上WinPE 也是为他们准备的。过
去,由于没有可从光盘引导的Windows NT/2000/XP 系统,系统维护人员如果要管理运行WindowsNT/2000/XP 的计算机,是非常不
方便的。特别是当计算机中安装的Windows NT/2000/XP 已经无法正常引导的时候。这时,维护人员通常是通过定制的DOS 引导软
盘或者光盘来引导系统,再尝试诊断系统和恢复系统。但使用DOS有几个极大的缺陷:
* 用DOS 引导系统后无法访问NTFS 分区(配合第三方软件可以读写NTFS 分区,但稳定性和安全性都无法保证),更没有办法管
理各种类型的存储卷和海量存储设备。
* 要从DOS 下访问网络相当困难,性能也非常低下。而且许多新的网络设备用于DOS 的驱动程序都要单独定购(如果是小厂商很
可能没有提供可用的DOS驱动程序)。况且DOS 的网络应用程序大多早已停止开发,原有的应用程序根本不支持最新的网络技术。
* DOS 的批处理功能相当简单,无法编写复杂的批处理程序,稍微复杂一点的功能就需要维护人员编写应用程序。
* 除非使用特别的编程技术,否则DOS 应用程序只能够使用640KB 基本内存。
当改用WinPE 后,用户能够获得下列优势:
* WinPE 完全支持NTFS 分区以及各种类型的存储卷,用户使用WinPE 内置的命令行程序就可以完成对存储设备的管理。而且只要
加载海量存储设备提供的Windows 2000/XP 驱动程序,就能够支持这些硬件。
* 内置对TCP/IP 的支持,能够加载各种网络设备的驱动程序。网络设备的Windows 驱动程序不但更容易获得,性能和功能也远远
超过DOS 下的驱动程序。除了现有的大量网络应用程序,开发新的应用程序比起DOS 环境也更为简单,而且开发的新程序还能够
在完整的Windows 环境中使用。
* NT 命令行环境极大的扩展了批处理功能,用户可以编写复杂的批处理程序。如果批处理无法满足要求,用户还可以为WinPE 添
加VBScript 和JScript 语言脚本支持。
* 能够在Visual Studio这样的开发环境中为WinPE创建完全的Win32 应用程序。Win32 应用程序将充分利用Windows 的强大功能
和硬件无关特性。当然,使用WinPE 也有一些劣势:
* 相对于DOS,WinPE 需要更多的内存才能够工作。经过笔者试验,WinPE 需要64MB 内存才能够完全正常的工作,而48MB 内存能
够启动大部分服务。如果使用硬盘上的交换文件,那么内存需求可以进一步降低到32MB。不过对于现在的计算机来说,64MB 内存
是完全不成问题的。
* WinPE 体积仍然较大,需要占用120MB 左右的存储空间。不过这对于CDROM 来说完全不是问题,即使是ZIP 软盘也可以轻松的
装下WinPE。
* WinPE 需要速度较快的处理器和显示子系统。
除了用于系统维护,WinPE 对于硬件设备制造商而言,也是一个非常有价值的工具。他们现在可以为用户开发运行于WinPE 环境
的设备诊断、配置应用程序,甚至向用户提供完全定制版本的WinPE,让用户能够方便的完成硬件设备的配置和管理工作。毕竟在
一个只有基本核心的系统上操纵硬件可以避免其他应用程序和驱动程序造成的影响,因此WinPE 还是一个理想的硬件设备测试环
境。
WinPE的限制
WinPE 既然是一个剪裁过的Windows XP 专业版,那么它能够作为一个精简版Windows 操作系统来使用吗?目前的答案是“NO”!
由于考虑到WinPE 可能被用作盗版,以及对其他版本的Windows 造成冲击,Microsoft 为WinPE 增加了一些限制,这大大限制了
WinPE 的用途。
* 为了防止WinPE 被盗版,WinPE 将在连续运行24 小时后自动退出并重新启动计算机。这一个限制让WinPE 无法成为一个能够长
时间运行的操作系统。笔者个人认为这是Microsoft 考虑到在WinPE 中增加激活功能太复杂,也不方便用户使用,所以干脆就让
其无法持续运行。
* 运行WinPE 的计算机同一时间最多只能够建立4 个网络连接。
* 运行WinPE 的计算机可以访问网络中的服务器和共享资源,但其他计算机是不能够访问运行WinPE的计算机上的文件和文件夹的
。这是因为WinPE 不能够运行Microsoft 网络文件和打印机共享服务。
* 运行WinPE 的计算机无法访问分布式文件系统(DFS)中的资源。
* WinPE 内置TCP/IP 和NetBIOS over TCP/IP 协议支持,但没有测试过SPX/IPX 协议,所以默认是不支持SPX/IPX 协议的。
* WinPE 要求系统中必须有一个VGA 兼容的显示设备,而且WinPE 会尝试使用800x600 24 位色的显示模式。
* 根据授权协议,用户只能够从每一份WindowsXP 专业版基础上生成一个定制版本的WinPE。
* 生成WinPE 必须使用Windows XP 专业版。Windows XP 家庭版和Windows Whistler 服务器家族都不行。
这些限制大部分是为了防止用户将WinPE 作为工作站或者服务器操作系统来使用。想象一下要是将WinPE 做成可以运行各种服务
的操作系统,那么谁还会去买昂贵的Windows Server 呢?
当然,WinPE 与完整版本的Windows XP 专业版相比,绝对不止刚刚提到的那些限制,还有一些功能是WinPE 根本不支持的。这主
要是WinPE 对许多Win32API 都不提供支持,自然就没有办法运行需要这些API的应用程序了。
WinPE 不支持的功能和Win32 API
为了最小化WinPE 的体积,WinPE 仅仅包含Win32API 的一个子集。包括I/O(磁盘和网络)操作和核心Win32 API。如果应用程序
使用了下列不支持的API,那么它将无法在WinPE 上运行。下面是WinPE 不支持的Win32 API:
* Windows Multimedia
* Still Image
* OpenGL
* NetShow Theater Administration
* Bitmap
* Brush
* Windows Shell
* Access Control
* Power Options
* Printing and Print Spooler
* Window Station and Desktop
* Terminal Services
* User Profile
* Tape Backup
没有上述Win32 API 的支持,需要多媒体支持、包含图形图像等内容的应用程序都无法在WinPE 上执行。在启动过程中,由于
WinPE 就已经加载了存储设备驱动程序、TCP/IP、Microsoft 网络客户等内容,所以用户立刻就可以开始工作了,无需再进行驱
动程序的安装等操作,这和安装Windows 的完整版本是不同的。
虽然WinPE 只会加载最少的驱动程序,但由于用户硬件配置太复杂,所以仍然可能会出现启动失败的情况,这时我们就只有创建
自己的定制版本WinPE 了。如果用户需要加载WinPE 中没有的设备驱动程序,也需要创建定制版本的WinPE。
用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; TheWorld)