版本分支(内部版本实验室)
内部版本实验室,一般简单的称作 Lab 或 VBL(Virtual Build Lab,虚拟内部版本实验室)。其通常是指在 Windows 操作系统的一部分上工作的团队,或者是团队工作的源代码分支。在最开始的时候,内部版本实验室是一个专用房间,在此房间中安放了定期生产 Windows NT 官方内部版本的机器。在早期,整个项目仅有一个内部版本实验室,但是随着开发人员数量的不断增加,为操作系统不同部分工作的团队各自分配了自己的虚拟内部版本实验室,在其中还包括项目对应的分支作为构建代码的基础设施。这一直延续到源仓库(Source Depot)的分支名称,由于这一做法,使得此术语同时也用于团队本身和版本编译分支。分支名称构成内部版本标识的一部分,也是 Windows 内部版本编译的唯一标识。
尽管 Windows 始终都在编译内部版本,但是,内部版本号相同,修订版本号相同,版本之间却并不见得完全一样。此时区分这些版本的方法,就是这些内部版本编译分支。
一个完整 Windows 版本号的格式
现在的 Windows 版本标签格式通常是:
version.arch.lab.timestamp
这是 Windows 11 某个内部版本的版本号:Build 21380.1001,它的完整形式是:10.0.21380.1001.amd64fre.fs_dev6_flt.210511-1900
。
组成部分
通常,Windows 版本标签有如下几个组成部分:
- 版本
- 格式为主版本号.次版本号.构建版本号.增量更新号(UBR),如10.0.21380.1001(主要和次要版本或增量更新号经常被省略)
- 架构
- 即该版本针对的目标架构+构建类型(fre对于免费/零售构建,chk对于检查/调试构建,可省略)
- 已知的目标平台标识符如下:
x86
用于 32 位x64
, amd64 用于 64 位ia64
用于安腾架构woa
,arm
用于 ARM32arm64
用于 ARM64
- 版本分支
- 时间戳
- 即编译时间,格式为
YYMMDD-hhmm
。版本标签后面可能跟有来自注册表的激活数据的散列,不过它不被认为是版本标签本身的一部分。
私有内部版本
与团队间编译的内部版本不一样,不是通过内部版本实验室机器构建的内部版本称作私有内部版本。这些版本通过在可执行文件的版本信息中设置 VS_FF_PRIVATEBUILD 文件标志,并通过在内部版本标识的编译分支部分中包含发起内部版本的人员或服务的帐户名进行标识。例如,Build 6.0.4067.private/lddm_dev_tech(davidmo).040212-1646 是由用户 davidmo 发起的私有内部版本。
实验室
自从 Windows XP 的开发启动以来至今,Microsoft 已经使用了多个分支系统,这些分支系统在实验室层次结构和命名方案方面均有所不同。但大多数方案都有一些共有的细节,例如均存在最顶级的主分支,或者使用特殊性质的分支表示重要的开发里程碑。
Whistler 和 Longhorn 重置前
最初,ntvbl 前缀用于实验室,尽管后来在 Windows XP 开发之初被更改为 Lab。最顶级的分支(有时称作“主干 trunk”)被称作 main,其集成了所有实验室的全部变化。在其之下,有数个被编号的实验室,每个实验室都在 Windows 操作系统中的一个单独部分工作,例如: Lab01:内核 Lab02:网络 Lab03:服务器 Lab04:终端服务 Lab06:用户界面设计 Lab07:Internet 信息服务/COM+ 这些实验室均拥有对应“_N”分支,作为处于主分支和实际分支之间的缓冲分支。例如,来自 main 的更改将会首先集成到缓冲分支 Lab06_N,之后再通过前向集成的过程将更改集成到 Lab06 中。这种缓冲分支是双向使用的,因此反过来同样适用,实验室首先将更改集成到“_N”分支中,之后再将这些更改集成到 main 中。 除了这些主要分支外,还有 idx(internal development workstation/server)分支,本分支的内部版本通常是针对 TAP 和 OEM 合作伙伴的再编译版本。但是也有例外,此分支的版本偶尔也会发布进行公共测试,例如 Windows XP Build 2257 或 Windows Longhorn Build 4074。 在 Windows XP 发布前,主干被分叉到 xpclient 分支,而原有的 main 分支则继续跟进 Windows Server 2003 的开发。在发布最终版本后,将会再创建新的分支进行更新、修补程序和 Service Pack 的开发。同样的,在 Windows Server 2003 发布前,主干同样分叉到 dnsrv。
自 Longhorn 重置开始
在 Longhorn 的开发重置后,实验室层次结构迎来了全面改革,从而解决困扰在重置前大部分时间缺陷。与其让少量的常规虚拟内部版本实验室专注于 Windows 操作系统功能的一般范围,不如引入具有更多功能分支的新分层模型,这有助于减少分支间反向集成分支的代码量。Microsoft 还制定了更加严格的标准,将实验室的公共反向集成到主干中,此主干后来更名为 winmain,一直使用到 Windows 10 开发期间。 在 Windows 10 发布后的某个时候,主干分支被更名为 rsmain,之后在 Windows 源存储库转换为 Git 后又再度更名为 rsmaster,这可能符合Git将最顶级分支称为 master 分支的 Git 约定。在 2021 年 2 月后的某个时候,它又再次重命名回简单的 main。这是因为 master/slave 术语含有所谓的奴隶制内涵,为了声援“黑人的命也是命”运动,微软在版本分支中移除了这样的字段;这样做可能是为了效仿其他 Microsoft 项目。此实验室仍在编译客户端版本,即使它适用于服务器组件,因为在内部版本的构建过程中不区分客户端和服务器 SKU。
功能分支前缀
随着时间的推移,Microsoft 使用了多个前缀引用功能分支:
前缀 | 含义 | 对应版本 |
---|---|---|
vbl | 虚拟内部版本实验室 (Virtual Build Lab) | Windows Vista |
fbl | 功能分支级别 (Feature Branch Level) | Windows 7
Windows 8 Windows 8.1 Windows 10, version 1507 |
rs | Redstone | Windows 10 (version 1607 and later) |
fs | Fire Steel | Windows 11, version 21H2 |
Windows 10 11 月更新(版本 1511)和Windows 10 周年更新(版本1607)使用各自发布分支前缀作为功能分支。此外,fs 分支与 rs 分支并行使用。
发布分支前缀
与之前的系统类似,主分支在发布之前被分叉,从而进行更新的开发。以下是已知前缀:
前缀 | 对应版本 |
---|---|
vista
longhorn lh |
Windows Vista
Windows Server 2008 |
win7 | Windows 7
Windows Server 2008 R2 |
win8 | Windows 8
Windows Server 2012 |
winblue | Windows 8.1
Windows Server 2012 R2 |
th1 | Windows 10, version 1507 |
th2 | Windows 10, version 1511 |
rs1 | Windows 10, version 1607
Windows Server 2016 |
rs2 | Windows 10, version 1703 |
rs3 | Windows 10, version 1709 |
rs4 | Windows 10, version 1803 |
rs5 | Windows 10, version 1809
Windows Server 2019 |
19h1 | Windows 10 (version 1903, 1909) |
vb (Vibranium) | Windows 10 (version 2004, 20H2, 21H2, 22H2) |
mn (Manganese) | Codename "Managanese" |
fe (Iron) | Codename "Iron"
Windows Server 2022 |
co (cobalt) | Windows 11, version 21H2 |
ni (Nickel) | Windows 11 (version 22H2 and later) |
zn (Zinc) | Codename "Zinc"
Windows Server, version 23H2 |
一般分支
以下列出的是 Windows 操作系统的主要分支
xpclient 分支
xpclient 分支见于 Windows XP Release Candidate 2~Release To Manufacturing 期间,这是 xp 的客户端版本。
Windows XP 的 Service Pack 分支
xpsp 分支出现在 Windows XP 的 Service Pack 1-3 包括 Beta 的版本号中。
Windows NT 6.0 重置后至 10.0(Windows Vista——Windows 11)分支列表
fbl_xx往往是各个实验室的推送版本,不同的fbl分支对应不同的实验室。以下分支带*的为猜测。
- Windows NT 6.0
- Windows NT 6.2
分支 | 分支的意义 |
---|---|
fbl_core1_kernel_cptx | Windows Core 1 - Kernel - Computex |
fbl_core1_kernel_ee | Windows Core 1 - Kernel - Ecosystem Engineering* |
fbl_core1_kernel_npc | |
fbl_core1_kernel_npc_ext | |
fbl_core1_mobile_dev | Windows Core 1 - Mobile Platform Development |
fbl_core1_mobile_dev_wp | Windows Core 1 - Mobile Platform Development - Windows Phone |
fbl_core1_soc | Windows Core 1 - SoC |
fbl_core1_soc_partner | Windows Core 1 - SoC for Partners |
fbl_core2_sfs | Windows Core 2 - Storage & File Systems |
fbl_core2_sfs_dev2 | Windows Core 2 - Storage & File Systems Development |
fbl_core2_sid_data | Windows Core 2 - Security & Identity Data |
fbl_core2_sid_dev | Windows Core 2 - Security & Identity Development |
fbl_dev_dp4 | Development - Developer Preview 4* |
fbl_dnt2_bus | |
fbl_dnt3_wireless | Device and Networking Team - Wireless |
fbl_eeap | Ecosystem Engineering Access Program |
fbl_fun_resp | Fundamentals - Reliability, Security, and Privacy |
fbl_grfx | Graphics Platform |
fbl_grfx_dev1 | Graphics Platform Development |
fbl_kits | Windows Kits |
fbl_ie_longhorn | |
fbl_loc | Localization |
fbl_srv | Server |
fbl_srv_wdacxml | |
fbl_uex | User Experience |
fbl_uex_cxe_dev | User Experience - Core Experience Evolved Development |
FBL_UEX_ICP | User Experience - In Control of your PC |
win8_gdr | Windows 8 General Distribution Release |
win8_gdr_phone | Windows 8 General Distribution Release - Windows Phone |
win8_gdr_soc | Windows 8 General Distribution Release - SoC |
win8_gdr_soc_cbt | |
win8_gdr_soc_intel | Windows 8 General Distribution Release - Intel SoC |
win8_gdr_soc_nv | Windows 8 General Distribution Release - Nvidia SoC |
win8_gdr_soc_ti | Windows 8 General Distribution Release - Texas Instruments SoC |
win8_rtm | Windows 8 Release to Manufacturing |
winmain | Windows Main Lab |
winmain_win8beta | Windows 8 Beta |
winmain_win8m1 | Windows 8 Milestone 1 |
winmain_win8m2 | Windows 8 Milestone 2 |
winmain_win8m3 | Windows 8 Milestone 3 |
winmain_win8m3_d | Windows 8 Milestone 3 Debugging* |
winmain_win8m3_eeap | Windows 8 Milestone 3 for Ecosystem Engineering Access Program |
winmain_win8rc | Windows 8 Release Candidate |
- Windows 10 Threshold 1
分支 | 分支的意义 |
---|---|
fbl_1pd | 1st Party Drivers |
fbl_1pd_dev01 | 1st Party Drivers Development |
fbl_1pdxd | 通用桌面环境体验* |
fbl_analog | Analog Platform (Hololens) |
fbl_aow | Android on Windows |
fbl_appmodel_dev03 | UWP Application Model Development |
fbl_awesome1501 | 2015年1月Insider Preview分支 |
fbl_bldsvc | Build Service |
fbl_cde | Connected Device Experience |
fbl_coin | 通用接口* |
fbl_comp | 应用与硬件兼容性 |
fbl_coreinput | 核心输入组 |
fbl_cortana | Cortana |
fbl_cortana_dev01 | Cortana |
fbl_dart_ent | Developer Tools and Runtimes for Enterprise |
fbl_debuggers(dbg) | Windows Debugger (非实际lab) |
fbl_desk | Desktop User Experience |
fbl_desk_dev02 | Desktop User Experience Development |
fbl_dice | Device Interaction and Connection Experience |
fbl_dnet | Devices and Networking Experience |
fbl_enf | Ecosystem and Frameworks |
fbl_epix | Engineering Partner Infrastructure and Experience |
fbl_epix_dev01 | Engineering Partner Infrastructure and Experience Development |
fbl_epix_kits | Engineering Partner Infrastructure and Experience Kits |
fbl_fasttrack | Fast Track |
fbl_feedback | Feedback Hub |
fbl_gdx_dev_p | DirectX Graphics Development |
fbl_grfx | 图形平台 |
fbl_grfx_dev | 图形平台 |
fbl_grfx_dev1 | 图形平台 |
fbl_grfx_dev_p | 图形平台 |
fbl_hyp | Virtualization |
fbl_ie | IE浏览器 |
fbl_ie_app_eal | |
fbl_ie_app_eal_ing | |
fbl_ie_stage_dev03 | Internet Explorer Platform Development - Microsoft JScript |
fbl_impressive | Insider Preview |
fbl_impressive_cxe | Insider Preview - Customer Experience Engineering |
fbl_impressive_mob | Mobile Insider Preview |
fbl_impressive_p1 | Insider Preview |
fbl_impressive_p1_p2 | Insider Preview |
fbl_impressive_srvr | Server Insider Preview |
fbl_iot | Internet of Things |
fbl_iot_client | Internet of Things Client Application |
fbl_kpg | 内核平台组 |
fbl_kpg_kernel_wow | Kernel Platform Group Windows On Windows |
fbl_kpg_platarch | Kernel Platform Group Platform Architecture |
fbl_lad | 授权与部署 |
fbl_maps | 地图应用 |
fbl_marketplace | One Store |
fbl_marketplace_dev01 | One Store |
fbl_mediaplat | 媒体平台 |
fbl_mediaplat_dev02 | Media Platform Development |
fbl_mgmt | Operating System Management |
fbl_mgmt_dev02 | Operating System Management Development |
fbl_mobcon | 移动连接性* |
fbl_mobs | 移动服务* |
fbl_mobs_dev02 | 移动服务* |
fbl_msa | 微软账户 |
fbl_net10_direct | |
fbl_net10_locnfc | |
fbl_net10_security | |
fbl_net10_stack | |
fbl_outlook | Outlook |
fbl_partner | Partner |
fbl_partner_eeap | 工程师访问计划 |
fbl_partner_intelsoc | Intel SoC Partner |
fbl_partner_qc | Qualcomm SoC Partner |
fbl_partner_outXX | 合作伙伴版本第XX号 |
fbl_photos | 照片应用 |
fbl_ppi | 灵敏触控(Surface Hub) |
fbl_refactor_coresys | ASPvNext |
fbl_release | 技术预览 |
fbl_release_currentfr | Technical Preview - Current Flighting Release |
fbl_release_kitp1 | Technical Preview Kits |
fbl_release_kitp1_kitp2 | Technical Preview Kits |
fbl_release_september | 2014年9月技术预览更新 |
fbl_release_tp | Technical Preview |
fbl_sec | 安全 |
fbl_sec_oss1_dev | Operating System Security Development |
fbl_sec_oss3 | Operating System Security |
fbl_sfp | 文件保护* |
fbl_shell1_dev_cde1 | Windows Shell Development - Connected Device Experience |
fbl_shell1_dev_cortana1 | Windows Shell Development - Cortana |
fbl_shell1_dev_desk | Windows Shell Development - Desktop User Experience |
fbl_shell1_dev_desk_a | Windows Shell Development - Desktop User Experience |
fbl_shellinput | 外壳与输入* |
fbl_siplat | Silicon Platform |
fbl_speech | 语音平台 |
fbl_speech_mpc | |
fbl_spmi | 安全包装管理接口 |
fbl_srv2_ci_mgmt_rel | Windows管理框架 |
fbl_srv3_rds_clouddv_stable | RemoteApp |
fbl_srv5 | |
fbl_waas | Windows as a Service |
fbl_wicore | Windows核心* |
fbl_xaml_dev02 | XAML Development |
th1 | Windows Threshold 1 Main Lab |
th1_d_bugfix | |
th1_escrow | Windows Threshold 1 Escrow |
th1_ldr | Windows Threshold 1 Limited Distribution Release |
th1_st1 | Windows Threshold 1 Stage 1 |
th1_st1_apps | Windows Threshold 1 Stage 1 Apps |
th1_st1_apps_dev01 | Windows Threshold 1 Stage 1 Apps Development |
th1_st1_eeap | Windows Threshold 1 Stage 1 for Ecosystem Engineering Access Program |
th1_st1_winset | |
winmain | Windows Main Lab |
winmain_prs | Windows Main Lab for Partners |
winmain_prs_p1 | Windows Main Lab for Partners |
winmain_prs_p1_p2_p3 | Windows Main Lab for Partners |
winmain_wtr |
- Windows 10 Threshold 2
- Windows 10 Redstone 1
- Windows 10 Post-Redstone 1 至 Windows 11
分支 | 分支的意义 |
---|---|
19h1_release | Windows 19H1 Release(Windows 10 和 Windows Server 版本 1903、Windows 10 和 Windows Server 版本 1909) |
co_release | Windows Cobalt Release(Windows 11) |
fe_release | Windows Iron Release(Windows Server 2022) |
feature2 | Windows 10 Mobile Feature 2 Release |
feature2_prs | Windows 10 Mobile Feature 2 Release for Partners |
mn_release | Windows Manganese Release |
ni_release | Windows Nickel Release(Windows 11 版本 22H2) |
rs_analog | |
rs_analog_bev | |
rs_analog_devplat | |
rs_analog_domino | |
rs_analog_domino_dev1 | |
rs_analog_domino_dev2 | |
rs_analog_experiences | |
rs_analog_experiences_fod | |
rs_analog_experiences_pkg | |
rs_analog_runtime | |
rs_analog_shell | |
rs_analog_shell_cleanup | |
rs_analog2 | |
rs_analog2_speech | |
rs_analog2_speech_audio | |
rs_analog2_speech_dev1 | |
rs_analog2_speech_dev2 | |
rs_analog2_speech_ox | |
rs_apps | Apps |
rs_apps_comms | Apps - People, Phone & Messenger App |
rs_apps_comms2 | Apps - People, Phone & Messenger App |
rs_apps_maps | Apps - Maps App |
rs_apps_maps_a | Apps - Maps App |
rs_apps_new | |
rs_apps_people | Apps - People App |
rs_apps_photos | Apps - Photos App |
rs_apps_tc | |
rs_apps_update | Apps - Update |
rs_apps_utils | Apps - Utilities |
rs_apps_validate | Apps - Validate |
rs_build | Build |
rs_build_dev100 | |
rs_cpub | Content Publishing |
rs_cshell | Composable Shell |
rs_cshell_coreux | Composable Shell - Core User Experience |
rs_cshell_partner2 | |
rs_cshell_partner2_dev | |
rs_cshell_partner3 | |
rs_cshell_partner3_dev | |
rs_cshell_rs2 | Composable Shell for Redstone 2 |
rs_cshell_rs2_mobile | Composable Shell for Redstone 2 Mobile |
rs_cshell_rs2_partner | Composable Shell for Redstone 2 for Partners |
rs_cshell_rs2_win32 | Composable Shell for Redstone 2 Desktop |
rs_devices | |
rs_edge | Microsoft Edge |
rs_edge_app | Microsoft Edge App |
rs_edge_app_arition | Microsoft Edge Apparition* |
rs_edge_app_eal | Microsoft Edge Appeal* |
rs_edge_app_lause | Microsoft Edge Applause* |
rs_edge_app_lique | Microsoft Edge Applique* |
rs_edge_app_lique_ice | Microsoft Edge Applique Ice* |
rs_edge_app_lique_refactor | Microsoft Edge Applique Refactor* |
rs_edge_app_ogee | Microsoft Edge Appogee* |
rs_edge_app_x | |
rs_edge_case | |
rs_es | Engineering Systems |
rs_es_analog | |
rs_es_buildexe | |
rs_es_cache | |
rs_es_cache_money | |
rs_es_debug | |
rs_es_debug_badev | |
rs_es_debug_dev | |
rs_es_debug_rel | |
rs_es_domino | |
rs_es_domino_auto | |
rs_es_domino_bat | |
rs_es_domino_hq | |
rs_es_git | |
rs_es_infra | |
rs_es_infra_red | |
rs_es_mbs | |
rs_es_mbs_dev9 | |
rs_es_mbs_langonly | |
rs_es_mbs_tc | |
rs_es_media | |
rs_es_media_refresh | |
rs_es_mirror | |
rs_es_onecore | |
rs_es_onecore_dev | |
rs_es_ospilot | |
rs_es_ostools | |
rs_es_ostools_dev | |
rs_es_ostools_drop | |
rs_es_perf | |
rs_es_scm | |
rs_es_scm_dev1 | |
rs_es_scm_dev2 | |
rs_es_scm_ppe | |
rs_es_sign | |
rs_es_sign_dev | |
rs_es_sign_prs | |
rs_es_srcmgmt | |
rs_es_srcmgmt_dev1 | |
rs_es_srcmgmt_dev2 | |
rs_es_srcmgmt_git2 | |
rs_es_srcmgmt_git2_bldsvc | |
rs_es_taef | |
rs_es_tdx | |
rs_es_ug | |
rs_es_xbox | |
rs_es2 | |
rs_es2_dev100 | |
rs_es2_tc | |
rs_fasttrack | Fast Track |
rs_fun | Fundamentals |
rs_fun_compat | Fundamentals - Application Compatibility and Device Compatibility |
rs_fun_compat_auto | |
rs_fun_compat_dev1 | Fundamentals - Application Compatibility and Device Compatibility Development |
rs_fun_compat_dev1_apr | Fundamentals - Application Compatibility and Device Compatibility Development - Compatibility Appraiser |
rs_fun_compat_dev1_apr1705 | Fundamentals - Application Compatibility and Device Compatibility Development - Compatibility Appraiser - May 2017 |
rs_fun_compat_dev1_proto | Fundamentals - Application Compatibility and Device Compatibility Development - Prototype |
rs_fun_deploy | Fundamentals - Deployment |
rs_fun_deploy_dev1 | Fundamentals - Deployment Development 1* |
rs_fun_deploy_dev2 | Fundamentals - Deployment Development 2* |
rs_fun_deploy_dev3 | Fundamentals - Deployment Development 2* |
rs_fun_flight | Fundamentals - Flighting |
rs_fun_idt | |
rs_fun_idt | |
rs_fun_idt_dev1 | |
rs_fun_isolate | Fundamentals - Isolation* |
rs_fun_phdi1 | |
rs_fun_phdi1_dev01 | |
rs_fun_phdi3 | |
rs_fun_phdi4 | |
rs_fun_phdi4_dev01 | |
rs_fun_pkg | |
rs_fun_pkg_dev1 | |
rs_fun_srvperf | Fundamentals - Server Performance* |
rs_fun_uup | Fundamentals - Unified Update Platform* |
rs_fun_uup_dev1 | Fundamentals - Unified Update Platform Development* |
rs_git | |
rs_git_analogrs3_perf | Analog for Redstone 3* |
rs_git_debug | |
rs_git_debug_badev | |
rs_git_debug_dev | |
rs_git_debug_dev_git | |
rs_git_sum | |
rs_git_sum_git | |
rs_git_sum_git_dev1 | |
rs_git_sum_git_ppe | |
rs_git_sum_git_stable | |
rs_hololens | HoloLens |
rs_iot | Internet of Things |
rs_onecore_sigma | Silicon, Graphics, Media and Audio |
rs_shell_vcoreux | Windows Shell - Core User Experience |
rs_shell_vtextinput | Windows Shell - Text Input Platform |
rs_prerelease | Insider Preview |
rs_prerelease_flt | Insider Preview Flighting |
rs_prerelease_prs | Insider Preview for Partners |
rs_xbox | Xbox |
rs_xbox_nonxbox | Xbox - Non-Xbox |
rs2_release | Windows Redstone 2 Release(Windows 10 版本 1703) |
rs2_release_edu | Windows Redstone 2 Release - Education*(Windows 10 版本 1703 教育分支) |
rs3_release | Windows Redstone 3 Release(Windows 10 和 Windows Server 版本 1709) |
rs4_release | Windows Redstone 4 Release(Windows 10 和 Windows Server 版本 1803) |
rs5_release | Windows Redstone 5 Release(Windows 10 和 Windows Server 版本 1809) |
rsmaster | |
vb_release | Windows Vibranium Release |
WSDGauntlet |