大家好,今天我们来讲一下Windows XP 到 Windows Vista 的发展史

有没有这么一种可能, 从 2001 年 Windows XP 正式发布,到 2007 年 Windows Vista 终于面世,这中间隔了将近六年。对于操作系统行业来说,这算是一段相当漫长的空窗期。在这六年里,微软内部经历了一个名为 Longhorn 的开发项目,这个项目从最初的雄心勃勃,到后来的代码失控,再到彻底推翻重来,最终才以 Windows Vista 的名义出现在公众面前。**也许可以说,**Vista 的诞生过程比大多数人想象的要曲折得多,它不是一个平滑的版本演进,而是一次先膨胀后收缩的剧烈震荡。

Windows XP 于 2001 年 8 月完成 RTM 构建(Build 2600),随后微软在几年内陆续发布了 SP1、SP2 和 SP3 三个服务包,逐步完善了系统的安全性和硬件兼容性。

  • SP1 引入了 USB 2.0 支持和“设置程序访问和默认值”功能,让用户可以更自由地选择默认浏览器和媒体播放器。
  • SP2 是变化较大的一个更新包,它调整了引导界面、引入了蓝牙支持、改进了无线网络驱动和远程桌面,蓝屏后系统会自动重启,OOBE 阶段还增加了“是否开启自动更新”的询问界面——这些改动多少能看出微软对系统安全性的重视程度在上升。
  • SP3 则是 XP 生命周期里最后一个服务包,加入了网络访问保护(NAP)、SHA2 哈希算法支持和 CredSSP 安全服务提供程序,算是给 XP 时代收了个尾。

Windows XP RTM

Windows XP SP2

Windows XP SP3

在Build3790中,微软推出了64位的Windows XP。


不过在 XP 还在持续更新的同时,微软内部已经启动了一个代号为 Longhorn 的新项目。这个项目的目标相当宏大——微软希望借助 Longhorn 彻底重塑 Windows 的底层架构,建立起一套基于 .NET 托管代码的全新系统,同时推进 WinFS(下一代文件系统)、Avalon(新一代图形子系统)和 Indigo(新一代通信框架)三大支柱技术。

这个野心在当时看来确实很前沿,但后来的事实证明,步子迈得有点太大了。

Longhorn 最早期的测试版本可以追溯到 Build 3663,编译于 2002 年 7 月。这个版本的 NT 内核版本号已经从 5.1 跳到了 6.0,版本信息里开始出现“Codename Longhorn”的字样,桌面主题和登录界面也有了一些初步调整。

到了 Build 3683 时,系统开始出现比较大的变化——安装方式做了调整,不再支持通过 DOS 模式安装系统;资源管理器经历了大幅修改,引入了新的导航栏和任务窗格界面;Windows 侧边栏首次亮相,用户可以调整它的透明度、位置,还可以添加小部件。可以说,Longhorn 的设计方向在早期就已经与 XP 有了明显区别。

到了 Build 3713,**ClearType 字体效果被引入并默认启用,媒体中心和平板电脑组件也得到了更新,这些后来都被延续到了 Vista 正式版中。**不过这个阶段的问题也不少——资源管理器频繁崩溃,桌面合成引擎(DCE)的 bug 时常导致花屏或黑屏,稳定性并不理想。

随着开发推进到 Build 4002 和 Build 4005,系统引入了 M4 阶段专属的极光壁纸,控制面板开始支持分类视图,任务栏也增加了阴影效果。但与此同时,桌面合成引擎的问题依然存在,调整分辨率时侧边栏无法正确渲染,安装程序格式化硬盘时偶尔还会触发蓝屏。

Build 4015 是一个值得留意的节点。这个版本首次引入了 Aero 主题效果,虽然当时有 democheck 检测机制限制,非微软内部电脑无法直接启用,但 Aero 的雏形确实已经出现了。系统还引入了“Windows 信任顾问”功能,可以看作是 UAC 的前身。

