-
-
[分享] 时隔3年,ReactOS发布新版 0.4.15
-
发表于:
2025-3-29 00:44
3382
-
[分享] 时隔3年,ReactOS发布新版 0.4.15
前言
ReactOS经过近20年的路程,仍处于Alpha阶段,距离Win2K3的目标有不小距离。随着NT5源码泄露,更是让难以实际使用的ReactOS文档价值再打折扣。然而正是在这样的处境下,ReactOS的社区仍在一直向前,于近期(2025年3月21日)发布了新版0.4.15,距离上一个版本0.4.14发布过去了3年有余,多了近8倍commits。
此时,也是我参与ReactOS贡献约两年半的日子,所以写了这篇文章分享此次发布与我眼中的它。
0.4.15 新版发布
官方公告:ReactOS 0.4.15 released
简单总结:
- 第一段吉祥话就不多寒暄了,选定此日发布意在纪念贡献最久且仍活跃的Eric Kohl,1999年的这天他提交了首个commit。
- PnP:主要部分重写以及一个USB相关修复,使ReactOS大幅提升对硬件和第三方驱动的兼容性
- 音频:加入了更广泛的音频支持和WDK开源的AC'97驱动
- Mm/Cc:重构Section对象实现,也因此得以引入WDK开源的FAT驱动
- Cm:此前强关很容易导致注册表损坏而无法启动,现在实现了注册表修复与缓存机制,稳定性和性能得到大幅提升
- Se:实现内核对象访问权限检查,此前直接Pass
- 附件、系统工具、IME、Shell、RAPPS(自带的程序包管理器)等有益于日常使用上的改进
不巧的是,发布没几日得到了严重问题的反馈,一阶段安装时如果选择了非English语言,二阶段安装会报错。很快有了暂时的解决方案,根本原因社区仍在追踪中。
巧的是,此时我正好完成了对最新VirtualBox(7.1.6)附加工具的兼容,3月24日随着上个问题的修复一同发布了更新:

此前最新的VirtualBox附加工具重写了驱动安装的代码,调用了好几个ReactOS支持有问题且不能从Wine捡现成的NT5 API,我花了点时间跟进,最后修补了crypt32, setupapi, newdev才搞定:

下面附上新版美照:

主要是新主题Mizu起到了一个造型上的作用。
我眼中的它
如前言提到,它的价值一直备受怀疑,但我仍然选择了参与,至今约两年半。当时NT5源码早已泄露,所以我将目光放在了NT6上,提交的功能多与NT6相关,只做了少量NT5的修复。
虽然NT6+的PR会被接受,但进度和投入实在太慢了,社区中有很多对于NT5的固执也间接延缓了NT6的进程。不过社区里大多数开发人员明白,NT5应该进博物馆。Justin Miller加入社区带来UEFI让人眼前一亮,大概从那个时候开始,NT6+和一些大功能陆续出现和提上日程,如发布公告最后提及的:UEFI、SMP、图形化安装、新NTFS驱动、电源管理(好像直接对标了Win8),随之还有大量Wine的同步以及NT6 API的实现。
目前,它仍旧是了解和研究Windows来之不易的资料(尤其是未来会在NT6有更多进展),这方面的价值Wine难以取代。一方面看过源码的话应该会发现,ReactOS如果没有从Wine同步代码而是自己实现,那肯定是有原因的(比如我最近实现的VBox附加工具安装兼容和DLL加载通知,都没有从Wine拿实现);另一方面,ReactOS有自己的NT兼容内核和引导。
我不知道未来会是ReactOS先达到目标还是微软先开源,也不知道它什么时候能步过alpha阶段,但我知道它一直在向前走。我有幸参与其中的九牛一毛,但也能算是有跟着一起往前走了。
GitHub: reactos/reactos

[培训]科锐逆向工程师培训第53期2025年7月8日开班!
最后于 2025-3-29 00:49
被Ratin编辑
,原因: