
我经常在帮人远程排查电脑问题时第一句话就会问你电脑是什么Windows版本结果十次里有八次对方只能回答“Windows系统吧”或者“好像是Win10还是Win11我忘了”。这也不能怪大家毕竟Windows版本号这玩意儿平时确实没人会天天盯着看。但等到装软件、装驱动、打游戏或者排查蓝屏的时候版本号就成了最关键的线索。这篇文章我就把查Windows版本号的五种常用方法一次讲透。不光是告诉你“怎么按”还会把每个方法背后的原理、适用场景和容易踩的坑都摊开讲。无论你是零基础小白还是需要批量管理的运维都能从这里找到适合自己的办法。1. 先搞懂Windows版本号到底在说什么很多教程上来就教你怎么查但我发现如果不搞明白“版本号”这三个字代表着什么查完了也是白查——屏幕上明明写着“版本 22H2”和“OS 内部版本 19045.4046”你却不知道该拿哪一串数字去对答案。1.1 Windows版本号的三层结构简单来说Windows版本号可以拆成三层来看。第一层是市场名称比如Windows 10、Windows 11这是微软用来做宣传的称呼告诉你手上是哪一代系统。第二层是功能更新版本比如22H2、23H2、24H2。这里的“H2”代表下半年发布“22”代表2022年。也就是说22H2就是2022年下半年推出的那次大版本功能更新。微软每年大概会做一两次这样的功能更新每次更新完系统里的一些功能会变但整体的系统代次没变。第三层是操作系统内部版本号Build这才是真正的技术核心。它通常显示为类似“22631.4460”这样的格式小数点前面是主版本号小数点后面是累计更新的修订号。因为微软每个月都会推送安全补丁和修复更新主版本号不变但后面的修订号会一直往上加。所以哪怕你两款电脑都显示“Windows 11 23H2”只要补丁打的不一样Build号就会不同。这个三层结构你可以理解成汽车品牌型号是Windows 11年款是23H2而底盘编号和出厂批次就是Build号。你平时报保险也好、买配件也好光说“我开的是轿车”肯定不行得报出具体的年款和型号一个道理。1.2 为什么Windows 10和Windows 11都是NT 10.0这里必须说一个特别容易把人绕晕的现象Windows 10和Windows 11底层的NT版本号都叫“10.0”。早期Windows版本里NT版本号和系统代次是对应的比如Windows 7的NT版本号是6.1Windows 8是6.2Windows 8.1是6.3。但到了Windows 10微软把内核版本直接定成了10.0之后Windows 11虽然市场名称变成了新的一代底层内核架构却延续了Windows 10的代码基础所以NT版本号依然保持10.0。如果你在systeminfo或者PowerShell里看到“OS 版本: 10.0.26100”这并不能直接帮你判断这是Win10还是Win11。真正区分系统代次的是Build号的主版本段系统代次典型Build号范围说明Windows 10 旧版本10240 - 19045从2015年的Build 10240到22H2的19045Windows 11 早期版本22000 - 2263121H2到23H2对应的BuildWindows 11 24H226100起2024年发布的新功能版本看到Build号以22000开头基本可以确定是Windows 11看到19045就肯定是Windows 10的最后一个版本。记住这个规律在很多场景下比单纯看系统名称有用。1.3 系统SKU和版本号是两码事还有一个容易混淆的地方Home版、Pro版、企业版这些在Windows里叫“SKU”库存单位跟“版本号”不是一回事。SKU决定了你拥有哪些功能权限比如能不能加域、能不能用BitLocker、能不能用组策略。版本号则决定了你的系统有多“新”能否获得某些新功能或者新补丁。我见过有人拿着一个“Windows 11 专业版”的系统却抱怨说版本号怎么和别人不一样。因为版本号是微软推送的专业版、家庭版在同一时间的Build号基本是一致的只是一些功能开关不同。区分清楚这两个概念后续排查问题时思路会清晰很多。2. 方法一设置界面查看版本号零基础用户首选如果要推荐一个最直观、最适合远程指导手机那头的父母操作的方法我会首推设置界面。这个路径不需要记忆什么命令一步一步点就行了。2.1 具体操作路径在Windows 11上点击开始菜单选择齿轮图标的“设置”然后左侧找到“系统”右侧往下滑找到“关于”点进去就能看到“Windows规格”区块里面写着“版本 23H2”、“OS 内部版本 22631.4460”、“体验 Windows 功能体验包”等信息。在Windows 10上路径差不多也是“设置” “系统” “关于”然后在窗口右侧的“Windows规格”里查看版本和OS内部版本。这里有个小提醒Windows 11在24H2版本之后部分系统设置界面的布局有小改动有的版本会把“关于”改成“系统信息”但其实内容差不多看到“系统”下面有“关于”或者“系统信息”就点进去不会错。2.2 设置界面里还能看到什么除了版本号和Build号这个页面往下拉还会有一个“设备规格”区块能看到处理器型号、内存大小、系统类型比如“64位操作系统基于x64的处理器”。这些信息在装软件、选驱动或者判断电脑能不能升级的时候都很有用。比如你下载一个软件安装包网站往往提供64位和32位两个版本这时候看一眼“系统类型”如果是64位操作系统就优先装64位版本性能和兼容性都更好。2.3 这个方法的优点和局限优点很明显不需要记命令图形界面一目了然哪怕是第一次用电脑的人只要识字就能找到。缺点呢就是操作路径稍微长了点而且有些精简版或者修改版系统可能会把设置里某些页面剪裁掉这时候就要用下面的命令行了。另外一个小细节设置里显示的“OS 内部版本”可能不带小数点后面的修订号比如只显示“19045”而不是“19045.4046”。如果你需要通过完整Build号判断系统是否打了某个特定补丁建议配合后面提到的命令方式拿到的信息会更全。3. 方法二winver命令WinR三秒搞定如果让我只教一个查版本号的方法我会教winver。没有别的原因就是快真的快。每次远程帮朋友看系统版本我基本都是这样说的“你先按一下键盘上的Win键和R键在弹出的小框里输入winver回车。”三步走完版本信息就弹出来了。3.1 操作方式详解按WinR组合键会打开“运行”对话框。在输入框里键入winver然后回车或者点“确定”。屏幕正中央会弹出一个“关于Windows”的小窗口里面直接写着当前系统的版本信息和版权声明。这个窗口长这样第一行通常显示“Windows 11 专业版”这种系统名称第二行显示“版本 23H2”第三行显示“OS 内部版本 22631.4460”微软为什么把这个命令起名叫winver其实就是“Windows Version”Windows版本的缩写。这个命令从很老版本的Windows就有了可以说是个祖传工具而且它内部调用的就是系统关于对话框读取的是系统配置里的版本信息。3.2 winver弹窗信息怎么看弹窗里最容易让人迷惑的就是“OS 内部版本”这一项。它和小数点前面的Build号直接对应你系统当前的实际构建版本。后面那串数字如果在持续增长说明Windows Update一直在给你推送累计补丁。你可以在微软官方的更新历史页面去查这个Build号确认自己的系统是否已经包含了某个安全补丁。说实话对大多数普通用户来说只要知道“版本 23H2”和“OS内部版本 22631.4460”这两个信息就够了不用深究别的。3.3 命令行的兄弟方式winver除了在“运行”里打开在命令提示符或者PowerShell里直接输入winver回车效果也是一样的会弹出那个图形窗口。不过这里有个尴尬的地方如果你想在批处理脚本里自动读取版本号并在屏幕上显示用winver是不行的因为它弹的是图形窗口没法把结果输出到文本里。这时就要用到注册表读取或其他命令后面方法五会详细讲。简单场景下winver是一把最快的刀但要自动化处理就得换工具。我自己的习惯是远程指导新手用户查版本时永远第一优先教winver因为它最不容易出错。有些用户连设置在哪都找不到但运行框输入命令反而记得住。4. 方法三systeminfo命令信息最全的查看方式如果说winver是“快速看一眼”那systeminfo就是“一次看个够”。这个命令会把你整个系统的基本配置全部列出来包括系统名称、系统版本、补丁情况、网卡信息、内存大小甚至BIOS日期信息量非常大适合稍微懂点技术的人用来全面摸底。4.1 怎么运行systeminfo先打开命令提示符按WinR输入cmd回车或者在开始菜单里搜索“命令提示符”“PowerShell”或“终端”打开后输入systeminfo然后回车。系统会扫描本机信息并一行行显示。最开头几行就是我们关注的OS 名称: Microsoft Windows 11 专业版OS 版本: 10.0.22631 暂缺 Build 22631系统类型: x64-based PC注意这里显示“OS 版本: 10.0.22631 暂缺 Build 22631”里的“暂缺”两个字是因为在英文原版系统里大概是“Version 10.0.22631 N/A Build 22631”这种格式本地化之后“N/A”被翻译成了“暂缺”看起来有点奇怪但不用管它意思就是说Build号是22631。4.2 从输出里提取关键字段systeminfo输出的内容很长如果只是想快速看版本没必要把几十行全部读完。可以直接用管道命令过滤只挑我们关心的字段。在命令提示符里输入systeminfo | findstr /C:OS 名称 /C:OS 版本 /C:系统类型在PowerShell里也可以systeminfo | Select-String OS 名称,OS 版本,系统类型这样屏幕就只显示和系统版本有关的几行内容了阅读起来清爽很多。不过有个小细节findstr的匹配是逐行找关键字注意关键字要写得和系统输出完全一致中英文版系统里的字段名不同中文系统就写“OS 名称”英文系统就写“OS Name”。4.3 为什么systeminfo有时候很慢很多人在命令行里输入systeminfo后发现光标在那转圈半天不出结果就以为电脑死机了。其实不是systeminfo这个命令会去扫描系统的各种硬件信息、网卡配置、补丁列表等等这个过程需要几秒到十几秒不等机器配置越差、补丁装得越多速度就越慢。如果你赶时间只想查一个版本号用systeminfo其实是有点“杀鸡用牛刀”了。我一般只在需要一次性收集多台电脑的硬件、系统、补丁信息时才会让它完整跑一遍。而且速度太慢还有一个解决办法用PowerShell的CIM查询替代比如(Get-CimInstance Win32_OperatingSystem).Caption (Get-CimInstance Win32_OperatingSystem).Version这个方式不会扫描全机速度要快不少。systeminfo这种重量级命令适合“全面体检”轻量级场景咱们还是选择更精准的工具。5. 方法四dxdiag和msinfo32带图形界面的技术员工具除了设置和命令提示符Windows还自带了几个诊断工具虽然不是专门为“查版本号”设计的但确确实实能看到版本信息而且有时候比设置还直观。这两个工具就是dxdiag和msinfo32。5.1 dxdiag查DirectX和显卡必备dxdiag是DirectX诊断工具通常我们查DirectX版本、显卡信息或者音频驱动时才用到它。操作方式同样是在“运行”框里输入dxdiag回车。打开后在“系统”选项卡下能看到操作系统: Windows 11 专业版 64位 (10.0, Build 22631)DirectX 版本: DirectX 12注意它的显示格式和别的工具不太一样把系统名称、64/32位、NT版本号和Build号写在一行里。这套信息在下载游戏、安装显卡驱动的时候特别有用。因为很多大型游戏对DirectX版本有硬性要求如果你看到自己系统只支持DirectX 11那有些最新3A大作可能就玩不了。5.2 msinfo32系统信息的“大本营”msinfo32是“系统信息”这个工具相当强大打开后左侧一堆分类右侧是详细信息。在“系统摘要”里能看到OS名称、OS版本、系统制造商、BIOS版本/日期、内存、虚拟内存等等一堆信息。它比systeminfo强的地方是界面可以搜索你可以点菜单栏“编辑 查找”输入关键词快速定位信息。在排查硬件驱动问题时用msinfo32比用systeminfo方便得多因为信息是分门别类组织的翻起来很舒服。打开方式还是老规矩WinR输msinfo32回车。这个工具对普通用户可能有点“超纲”但如果你打算给自己的电脑做个完整的“健康档案”学会它绝对不亏。5.3 这三个图形/命令工具怎么选工具专属场景优点缺点winver快速看版本号最快弹窗直观只有版本信息没有别的systeminfo全面体检信息全适合生成系统报告扫描慢dxdiag游戏/显卡/DirectX排查DirectX版本一目了然定位局限看总体版本不如winvermsinfo32驱动/硬件排查分类清晰可搜索打开略慢我自己常用的是这样的组合日常快速确认版本用winver需要装显卡驱动或者排查游戏问题用dxdiag给人远程排查硬件驱动故障用msinfo32要出一份完整的环境报告才上systeminfo或者PowerShell脚本。6. 方法五PowerShell、注册表和批处理脚本批量排查时真正好用的方案如果你只是折腾自己的电脑前面四种方法足够了。但如果你是IT运维或者经常帮人排查电脑就会遇到一个新的痛点几十台电脑难道每台都去点设置、敲winver肯定不现实。这时候就要用PowerShell或者注册表读取来实现快速、批量、自动化的版本号获取。6.1 注册表里的版本号存放位置Windows把自身的版本信息存在注册表里具体路径是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion这个键下面有几个关键字段ProductName系统名称比如“Windows 11 专业版”DisplayVersion功能更新版本比如“24H2”较新的Win10/Win11才有CurrentBuild当前Build主版本号比如“26100”UBRUpdate Build Revision更新构建修订号和CurrentBuild组合起来就是完整的“Build 26100.3612”ReleaseId旧版Windows 10里用来标识版本比如“1809”新系统里已经不太用它了EditionID系统SKU比如“Professional”所以如果你想“看”版本号本质上就是“读注册表”的过程。winver弹窗、设置页面显示的版本信息背后都是这些数据。6.2 用PowerShell快速读取在PowerShell里一行命令就能把这些字段全拉出来Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion | Select ProductName, DisplayVersion, CurrentBuild, UBR执行结果会整齐显示成一个表格ProductName DisplayVersion CurrentBuild UBR ----------- -------------- ------------ --- Windows 11 专业版 24H2 26100 3612这样Build号就是26100.3612看得清清楚楚。如果你只看不想动注册表还有更简单的cmdlet(Get-CimInstance Win32_OperatingSystem).Caption (Get-CimInstance Win32_OperatingSystem).Version这两条分别输出系统名称和NT版本号。从小型脚本的角度来说Win32_OperatingSystem类是Windows管理规范WMI里最常用的类很多远程管理工具都在背后调用它。6.3 批处理脚本适合直接发给同事有些运维环境里对方机器未必开了PowerShell执行策略或者对方就是习惯用cmd批处理。那就给他一个bat脚本双击运行就能把版本信息显示出来还能存档。新建一个文本文件重命名为“checkver.bat”内容写echo off echo echo 当前Windows版本信息 echo reg query HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion /v ProductName reg query HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion /v DisplayVersion reg query HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion /v CurrentBuild reg query HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion /v UBR pause右键以管理员身份运行不管理员其实也能读这个键只不过保险起见就能列出所有字段。这个脚本的好处是不依赖PowerShell任何Windows系统都能跑。如果要更“轻”直接在cmd里连续敲reg query命令也行但每次敲那么长一串路径太累做成脚本一劳永逸。6.4 批量获取多台电脑版本号假如你有10台甚至上百台电脑手动一台台跑肯定不现实。如果这些电脑都已经加入了域或者开启了WinRM远程管理可以用PowerShell的Invoke-Command批量执行$computers PC01,PC02,PC03 foreach ($pc in $computers) { Invoke-Command -ComputerName $pc -ScriptBlock { Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion | Select ProductName, DisplayVersion, CurrentBuild, UBR } }如果没开WinRM也可以退而求其次用系统自带的wmic命令老版本Windows适用远程读取但这种方式比较老网络权限限制也多现在很多公司已经不让走这个协议。总体来说批量操作的核心思路都是一样的注册表里的版本号位置是固定的只要远程能执行命令就能拿到数据。这里一定记住一个前提远程执行命令需要本机有权限而且目标机的防火墙、远程管理服务都要放行。否则命令过去会被直接拒绝。我第一次做批量收集时就是没提前确认防火墙状态结果大半个办公室的机器都连不上后来一台台开WinRM才解决。7. 查看版本号时常见的坑和判断技巧写到这里方法基本介绍完了。但我觉得光有方法还不够因为在真实场景里你总会碰到一些奇奇怪怪的情况比如版本号和系统名称对不上、Build号正常但版本号显示不全甚至有人把32位和64位当成版本号。这些坑我一个个说。7.1 “版本”和“系统类型”别搞混经常有用户问“我家电脑是64位的还是32位的”这不是Windows版本的范畴但也常被放一起问。系统类型指的是操作系统和处理器是32位还是64位架构。在“设置 系统 关于”里的“设备规格”区块可以看到“系统类型”也可以右键“此电脑”选“属性”在老版控制面板里看到系统类型。解决办法很简单如果你是64位系统大部分软件都装64位版本如果你是32位系统就只能运行32位软件。分辨方法还是要看“系统类型”这一栏而不是看“Windows 11”还是“Windows 10”。7.2 版本号和补丁更新对不上有一种情况很常见公司要求所有电脑必须升级到某个补丁版本否则不能接入内网。但你在“设置 关于”里看到的版本号和小数点后面的修订号不一定是最新的。因为Windows Update有时会静默失败或者被组策略临时暂停更新。这时候排查思路要清晰先看你当前的Build号是多少再对照微软官方更新历史页面看这个Build号对应的是哪个月的累积更新。如果相差太大就去“设置 Windows 更新”手动检查更新或者重置Windows Update服务。简单说版本号是“实时”的它不会骗你如果它不够新那就说明更新没到位。7.3 系统未激活时能不能查版本号能查而且查得很清楚。Windows激活状态和版本号是完全独立的两件事。版本号是系统安装时就写进注册表的不管你激活不激活注册表里的ProductName、CurrentBuild都在。有些用户误以为“未激活”会导致版本号读不出来其实不会。区别不过是设置里多了一行“Windows未激活”的水印提示版本信息照常显示。还有一些精简版系统制作者把“设置”页面裁剪得七零八落但注册表里的字段通常还在。遇到这种系统优先用注册表方式查。我遇到过一台系统连winver都弹不出来但reg query还是能正常读到版本这就说明注册表是所有查询方式的底牌。7.4 用Build号判断电脑需不需要升级很多普通用户不知道自己的电脑还能不能升级到新版Windows这时候拿Build号来判断就很有用。比如你现在是“19045”开头的Win10系统就可以检查一下硬件是否满足Win11的最低要求决定是否要升级。如果你已经是“22631”开头的Win11 23H2那接下来要考虑的就是是否有资格收到“26100”开头的24H2版本推送。顺带提一个辅助工具微软官方有一个“电脑健康状况检查”程序可以直接评估电脑能否安装Windows 11。但它给的是“能不能升”的结论不会告诉你当前精确的版本号所以在日常查版本这个需求上还是上面几种方法更直接。7.5 版本号“读得懂”比“查得到”更重要我一直觉得查版本号不是目的读懂它才是目的。同样是“版本 22H2”Win10和Win11都有单看功能更新名称容易混淆。但如果你看一眼Build号Win10的22H2是19045Win11的22H2是22621一下就分清了。这就是为什么我总建议大家不要只看“版本”那一行把“OS 内部版本”也拍下来排查问题时会少很多误会。应用软件官网经常要求“Windows 10 版本 1903 或更高版本”很多人一脸懵。其实只要打开winver看一眼如果看到“OS 内部版本 19045”就知道自己妥妥满足要求。如果看到的是1507、1511之类的老Build那就必须先更新系统再说。8. 最后分享一点我自己的排查习惯文章到这儿五种方法都讲完了。每次帮人查版本我的思路基本是这样远程电话沟通先让用户按WinR输winver五秒之内就能看到版本和Build号这是最快的一步如果winver弹不出来我就让他打开设置里的“关于”从图形界面找对新手也友好如果我在现场或者远程连接到了对方的电脑就直接用PowerShell的注册表读取方式顺便把系统的ProductName、CurrentBuild、UBR一起拉出来还能顺便确认机器是不是被IT部门改了镜像包。多说一句很多看起来“读不懂”的电脑问题最后都能追溯到版本号不匹配上。比如某个加密软件必须在Build 19045以上才能运行某个外设驱动只支持Win11 24H2体系这些只要版本号一查马上就定位到了。所以我强烈建议你至少记住winver这一个命令并养成定期看看自己电脑版本号的习惯。下次遇到安装门槛或者兼容性问题你就能第一时间报出准确的系统版本而不是让对面干着急。