随后的 Build 4074 是 Longhorn 开发历史上比较知名的一个版本,它通常被认为是 Longhorn 最后一个公开预览版本。这个版本引入了 Jade 边框、透明任务栏、侧边栏以及早期的 Flip3D 效果,文件资源管理器的预览面板可以渲染不同颜色的极光效果,应用程序崩溃对话框也首次出现了调试按钮。可以说,4074 集中展示了 Longhorn 早期开发阶段的不少亮点。但这个版本的问题同样明显——DWM 稳定性欠佳、界面渲染错误频繁、系统音效无法正常播放、存在内存泄漏问题,进安全模式时侧边栏甚至会导致系统崩溃。这些问题的累积,某种程度上也预示了 Longhorn 开发将要面临的困境。

在 Build 4074 之后,Longhorn 的开发逐渐走入了一个死胡同。从 4081 到 4093,微软陆续发布了多个 Milestone 8 的测试版本,但系统状态依然不容乐观。

到了 Build 4093,这已经是 Longhorn 主线工程的最后一个版本了。虽然它调整了 UAC、引入了新的关机界面(带倒计时的那种,有点 Linux 的感觉)、还尝试恢复了经典视觉界面,但整体来看,代码库已经膨胀得难以维护,各种 bug 层出不穷,系统连稳定运行都成了问题。


在 Longhorn 开发早期,微软为其设定了异常激进的“三大支柱”目标(WinFS、Avalon、Indigo)。
此时微软的野心迅速膨胀,试图构建一个由托管代码(.NET)驱动的全新Windows,彻底取代Win32、MFC等传统技术栈
结果导致系统代码爆炸式膨胀,bug层出不穷,连稳定使用都成困难。
所以,微软被迫启动了“Longhorn Reset”计划。
彻底抛弃过去两年混乱的代码库,转而以稳定的 Windows Server 2003 SP1 内核作为全新的起点,严格重写并逐步添加特性。
微软决定完全放弃 4093 及之前的所有代码。他们另起炉灶,拉出一个全新的、干净的主开发分支。为了从心理上和数字上彻底告别混乱的过去,版本号被一口气跃迁到了 5000。

Build 5000 是重置后的第一个版本,编译于 2004 年 9 月。不过老实说,这个版本看起来基本还是 XP 的样子,控制面板只有细微调整,整体的界面风格几乎没有变化。据说当时就是用 Server 2003 SP1 的代码仓促改出来的,可以理解为一个过渡性质的内部分支。

到了 Build 5048(Longhorn Developer Preview),重置后的新方向才开始真正显现。这个版本重新实现了基于 WIM 文件的部署方式,安装程序的 UI 被重新设计,硬件门槛也提高了(内存从 128MB 提升到了 256MB)。系统版本开始细分为入门版、家庭基础版、家庭高级版、专业版、企业版和旗舰版,Aero 效果重新出现并取代了 XP 的 Luna 主题,UAC 功能被正式引入(尽管默认是关闭的),bootmgr 启动管理器开始替代传统的 ntldr。可以说,5048 是重置之后第一个具备 Vista 雏形的版本。

到了 Build 5098,系统的界面风格进一步向后来我们熟悉的 Vista 靠拢。安装程序采用了蓝色主题,已经能看到 Vista 安装界面的那种感觉了,Luna 主题被彻底抛弃,Aero 效果的主题和视觉设计做了重新调整,开始菜单也按照 Aero 风格重新设计。文件资源管理器中引入了分类库视图——文档、视频、图片、音乐和电子邮件分别有独立的类别,SmartScreen 筛选器首次出现,Windows 全盘加密功能(BitLocker 的前身)也开始引入。

在 Build 5112 中,系统版本信息里出现了“Vista”这个名称——据说这个版本编译后没几天微软才对外公布改名,系统来不及重新编译,就只是在桌面水印上写了个 Vista。这个版本通常被认为是 Vista 官方测试版 Beta 1 的标志。

进入 Build 5212 及之后版本,Windows 侧边栏被重新引入,这次它的小工具改用了基于 IE 7 的 HTML+CSS+JS 框架,开发者可以用网页技术来写小工具,这在当时算是比较有前瞻性的设计。此外,“Castles sharing”功能(Windows 7“家庭组”的前身)也开始出现,WMC(Windows Media Center)在家庭高级版和旗舰版中重新加入,Windows 照片库和 Windows 日历等新应用也开始内置。

