Windows Phone
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 8、Windows Phone 8.1 和 Windows 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 中 MajorVersion 为8
时为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 中通常为
buildlab
和mojobld
;在 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 日 |
注释
- ↑ 为避免与德国麦德龙股份公司产生商标侵权纠纷,后改称为“Modern UI”。
- ↑ 按照早前系统的命名规律,在非官方的用词中也有“WP10”的叫法,但官方从未使用过“Windows Phone 10”或“WP10”的名称。
- ↑ 所有能够运行 Windows Phone 8.1 的设备均可自行离线推送 Windows 更新提供的 CAB 文件更新到 Windows 10 Mobile,但许多采用高通骁龙低端 SoC 芯片的设备升级到 Windows 10 Mobile 后会出现运行缓慢、相机卡顿、发热增大和电池续航缩短等问题,甚至会损坏手机,例如 HTC 的部分 Windows Phone 设备。
- ↑ 在 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 版本。
- ↑ Windows NT 内核版本字符串为 10.0.10149.0.fbl_impressive_mob.20150618-1929。
- ↑ 推送后续版本的
.spkg
仍可进入 UpdateOS 进行更新,但设备会反复重启并重复进入 UpdateOS 模式,此时必须重新刷入正确的固件才能够正常启动。 - ↑ 增量压缩文件可以使用类似
delta_patch.py
之类的工具应用于 Windows PC。
参考资料
待补充。
另请参阅
- 基于 Windows NT 内核的 Windows Handheld 企业手持设备操作系统
- Windows 8.1 For IoT
- Windows 10 IoT Core
- Andromeda OS
- Centaurus OS
- Windows 10X
- Factory OS
- Validation OS