无忧启动论坛

标题: 在不安装系统的时候怎么拿到OS版本号 [打印本页]

作者: 千城    时间: 2023-11-23 09:35
标题: 在不安装系统的时候怎么拿到OS版本号
有没有办法从系统镜像iso中直接获取到安装系统后的OS版本号?
这个OS版本号会显示在cmd窗口、关于电脑、winver命令行中
我试过DISM++,好像有时不准确,有没有什么准确的方法,保证跟系统里的OS版本号一致的
作者: 千城    时间: 2023-11-23 09:37
WinNTSetup更是不准确,高版本的都显示错误,而且下面的系统类型也不对
作者: yyz2191958    时间: 2023-11-23 09:44
我也想知道
作者: magicgenius    时间: 2023-11-23 09:57
本帖最后由 magicgenius 于 2023-11-23 10:07 编辑

对于 Win10/11 等ISO 镜像,可用 7-zip 等打开ISO镜像中 sources 下的install.wim。
找到 某卷windows 目录下的 explorer.exe,比如 1\Windows\Explorer.exe ,将其解压出来,右键,属性,详细信息,即可看到版本号。


这个方法也不是很准确。WIN11 22H2/23H2 都显示 22621 ^_^


23H2.png (28.08 KB, 下载次数: 71)

23H2.png

作者: aotuitx    时间: 2023-11-23 10:05
  1. Local $sCurrentBuildNumber = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'CurrentBuildNumber')
  2. Local $sEditionID = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'EditionID')
  3. Switch $sCurrentBuildNumber
  4.     Case '7600'
  5.         $WindowsVer = 'Windows 7 ' & $sEditionID
  6.     Case '7601'
  7.         $WindowsVer = 'Windows 7 ' & $sEditionID & ' SP1'
  8.     Case '9200'
  9.         $WindowsVer = 'Windows 8 ' & $sEditionID
  10.     Case '9600'
  11.         $WindowsVer = 'Windows 8.1 ' & $sEditionID
  12.     Case '10240'
  13.         $WindowsVer = 'Windows 10 ' & $sEditionID & ' 1507'
  14.     Case '10586'
  15.         $WindowsVer = 'Windows 10 ' & $sEditionID & ' 1511'
  16.     Case '14393'
  17.         $WindowsVer = 'Windows 10 ' & $sEditionID & ' 1607'
  18.     Case '15063'
  19.         $WindowsVer = 'Windows 10 ' & $sEditionID & ' 1703'
  20.     Case '16299'
  21.         $WindowsVer = 'Windows 10 ' & $sEditionID & ' 1709'
  22.     Case '17134'
  23.         $WindowsVer = 'Windows 10 ' & $sEditionID & ' 1803'
  24.     Case '17763'
  25.         If $sEditionID = 'EnterpriseS' Then
  26.             $WindowsVer = 'Windows 10 Enterprise LTSC 2019'
  27.         Else
  28.             $WindowsVer = 'Windows 10 ' & $sEditionID & ' 1809'
  29.         EndIf
  30.     Case '18362'
  31.         $WindowsVer = 'Windows 10 ' & $sEditionID & ' 1903'
  32.     Case '18363'
  33.         $WindowsVer = 'Windows 10 ' & $sEditionID & ' 1909'
  34.     Case '19041'
  35.         $WindowsVer = 'Windows 10 ' & $sEditionID & ' 2004'
  36.     Case '19042'
  37.         $WindowsVer = 'Windows 10 ' & $sEditionID & ' 20H2'
  38.     Case '19043'
  39.         $WindowsVer = 'Windows 10 ' & $sEditionID & ' 21H1'
  40.     Case '19044'
  41.         $WindowsVer = 'Windows 10 ' & $sEditionID & ' 21H2'
  42.     Case '19045'
  43.         $WindowsVer = 'Windows 10 ' & $sEditionID & ' 22H2'
  44.     Case '22000'
  45.         $WindowsVer = 'Windows 11 ' & $sEditionID & ' 21H2'
  46.     Case '22621'
  47.         $WindowsVer = 'Windows 11 ' & $sEditionID & ' 22H2'
  48.     Case Else
  49.         $WindowsVer = '无法确定当前系统版本!'
  50. EndSwitch

  51. MsgBox(4096,'',$WindowsVer)
复制代码


我现在用这个。

作者: yjqd    时间: 2023-11-23 10:08
微软的DISM,版本不一样,查看的结果也不一样
作者: 万人之上    时间: 2023-11-23 10:43
学习一下
作者: syzyouling    时间: 2023-11-23 10:55

学习一下.
作者: solodarker    时间: 2023-11-23 11:04
DISM++准吧
作者: lei'yuan    时间: 2023-11-23 11:04
学习学习
作者: wjgyz740526    时间: 2023-11-23 11:05
挂载目标系统的software文件到注册表,然后查看HKEY_LOCAL_MACHINE\11\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber的值