到了 Build 5221,Windows徽标更新,真正意义上引入Windows Vista这个系统名。

到了 Build 5231,系统引导方式发生了较大的改动——bootmgr 改用 BCD 文件存储启动配置,取代了传统的 boot.ini,这个变化一直延续到了后来的 Windows 10 和 Windows 11。IE 浏览器更新到了 7.0 版本,SuperFetch 内存管理机制被引入,关机速度有所改善。

随着开发的推进,到了 Build 5259 时,开始菜单被重新设计,Windows AntiSpyware 改名为 Windows Defender,系统开始支持 exFAT 格式化。

后续的Build 5270、Build 5308 和 Build 5355 可以看作是 Vista 逐渐成型的阶段——引导界面、安装程序、OOBE 和登录界面的布局已经和 RTM 版相差不大。

Build 5308 中开机时出现的 Windows 徽标球动画是不少人对 Vista 的第一印象,“欢迎中心”默认在开机后弹出,WDDM(Windows 显示驱动模型)正式取代了之前的 LDDM 叫法。

到了 Build 5355,任务栏的后退与前进按钮样式基本定型,UAC 的界面布局已经接近最终版本,大多数系统组件的图标和界面都确定了下来,沿用到了 RTM。

再往后,5435 和 5456 这两个版本进一步打磨了动画效果和主题细节。OOBE 增加了时间与货币格式设置,登录界面底部开始显示具体的 SKU 版本标识,Aero 主题和 Windows Basic 主题的外观基本定型,任务管理器中增加了“服务”标签页,“程序”改名为“程序与功能”并沿用至 RTM,文件资源管理器的布局和侧边栏小工具的样式也基本稳定下来。

在后续的 5744、5754 和 5758 等版本中,Vista 的界面已经基本成型,与最终发布的版本相差不大。5758 移除了时间炸弹,产品密钥从测试密钥换成了正式版密钥,标志着系统已经进入了准 RTM 状态。

最终,Build 6000 于 2006 年 11 月被正式定为 Windows Vista RTM 版本。

  • 之后的 Vista SP1(Build 6001)增加了对 exFAT 的支持,将 DirectX 更新到了 10.1,并为 64 位版本添加了 EFI 1.10 固件支持。
  • SP2(Build 6002)则进一步增强了无线和蓝牙支持,内置了 Windows Search 4.0,并支持在蓝光光盘上刻录。

回看这段从 XP 到 Vista 的历程,可以说明几个问题。

  • 首先,Vista 之所以比 XP 晚了将近六年才发布,是因为 Longhorn 早期的开发路线确实过于激进。WinFS、Avalon、Indigo 这三大支柱在理论层面很吸引人,但在当时的技术条件下同时推进,导致代码库迅速膨胀到了难以维护的程度。

Reset 虽然代价不小,但回头看可能是当时唯一可行的选择。

  • 其次,Vista 最终呈现出来的很多特性——UAC、Aero、侧边栏、Flip3D、WDDM——其实早在 Longhorn 早期的 4074 甚至更早的版本里就已经以不完整的形式出现过,只不过直到 Reset 之后才被重新以稳定的方式实现。从这个意义上说,Vista 并不是一个从零开始的新系统,它更像是 Longhorn 早期设想的一个妥协版——砍掉了过于超前的部分,保留了能稳定落地的功能

Vista 在市场上的口碑不算理想,硬件门槛偏高、UAC 弹窗频繁等问题确实影响了用户的接受度。但如果只看它的技术演进,Vista 确实完成了从 XP 到现代 Windows 之间的一次底层过渡——NT 6.x 内核奠定了之后 Windows 7 乃至 Windows 11 的基础,WDDM 驱动模型让桌面图形性能得到了体系化的提升,UAC 虽然被诟病但也确实让 Windows 在安全性上往前迈了一步。Vista 可能不是微软最成功的操作系统,但它的开发史至少说明了一件事——操作系统这种体量的软件,要想往前走,总是要付出一些代价的

也许就是这样子吧…

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