已检验版本和免费版本的差异

有两种不同的基于 NT 的操作系统版本可用:免费 (零售) 和已检查 (调试) 。 第三个选项 称为部分检查生成,它将这两个元素组合在一起。

注意

Windows 10 版本 1803 之前的旧版 Windows 上提供已检查的版本。 使用驱动程序验证器和 GFlags 等工具在更高版本的 Windows 中检查驱动程序代码。

已检查版本与免费版本之间的差异

本部分列出了生成选项之间的一些差异。

免费版本 (或零售版本)
Microsoft Windows 的免费版本用于生产环境。 操作系统的免费版本是使用完全编译器优化生成的。 当免费生成发现可更正的问题时,它将继续运行。

包含操作系统免费版本的分发媒体没有任何特殊标签,也就是说,包含免费版本的 CD 或下载内容标有 Windows 版本名称,而不引用生成类型。

选中的生成 (或调试生成)
通过检查的 Microsoft Windows 版本,可以更轻松地识别和诊断操作系统级问题。

检查的版本在以下方面与免费版本不同:

  • 许多编译器优化 ((如堆栈帧消除) )在已检查的生成中被禁用。 这样一来,可以更轻松地理解反汇编的计算机指令,因此可以更轻松地跟踪系统软件中问题的原因。

  • 选中的版本在操作系统代码和系统提供的驱动程序中启用大量调试检查。 这有助于检查的版本在内部不一致和问题发生时立即识别它们。

部分检查的生成 (或部分调试生成)
部分检查的 Microsoft Windows 内部版本类似于完整检查的内部版本。 主要区别在于,部分检查的生成仅包括内核) (检查的操作系统映像,以及检查的硬件抽象层 (HAL) 。 其余 Windows 组件来自 Windows 的免费 (零售) 版本。

部分检查版本在以下方面不同于免费和完全检查的版本:

  • 与完整检查的生成一样,许多编译器优化 ((如堆栈帧消除) )处于禁用状态。 这样可以更轻松地理解反汇编的计算机指令,因此更容易跟踪问题的原因。

  • 部分检查的生成在操作系统代码和 HAL 中启用许多调试检查。 但是,系统提供的驱动程序来自免费 (零售) 版本,因此,除非显式安装系统提供的驱动程序的已检查版本,否则你不会获得完整检查版本的额外优势来识别和调试问题。

  • 部分检查的内部版本要求首先安装 Windows 的完整免费 (零售) 版本。 使用启动选项,可以将计算机配置为在启动时加载已检查或可用组件。 然后,可以使用单台计算机通过 Windows 的已检查和免费版本测试驱动程序。

在何处查找已检查的 Windows 内部版本

包含已检查版本的下载和分发媒体被明确标记为“调试/已检查的内部版本”。检查的版本下载包含操作系统的已检查版本,以及已检查版本的 HAL、驱动程序、文件系统,甚至许多用户模式组件。 有关获取已检查和部分检查的内部版本的信息,请参阅 安装已检查的内部版本。 为方便起见,Windows 驱动程序工具包的 /debug 目录中提供了内核和 HAL 的已检查版本, (从 WDK for Windows Vista) 开始。

何时使用已检查的内部版本或部分已检查的内部版本

需要测试驱动程序时,应始终在开发过程中的某个时间点使用已检查的版本。 检查的版本可能会暴露驱动程序与操作系统交互方式的问题。 如果不测试驱动程序能够在检查的生成中运行,则任何测试都不能被视为完成。

因为检查的生成包含的优化和调试检查比免费版本少,因此检查的生成比免费版本更大,运行速度更慢。 因此,免费版本在生产环境中使用,除非需要使用已检查的生成来识别严重问题。

作为完整检查版本的替代方法,可以将计算机配置为使用部分检查的内部版本。 这为你提供了用于调试的已检查内部版本的优势,以及免费生成的更好性能。 有关为计算机配置部分已检查内部版本的信息,请参阅 安装仅检查的操作系统和适用于 Windows Vista 及更高版本的 HAL ()

若要在使用部分已检查的内部版本时对驱动程序进行更完整的测试,还应考虑安装系统提供的相关驱动程序的已检查版本。 例如,如果要开发较低的磁盘筛选器驱动程序,应考虑从完整检查的内部版本中提取并安装Disk.sys和Storport.sys的已检查版本。

若要验证是否正在运行检查内部版本,请按照仅安装 Windows Vista 及更高版本的 HAL (中的步骤 4 - 重启计算机中的说明操作)