Windows Phone

来自BetaHeritage Wiki
跳转到导航 跳转到搜索

PlaceHolder.png

Windows Phone
内核 Windows CE
Windows NT
内核类型 混合内核
源代码类型 闭源
架构 ARM
ARM64
x86
x64
许可协议 最终用户许可协议(EULA)
家族顺序
相对应版本 基于 Windows CE 内核:
Windows Embedded Compact 7

基于 Windows NT 内核:
Windows 8
Windows RT
Windows 8.1
Windows RT 8.1
Windows 10


Windows Phone(通常简称为“WP”)是微软发布的一系列手机操作系统,是 Windows Mobile 手机操作系统系列的继任者,首个版本 Windows Phone 7 基于 Windows CE 内核,后来切换到 Windows NT 内核并先后发布了 Windows Phone 8Windows Phone 8.1Windows 10 Mobile;最终于 2017 年宣布终止开发,最后一个版本 Windows 10 Mobile 版本 1709 的支持已于 2020 年 1 月 14 日结束。

发展历程

Windows Phone 手机操作系统系列的首个版本 Windows Phone 7 发布于 2010 年 10 月 21 日。它基于 Windows CE 内核,采用了全新的 Metro UI[1] 用户界面,并将微软旗下的 Xbox Live 游戏服务、Xbox Music 音乐服务与独特的视频体验集成至搭载 Windows Phone 7 的手机中。但由于它完全放弃了先前 Windows Mobile 系列手机操作系统的操作界面,完全重塑了整套系统的代码和视觉,故程序互不兼容。

2011 年 9 月 27 日,Windows Phone 7.5 手机操作系统发布,它是 Windows Phone 7 的重大更新。为了弥补 Windows Phone 7.5 的用户无法升级到 Windows Phone 8 带来的困扰,随后微软又发布了 Windows Phone 7.8 手机操作系统。

2012 年 6 月 21 日,微软召开发布会,正式发布 Windows Phone 8 手机操作系统;它放弃了 Windows CE 内核,转而改用与 Windows 桌面操作系统一样的 Windows NT 内核。由于内核的变动,先前搭载 Windows Phone 7.5 的手机无法升级到 Windows Phone 8,且新的应用程序不再兼容 Windows Phone 7.8 以下系统。

2014 年 4 月 2 日,微软在 Build 2014 开发者大会上发布了 Windows Phone 8.1 手机操作系统,它增加了更多新功能,并升级了部分组件,且所有搭载 Windows Phone 8 的设备可全部升级为 Windows Phone 8.1。同年 7 月微软发布了 Windows Phone 8.1 Update 1,在 Windows Phone 8.1 的基础上添加了一些功能,并且做了一些优化。2015 年 2 月,微软又发布了 Windows Phone 8.1 Update 2,在早前的 Windows Phone 8.1 Update 1 的基础上改进了一些功能的操作方式,但后期绝大部分设备都跳过了此版本转而升级到 Windows 10 Mobile。

Windows 10 Mobile 立项于 2014 年年底,最初名称为“Windows 10 For Phone”[2],于 2015 年 5 月 14 日正式定名为“Windows 10 Mobile”。原定于 2015 年 7 月作为正式版发布的 Windows 10 Mobile 存在问题,故正式版推迟到 2015 年年底。尽管理论上所有运行 Windows Phone 8.1 的设备都可以运行 Windows 10 Mobile,但由于实际效果不理想,只有少数设备获得了更新[3]。2016 年 8 月,Windows 10 Mobile 周年更新(版本 1607)发布。2017 年 3 月,Windows 10 Mobile 创意者更新(版本 1703)发布。2017 年 10 月,Windows 10 Mobile 秋季创意者更新(版本 1709)发布。

2019 年 12 月 10 日,微软终止了 Windows 10 Mobile 的安全和设备支持,以及相关设备的技术支持。随着 2020 年 1 月 14 日推送 Windows 10 Mobile 版本 1709 的最终更新后,代表着 Windows Phone 手机操作系统寿终正寝。

版本控制系统

Windows Phone 手机操作系统拥有独立的版本控制系统,其格式与先前的 Windows Mobile 系列手机操作系统或 Windows 桌面操作系统均有不同。对于 Windows Phone 8 及以后的版本,操作系统总体的版本信息存在于注册表 HKLM\SYSTEM\Versions 中。通过修改注册表可以实现系统设置的“关于手机”页面的版本号显示的规则,而 zFeedbackHub 工具始终显示 Windows Phone 的版本字符串,zSystemInfo 工具中则始终显示内核的版本号、分支、编译时间。