5楼的代码好像有问题,win10运行报错
作者: yzw92    时间: 2023-11-23 11:07
学习一下.
作者: cao8mm    时间: 2023-11-23 11:34
DISM++
作者: 千城    时间: 2023-11-23 12:42
wjgyz740526 发表于 2023-11-23 11:05
挂载目标系统的software文件到注册表,然后查看HKEY_LOCAL_MACHINE\11\Microsoft\Windows NT\CurrentVersio ...

目标系统的software文件在哪个路径?怎么挂到注册表
作者: dshit    时间: 2023-11-23 12:51
我可能会,引导一下系统,就算是不安装也可以调出cmd ,应该可以吧
作者: 千城    时间: 2023-11-23 13:26
dshit 发表于 2023-11-23 12:51
我可能会,引导一下系统,就算是不安装也可以调出cmd ,应该可以吧

用ventor直接加载iso吗还是怎么引导
作者: nfans    时间: 2023-11-23 14:14
本帖最后由 nfans 于 2023-11-23 14:16 编辑
千城 发表于 2023-11-23 12:42
目标系统的software文件在哪个路径?怎么挂到注册表

目标不就是你想要查看的iso嘛……  
具体如何查看,楼上朋友已经贴出来了,再不明白估计都没辙了
  1. 1,解开或挂载ISO\sources\install.wim\1\Windows\System32\config\SOFTWARE(文件无后缀)
  2. 2,用任意注册表编辑器在HKEY_LOCAL_MACHINE下挂载配置单元,也就是从ISO解包得来的SOFTWARE文件,用完后卸载。
复制代码


作者: 千城    时间: 2023-11-23 15:19
nfans 发表于 2023-11-23 14:14
目标不就是你想要查看的iso嘛……  
具体如何查看,楼上朋友已经贴出来了,再不明白估计都没辙 ...

我自己刚找到,是刚才楼上的说的不具体,我百度了一下注册表的位置找到了。还有win10自带的注册表编辑器加载配置单元灰色的用不了,我用regCool加载出来了,谢谢
作者: yc2428    时间: 2023-11-23 15:29
学习
作者: mmymq    时间: 2023-11-23 15:35
学习一下
作者: nfans    时间: 2023-11-23 15:45
千城 发表于 2023-11-23 15:19
我自己刚找到,是刚才楼上的说的不具体,我百度了一下注册表的位置找到了。还有win10自带的注册表编辑器 ...

系统权限原因,只能在HKEY_LOCAL_MACHINE下挂载,前面有回复你没留意而已。
作者: 千城    时间: 2023-11-23 16:10
nfans 发表于 2023-11-23 15:45
系统权限原因,只能在HKEY_LOCAL_MACHINE下挂载,前面有回复你没留意而已。

哦原来如此,感谢
作者: 千城    时间: 2023-11-23 16:12
nfans 发表于 2023-11-23 15:45
系统权限原因,只能在HKEY_LOCAL_MACHINE下挂载,前面有回复你没留意而已。

我发现如果我修改了HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion上的版本信息(CurrentBuild、UBR),重启后会自动恢复,这个是从哪里恢复的?
作者: Bruce65    时间: 2023-11-23 21:23
本帖最后由 Bruce65 于 2023-11-23 21:26 编辑

1/ 在资源管理器中挂载 ISO 文件(在 Windows 11、10 或 8.1 中双击 ISO)
2/ 在分配给 ISO 文件的已安装驱动器号(例如驱动器号 F:)中,打开“sources”文件夹并找到“Installinstall.***”(.wim/.esd.swm)

3/ 在命令提示符下,键入:
- 如果 install.wim,则键入 dism /Get-WimInfo /WimFile:F:\sources\install.wim /index:1
- 如果 install.swm,则键入 dism /Get-WimInfo /WimFile:F:\sources\install.swm /index:1
- 如果 install.esd,则键入 dism /Get-WimInfo /WimFile:F:\sources\install.esd /index:1

作者: oh312    时间: 2023-11-24 08:36
学习一下
作者: 千城    时间: 2023-11-24 09:07
Bruce65 发表于 2023-11-23 21:23
1/ 在资源管理器中挂载 ISO 文件(在 Windows 11、10 或 8.1 中双击 ISO)
2/ 在分配给 ISO 文件的已安装 ...

感谢,原来这应该就是Dism++获取版本信息的方式吧
作者: yaoguoguo820    时间: 2023-11-24 13:49


学习一下
作者: Bruce65    时间: 2023-11-24 18:25
也使用 GimageX:


作者: 千城    时间: 2023-11-24 21:12
Bruce65 发表于 2023-11-24 18:25
也使用 GimageX:

这命令怎么用?
作者: Bruce65    时间: 2023-11-25 04:54
运行 Gimagex.exe,然后:

1-单击“信息”选项卡
2-浏览到您的“install.wim”源位置
3-点击“获取信息”


作者: 千城    时间: 2023-11-25 23:00
Bruce65 发表于 2023-11-25 04:54
运行 Gimagex.exe,然后:

1-单击“信息”选项卡

这个好像跟Dism++获取的方式是一样的
作者: lyeanay    时间: 2023-12-6 16:44
学习一下

作者: 26216307    时间: 2023-12-6 16:50
我也想知道方法




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3