朱玛12345678 发表于 2019-1-26 00:30:12

微软跳过Windows 9的真正原因

首先微软确实开发过Windows 9操作系统,但只编译了内部测试版本并不对外公开发布推送。

测试的一些程序在识别系统版本时似乎会与以前的Windows 9X系列发生冲突,当然MS也发现这种问题基本无解自然就选择跳过了Win9。

事实证明微软的决策是正确的,说到底还是为了万恶的兼容性而不得不放弃命名为Win9。。{:1_185:}

朱玛12345678 发表于 2019-1-26 14:30:24

2012jiashanni 发表于 2019-1-26 10:40
早期windows 10TP预览版的版本也是NT6.4而windows9X的版本号最高是NT4.1 所以不存在因为版本号导致部分 ...

有些程序的识别系统版本代码写的并不那么规范,很多确实是先通过检查NT内核的版本再与这段代码中相对应的值比较来判断,如果是(能找到与之相匹配的文本) 则直接返回该值,如果否(找不到与之相匹配的文本) 则改为通过检查Windows系统的命名来判断。
但这个问题就出在了当时NT6.4只有几个测试版也不起眼,一些程序在检测版本代码中并没有把它加进去。也就是说到了NT6.3后下一个写的是NT10.0,如果这些程序在NT6.4上运行此方案一就不能通过自然会改用方案二判断。
如果按照系统命名来判断,那么新的问题又来了:
因为微软在上个世纪发布过的Windows 9X系统并不止一个版本,现在的很多程序员为了检测方便就写为当检查到前缀为9的时候就直接将其判定为9X系列。这样就导致了新的系统如果微软命名为Windows 9就会被错误地识别为9X系列从而判定系统过旧被Pass掉。图片中遇到的情况也足以说明了这个问题。
实际上解决此问题最简单的一个办法就是在这部分代码中加上个NT6.4=NT10.0就完事,说白了出现这种情况还是程序员偷懒了。

另外并没有什么硬性规定不能把数字9作为版本使用,比如谷歌发布了Android 9.0并没有跳跃版本。厂商对自己的产品版本命名是自由的,是否要考虑兼容和吉凶等其他一系列问题由他们决定。

朱玛12345678 发表于 2019-1-26 00:31:00

微软的产品为了兼容类问题已经放弃了太多,苹果的产品在这一点上就和微软的差别比较大。

fxmmm 发表于 2019-1-26 00:51:23

一个名字而已哪来的兼容性?

朱玛12345678 发表于 2019-1-26 01:02:50

fxmmm 发表于 2019-1-26 00:51
一个名字而已哪来的兼容性?

注意NT6.4和NT10.0的差别

seiise 发表于 2019-1-26 07:19:11

在哪下载?想试试

phe889 发表于 2019-1-26 07:36:12

路过学习一下

二九结狐六体 发表于 2019-1-26 09:19:43

不错啊!可以的

2012jiashanni 发表于 2019-1-26 10:40:17

朱玛12345678 发表于 2019-1-26 01:02
注意NT6.4和NT10.0的差别

早期windows 10TP预览版的版本也是NT6.4而windows9X的版本号最高是NT4.1 所以不存在因为版本号导致部分程序兼容性 问题   就跟Iphone X一样而不是iphone 910 人家只是想换个名字而已 并没有那么复杂

2012jiashanni 发表于 2019-1-26 10:41:21

朱玛12345678 发表于 2019-1-26 01:02
注意NT6.4和NT10.0的差别

而之所以不用NT6.4 而用10.X 是因为微软把win10的NT内核进行了大的升级改进

shusanxi 发表于 2019-1-26 10:54:17

微软是不是win1开始的

adobephoto 发表于 2019-1-26 11:45:55

过来看看的 了解下

董大 发表于 2019-1-26 12:26:22

谢谢分享专业知识,辛苦啦

jssqysb 发表于 2019-1-26 12:49:55

嗯,原来是这样的啊

朱玛12345678 发表于 2019-1-26 14:32:39

2012jiashanni 发表于 2019-1-26 10:41
而之所以不用NT6.4 而用10.X 是因为微软把win10的NT内核进行了大的升级改进

也就类似于换了个外皮,好对外宣称是更先进的新内核,还能多赚赚噱头,实际上NT10.0只不过是套了NT6.4的马甲而已。

朱玛12345678 发表于 2019-1-26 14:35:47

shusanxi 发表于 2019-1-26 10:54
微软是不是win1开始的

先是DOS,后来才有WIN。

2012jiashanni 发表于 2019-1-26 15:26:24

本帖最后由 2012jiashanni 于 2019-1-26 15:27 编辑

朱玛12345678 发表于 2019-1-26 14:30
有些程序的识别系统版本代码写的并不那么规范,很多确实是先通过检查NT内核的版本再与这段代码中相对应的 ...
- - 大哥按照你这个逻辑 windows8 跟 8.1 岂不是更尴尬了???
而且一般判断系统版本都是NT版本号 Windows 9X 的NT版本号开头都是4.X 而windows9如果是NT6.4的话   怎么会判断错误呢????如果不是根据NT版本号 就是注册表了 我实在想不出 一个windows 98/95哪里会跟 windows 9冲突了   就因为前面有9?
另外判断系统版本不是判断他名字的 都是取版本号的 兄弟按照你这个逻辑8.1 跟8 怎么说呢???