在 Windows Phone 中,版本字符串各部分名称和格式为:MajorVersion.MinorVersion.ParentBranchBuild.BuildNumber.Label(Builder).TimeStamp,在 Windows Phone 中,每一个构建的版本字符串都不相同。各部分含义如下:

  • MajorVersion:即“主版本号”。在 Windows Phone 7、Windows Phone 7.5 和 Windows Phone 7.8 中为 7,在 Windows Phone 8 和 Windows Phone 8.1 中为 8,在早期 Windows 10 Mobile 开发构建中为 8,后由于主版本号与桌面端的内核版本号统一则需要提升至 10
  • MinorVersion:即“次版本号”。表示对同一个主版本号下的操作系统进行区分。在 Windows Phone 7 中为 00,在 Windows Phone 7.5 和 Windows Phone 7.8 中为 10;在 Windows Phone 8 中为 00,在 Windows Phone 8.1 中为 10;在 Windows 10 Mobile 中 MajorVersion8 时为 15,后由于主版本号与桌面端的内核版本号统一则需要随 MajorVersion 改为 10时改为 0
  • ParentBranchBuild:即“分支构建版本号”。表示在同分支中的不同版本,原则上保持连续递增。此部分在数值上等于同样位于注册表 HKLM\SYSTEM\Versions 中的 QFELevel
  • BuildNumber:即“构建版本”。随 ParentBranchBuild 的增加而增加,且在 ParentBranchBuild 未发生跳跃的情况下原则上保持连续递增。而在不同分支中,即使 ParentBranchBuild 相同,此部分也会不同。
  • Label:即“虚拟系统实验室分支”。
  • Builder:即“构建者”。在 Windows Phone 中,所有构建的完整版本字符串均有此部分,在 Windows Phone 7、Windows Phone 7.5 和 Windows Phone 7.8 中通常为 buildlabmojobld;在 Windows Phone 8 和 Windows Phone 8.1 中通常为 wpbldlab,在 Windows 10 Mobile 中通常为 wpbldlab(后改为 winpbld)和 wincbld。此外,同 Windows 桌面操作系统一样,Windows Phone 手机操作系统同样存在个人编译的情况。
  • TimeStamp:即“编译时间”。与 Windows 桌面操作系统不同的是,Windows Phone 手机操作系统的编译时间格式为 yyyymmdd-hhmm

在 Windows Phone 8 后由于 Windows Phone 手机操作系统迁移至 Windows NT 内核,因此每一个版本的 Windows Phone 手机操作系统构建都有一个对应版本的 Windows NT 内核。该 Windows NT 内核具有一个与 Windows 桌面操作系统格式相同的版本字符串。Windows NT 内核版本具有如下特点:

  • Windows NT 内核的版本字符串可与 Windows Phone 手机操作系统构建的版本字符串不一致,因为版本号各部分表示的含义不同,并且分支、编译时间也可不同。
  • Windows NT 内核的编译时间不晚于 Windows Phone 手机操作系统构建的编译时间,尽管在 Windows 10 Mobile 中 Windows Phone 手机操作系统构建的分支和编译时间均与 Windows NT 内核的相同。
  • 多个 Windows Phone 构建也可以基于同一个 Windows NT 内核,且 Windows NT 内核版本可以不存在相同版本的 Windows 桌面操作系统构建。在 Windows Phone 8 和 Windows Phone 8.1 中有大量的构建具有相同的 Windows NT 内核,在 Windows Phone 8.1 中还存在版本号相同但编译时间不同的 Windows NT 内核[4]

更新体系

从 Windows Phone 8 开始,更新通过 Windows 更新以 CAB 文件的形式分发,这种 CAB 更新文件具有三种不同的类型:具有 .spkg 名称的文件是标准包,具有 .spku 名称的文件是增量包,具有 .spkr 名称的文件是移除包。