还有 人微软取名字 并没有什么冲突什么乱七八糟的原因就跟Windows 2000后 的系统叫windows XPVista后的系统叫windows 7 一样    别听那些SB 自媒体瞎扯

2012jiashanni 发表于 2019-1-26 15:44:35

本帖最后由 2012jiashanni 于 2019-1-26 15:46 编辑

朱玛12345678 发表于 2019-1-26 14:32
也就类似于换了个外皮,好对外宣称是更先进的新内核,还能多赚赚噱头,实际上NT10.0只不过是套了NT6.4的 ...
而且貌似你这图是别人拿泄露的 NT6.4.9883 修改的 并不是真的Windows 9
我是当时国内最早体验windows 10的 [发布预览版当天]所以记得刚开始的版本号
windows NT 6.4. 9860 已经显示为 windows 10 [系统属性LOGO为 windows ]
windows 版本下显示的是 windows TechnicalPreview 而且好几个技术预览版没有中文语言包
怎么可能 windows NT6.4.9883 就改为 windows9 TechnicalPreview 了呢?

这是当时预览版的截图英文的



大自然的园丁 发表于 2019-1-26 16:36:23

本帖最后由 大自然的园丁 于 2019-1-26 16:39 编辑

NT10是强改的版本号,其实是NT6.3,这是网上的传言,不过Windows9,有网上的说是因为棱镜门,这次长见识了,看楼主的截图,那的确是兼容问题。

朱玛12345678 发表于 2019-1-26 18:25:55

2012jiashanni 发表于 2019-1-26 15:26
- - 大哥按照你这个逻辑 windows8 跟 8.1 岂不是更尴尬了???
而且一般判断系统版本都是NT版本 ...

你应该是没有看懂我的意思,我已经说的很明白了。
需要同时满足两个条件才会出现这种问题:NT版本对应检测列表中没有写明有6.4,当命名出现9时直接将其判定为9X。
我简单手打一下很多是这样的:
......
NT6.1=Windows 7
NT6.2=Windows 8
NT6.3=Windows 8.1
NT10.0=Windows 10
你应该看到6.2和6.3对应的8和8.1在代码中已经声明了可以直接返回结果就不存在此问题也不会识别错误,因为6.4不常见很多程序员都没有把它写进去才会导致找不到而出现接下来的问题。如果把6.4也加进去或者取消掉用前缀来识别9X系列的不规范代码就不会出现这种情况,所以这个问题程序员要背锅也就不能去怪微软了。
另外假设微软没有发布命名Windows 9X系列的话也就不会有人会去写这种代码产生这类的问题。

朱玛12345678 发表于 2019-1-26 18:25:57

2012jiashanni 发表于 2019-1-26 15:44
而且貌似你这图是别人拿泄露的 NT6.4.9883 修改的 并不是真的Windows 9
我是当时国内最早体验windows 1 ...

镜像是我找了个有收藏的人要的,不过这个包装的时候提示有损坏的文件会报错。
你应该是记错了6.4的都没有Win10的字样,后来跃升10.0后Win10字样才出现。
这个版本我查了是没有原生中文版本,记得英文如果用不同版本的语言包汉化能改变显示。
另外要说明的一点是微软当时确实是命名为9但后来发现这样不行才改的10,而且当时官方放出的预览版下载链接中写的也是W9TP。

朱玛12345678 发表于 2019-1-26 18:35:08

2012jiashanni 发表于 2019-1-26 15:26
- - 大哥按照你这个逻辑 windows8 跟 8.1 岂不是更尴尬了???
而且一般判断系统版本都是NT版本 ...

其实这个问题没必要去较真,既然微软这么做了就肯定有它的道理,兼容只不过是其中之一而已,而且我们个人也不可能去接管改变这事。

邪恶海盗 发表于 2019-1-26 20:30:07

我记得很久之前就有这种假新闻了...

nttwqz 发表于 2019-1-27 21:04:11

楼主这个图真的Win9??

朱玛12345678 发表于 2019-1-27 21:36:43

nttwqz 发表于 2019-1-27 21:04
楼主这个图真的Win9??

是,只不过BUG很多没法作为日常系统用而已。
也就临时做个测试就没啥用处了

闪电神龙 发表于 2019-1-28 08:35:56

学习了 !

dadaodan 发表于 2019-1-30 12:19:57

2012jiashanni 发表于 2019-1-26 10:40
早期windows 10TP预览版的版本也是NT6.4而windows9X的版本号最高是NT4.1 所以不存在因为版本号导致部分 ...

兄弟,你确定win9x是nt内核?那nt4.0,win2000是啥内核?win9x不是nt内核的,winme也不是。所以他们不兼容ntfs分区。

2623666 发表于 2019-1-30 16:01:05

win10兼容性很广 但是一样不如人意啊

史蒂芬-鲍尔默 发表于 2020-3-4 10:07:08

那么有链接吗?或是有别的图吗?不是我不相信,我只是想看看眼界

朱玛12345678 发表于 2020-3-6 16:54:04

史蒂芬-鲍尔默 发表于 2020-3-4 10:07
那么有链接吗?或是有别的图吗?不是我不相信,我只是想看看眼界

6.4.9883.0.fbl_release.141106-1705_amd64chk_client-professional_retail_en-us.iso
下载链接
腾讯微云:http://share.weiyun.com/5K6xdR2

百度网盘:http://pan.baidu.com/s/1mi3HQJ96B_fEkdZOaBQDPg
页: [1] 2
查看完整版本: 微软跳过Windows 9的真正原因