在 Windows 10 Mobile Threshold 1 预览体验时期中又引入了一种新的 CAB 文件形式:具有 .cbs 名称的文件是标准包,具有 .cbsu 名称的文件增量包,具有 .cbsr 名称的文件是移除包。其使用方法分别与 .spkg.spku.spkr 一致。在 build 12648.133.FBL_IMPRESSIVE_MOB(wpbldlab)[5] 后完全使用新的 .cbs.cbsu.cbsr 形式的 CAB 文件进行更新,先前的 .spkg.spku.spkr不可再用于更新操作系统[6],但仍可用于更新固件、驱动等。

  • 标准包.spkg.cbs):包含该构建的完整文件,可从低于此版本的任何版本安装。
  • 增量包.spku.cbsu):包含 PA30 增量压缩文件的更新包,需要被应用于以前的某个特定版本[7]
  • 移除包.spkr.cbsr):仅包含包 XML 文档和安全文件,用于在设备中删除某些文件。

在 Windows Phone 中,系统的处理器和分辨率适配、显示语言、键盘和语音、一些系统功能、部分 Microsoft 软件是独立的包,设备驱动、固件、部分 OEM 软件、颜色方案也是独立的包。一台手机中存在数十个甚至数百个包,通过标准包添加文件、移除包删除文件,可以自由的添加和删除设备上的语言、键盘、语音甚至是 Microsoft 软件和 OEM 软件。每一个包都具有独立的版本号,且并不需要所有包的版本号都相同系统才能运行——也就是说,对于一台设备若没有对应的包适配,则可以使用临近版本的包替代,且绝大部分版本都可以正常启动。在 Windows 10 Mobile 版本 1607 阶段,甚至存在少数临近版本共用一套版本号的键盘和语音包的情况。

系统列表

Windows Phone 手机操作系统系列
基于 Windows CE 内核的 Windows Phone 手机操作系统
产品名称 CE 内核版本 代号 正式发布日期 终止支持日期
主流支持 拓展支持
Windows Phone 7 7.0 Pre-NoDo/Photon (Windows Phone 7)
NoDo/No Doughnuts (Windows Phone 7 Update)
2010 年 10 月 21 日 2014 年 10 月 14 日
Windows Phone 7.5 7.1 Mango (Windows Phone 7.5) 2011 年 9 月 27 日
Windows Phone 7.8 Tango (Windows Phone 7.5 Refresh) 2012 年 6 月 20 日
基于 Windows NT 内核的 Windows Phone 手机操作系统
产品名称 NT 内核版本 代号 正式发布日期 终止支持日期
主流支持 拓展支持
Windows Phone 8 6.2 Apollo (Windows Phone 8)
Portico (Windows Phone 8 Update 1)
2012 年 6 月 21 日 2016 年 1 月 12 日
Windows Phone 8.1 6.3 Blue 2014 年 4 月 2 日 2017 年 7 月 11 日
Windows 10 Mobile 10.0 Threshold
Redstone
Feature2 [Windows 10 Mobile 秋季创意者更新(版本 1709)]
2015 年 11 月 18 日 2019 年 12 月 10 日 2020 年 1 月 14 日

注释

  1. 为避免与德国麦德龙股份公司产生商标侵权纠纷,后改称为“Modern UI”。
  2. 按照早前系统的命名规律,在非官方的用词中也有“WP10”的叫法,但官方从未使用过“Windows Phone 10”或“WP10”的名称。
  3. 所有能够运行 Windows Phone 8.1 的设备均可自行离线推送 Windows 更新提供的 CAB 文件更新到 Windows 10 Mobile,但许多采用高通骁龙低端 SoC 芯片的设备升级到 Windows 10 Mobile 后会出现运行缓慢、相机卡顿、发热增大和电池续航缩短等问题,甚至会损坏手机,例如 HTC 的部分 Windows Phone 设备。
  4. 在 Windows 10 Mobile 也有少量存在,例如编译时间不同的 Windows 10 Mobile 构建 10.0.12534.56.FBL_IMPRESSIVE_MOB(wpbldlab).20150403-1824 和 10.0.12534.58.FBL_IMPRESSIVE_MOB(wpbldlab).20150410-1024 分别采用 Windows NT 内核 10.0.10051.0.fbl_impressive_mob.150403-1824 和 10.0.10051.0.fbl_impressive_mob.150410-1024 版本。
  5. Windows NT 内核版本字符串为 10.0.10149.0.fbl_impressive_mob.20150618-1929。
  6. 推送后续版本的.spkg仍可进入 UpdateOS 进行更新,但设备会反复重启并重复进入 UpdateOS 模式,此时必须重新刷入正确的固件才能够正常启动。
  7. 增量压缩文件可以使用类似 delta_patch.py 之类的工具应用于 Windows PC。

参考资料

待补充。

另请参阅