介绍 ReactOS 0.4.16
摘要
ReactOS 0.4.16 已发布,带来了新的图形安装程序、统一的启动CD和Live CD,并在视频、音频、网络和存储堆栈方面进行了改进。
<p><a href="https://lobste.rs/s/flcppv/introducing_reactos_0_4_16">评论</a></p>
查看缓存全文
缓存时间: 2026/08/29 21:53
# ReactOS 0.4.16 发布公告
来源:https://reactos.org/project-news/reactos-0416-released/
我们很高兴地宣布 ReactOS 0.4.16 版本发布!经过一年半的开发,我们很高兴展示在此期间取得的改进:全新的图形安装程序;统一的启动光盘与实时光盘镜像;视频、音频、网络和存储栈的改进;新的安装类型;以及第三方代码同步。
## 图形安装程序与一体化启动光盘
历史上,ReactOS 提供两种下载镜像:允许在只读环境中测试系统的实时光盘,以及使用文本安装程序将系统安装到硬盘的启动光盘。得益于 Hermès Bélusca-Maïto (hbelusca (https://github.com/hbelusca)) 的努力,ReactOS 0.4.16 现在拥有全新的图形安装程序,并将启动光盘与实时光盘合二为一。现在您可以使用同一镜像测试和安装 ReactOS。
图形安装程序 (https://reactos.org/img/project-news/reactos-0416-released/gui-setup-1.png)图形安装程序
安装或更新 ReactOS (https://reactos.org/img/project-news/reactos-0416-released/gui-setup-2.png)安装或更新 ReactOS
基础分区管理 (https://reactos.org/img/project-news/reactos-0416-released/gui-setup-3.png)基础分区管理
文件复制 (https://reactos.org/img/project-news/reactos-0416-released/gui-setup-4.png)文件复制
图形安装完成 (https://reactos.org/img/project-news/reactos-0416-released/gui-setup-5.png)图形安装完成
您可以在他的系列博客文章中了解 Hermès 的这项工作:
- 第一部分 - 2023年9月:部分同步 Wine setupapi (https://reactos.org/blogs/gui-setup-part1-setupapi/)
- 第二部分 - 2023年10月-11月:实现分区界面功能 (https://reactos.org/blogs/gui-setup-part2-partitioning/)
- 第三部分 - 2023年12月:首次测试 (https://reactos.org/blogs/gui-setup-part3-first-testing-problems/)
## 视频
在 0.4.15 开发期间,核心开发者 Hervé Poussineau (hpoussin (https://github.com/hpoussin)) 为多显示器支持以及当显示驱动加载失败时回退到 VGA 驱动奠定了基础。这为我们继续在 0.4.16 中追求更好的显卡驱动兼容性创造了条件。
多年来,ReactOS 一直受到各大显卡驱动厂商带来的各类问题困扰。NVIDIA GPU 尤其存在卡顿问题,许多才华横溢的贡献者和开发者都对此进行了调查。最终,Justin Miller (The_DarkFire_ (https://github.com/darkfire01)) 发现,在加载第三方驱动时,内核耗尽了系统页表项(PTE)。这种限制在显卡驱动上最为明显,因为它们分配的内存比大多数其他驱动更多。Justin 修改了内存管理器使用的内存布局,以增加系统 PTE 的数量。这解决了 NVIDIA 显卡驱动难以调试的卡顿问题。在 AMD 显卡驱动上,OpenGL 窗口最终显示为空白。这是通过重写 `ExtEscape` 函数解决的,该改进灵感来自已故核心开发者 James Tabor (jimtabor (https://github.com/jimtabor)) 的一个补丁。这些改进增强了稳定性,更好地处理了新设备的资源管理,并修复了 `win32k.sys` 驱动程序中的许多边界情况错误。我们感谢贡献者和开发者付出的时间,因为这些修复需要大量的研究工作。
## 音频
在 0.4.16 之前,ReactOS 对高保真(HD)音频的支持并不完善。HD 音频驱动依赖于总线驱动(`hdaudbus.sys`),包括来自 AMD、IDT、NVIDIA、Realtek 和 SigmaTel 的驱动。我们最初的实现由 Johannes Anderwald (janderwald (https://github.com/janderwald)) 在很久以前编写。该实现从未完成,并且在尝试安装 HD 音频控制器驱动时经常导致系统崩溃。核心开发者 Oleg Dubinskiy (oleg-dubinskiy (https://github.com/oleg-dubinskiy)) 引入了新的 HD 音频总线驱动 `sklhdaudbus` (https://github.com/coolstar/sklhdaudbus) 来替换我们的旧实现。
与 Windows XP 和 Windows Server 2003 兼容的 HD 音频控制器现在应该可以在 ReactOS 0.4.16 中工作。以下视频展示了 Realtek HD 音频控制器在 ReactOS 0.4.16 上运行的情况:
此处本应显示视频,但您的浏览器似乎不支持。
新的 HD 音频总线驱动依赖于内核模式驱动框架(KMDF)。Microsoft 已将 KMDF 作为 `Windows-Driver-Frameworks` (https://github.com/microsoft/Windows-Driver-Frameworks) 仓库的一部分开源。Justin 为新的 HD 音频总线驱动引入了 KMDF,现在我们可以使用 KMDF 来引入或开发其他驱动。
Oleg 还修复了声音属性(`mmsys.cpl`)和音频音量混音器(`sndvol32.exe`)中的音量和平衡滑块。现在,使用 HD 音频编解码器时,音量和平衡级别会在重启后保存和恢复。此外,Oleg 更新了音频设备枚举代码以支持更多声卡。更重要的是,通过对即插即用(PnP)栈和 SetupAPI 的一些修复,Oleg 改善了与 Windows 音频栈的二进制兼容性。
## 存储
自 2009 年以来,ReactOS 一直使用 UniATA 存储驱动来支持 SATA、AHCI 以及大于 8GB 的分区。这在当时对 ReactOS 帮助巨大,但如今 UniATA 是导致启动缓慢和在许多设备上加载失败的罪魁祸首,并导致可怕的 `INACCESSIBLE_BOOT_DEVICE` (`0x7B`) 系统崩溃。ReactOS 0.4.16 引入了由贡献者 Dmitry Borisov (disean (https://github.com/disean)) 开发的新 ATA 驱动。这个新的 ATA 驱动使 ReactOS 能在更多环境中启动,包括 Hyper-V 第一代虚拟机。
2021 年,我们引入并启用了开源的 Microsoft FastFAT 驱动。不幸的是,这破坏了我们使用 chkdsk 修复 FAT 分区的能力。核心开发者 Doug Lyons (Doug-Lyons (https://github.com/Doug-Lyons)) 修复了我们的 FAT chkdsk 例程以与 Microsoft FastFAT 驱动配合工作。
核心开发者 Mark Jansen (learn-more (https://github.com/learn-more)) 在 ReactOS 0.4.16 中添加了磁盘清理工具。该磁盘清理工具兼容 Windows 磁盘清理工具的扩展,允许第三方程序清理磁盘使用情况以及操作系统本身。
磁盘检查 (https://reactos.org/img/project-news/reactos-0416-released/chkdsk.png)磁盘检查
磁盘清理 (https://reactos.org/img/project-news/reactos-0416-released/cleanmgr.png)磁盘清理
## 网络
在 ReactOS 0.4.15 开发期间,Dmitry 引入了新的 DC21X4 网络适配器驱动以提高硬件兼容性。该驱动用于搭载基于 DECchip 21x4 网络适配器的设备,以及虚拟化环境如 Microsoft Virtual PC 2007 和 Hyper-V 第一代虚拟机。现在 ReactOS 0.4.16 可以在这两种环境中启动并访问互联网。
ReactOS 0.4.16 还增加了异步连接支持。这通过允许应用程序执行网络操作而不阻塞来提高网络性能。这同时也提高了应用程序兼容性,因为许多程序假设这些异步连接 API 始终存在。
## ReactOS Server Core
ReactOS 支持工作站和服务器安装类型。在工作站安装中,默认启用的图形选项比服务器安装更丰富。此外,工作站安装中的用户文件夹目前位于“我的文档”文件夹内,尽管 Windows Vista 及更高版本已将这些文件夹移出“文档”文件夹(适用于服务器和工作站安装)。
出于希望看到 ReactOS 在服务器和嵌入式环境中更广泛使用的想法,核心开发者 Carl Bialorucki (cbialorucki (https://github.com/cbialorucki)) 添加了 Server Core 安装类型。此安装类型禁用了图形化的资源管理器外壳,但会加载完整的 Win32 子系统。ReactOS Server Core 的工作方式类似于 Windows Server 2008 中引入的 Windows Server Core。
服务器核心安装选项 (https://reactos.org/img/project-news/reactos-0416-released/server-core-1.png)服务器核心安装选项
启动进入服务器核心 (https://reactos.org/img/project-news/reactos-0416-released/server-core-2.png)启动进入服务器核心
在服务器核心中运行程序 (https://reactos.org/img/project-news/reactos-0416-released/server-core-3.png)在服务器核心中运行程序
## 第三方代码同步
ReactOS 在其代码库中利用了其他几个开源项目。我们利用的最大的开源项目之一是 Wine (https://gitlab.winehq.org/wine/wine),它是为类 Unix 操作系统重新实现的多个 Windows API。ReactOS 使用的是一个直接与类似 Windows 内核交互的 Wine 分支,而不是将调用转换为类 Unix 系统调用。
多年来,由于兼容性考虑(避免采用比 Windows Server 2003 更新的 API),ReactOS 一直局限于 Wine 2.x 和 3.x 版本。在 0.4.15 开发周期的末期,我们放弃了这种严格遵循 Windows Server 2003 兼容性的做法,这使我们能够将 Wine 分支缓慢更新到 Wine 10.0。此次升级仍在进行中,但 0.4.16 版本中已包含大量此工作的成果。我们预计,在将版本提升至 Wine 10.0 的基础上,更新到 Wine 11.0 或更高版本将变得更加容易。
目前,ReactOS 发布镜像仍然仅使用 Windows Server 2003 导出进行编译,因为有多个程序期望所有 Windows Vista 及更新版本的导出都可用,即使只暴露了其中一部分。如果您想尝试 Windows Vista 及更新版本的应用程序支持,请使用 `-DDLL_EXPORT_VERSION` 标志构建 ReactOS。有关如何构建 ReactOS 的说明可在此处获取 (https://reactos.org/wiki/Building_ReactOS)。
ReactOS 发布镜像首次包含了 WineVDM,这增强了与 16 位 Windows 应用程序的兼容性。WineVDM 是由 otya128 (https://github.com/otya128) 开发的项目,可在此处获取 (https://github.com/otya128/winevdm)。
## 结语
ReactOS 的使命是“在一个值得信赖的开源环境中[运行]您喜爱的 Windows 应用程序和驱动程序”。每一次发布都让我们更接近实现这一目标。我们期待与您分享更多的进展和发展。
我们向我们的社区、贡献者和捐赠者致以最深切的谢意。没有我们的贡献者,我们无法取得任何开发进展。没有我们的捐赠者,我们将无法资助测试和托管基础设施或加速进展的开发合同。没有我们的社区,没有人会知道我们的存在。感谢你们让 ReactOS 成为可能!
如果您有兴趣加入我们的社区、为 ReactOS 项目贡献代码或捐款,请访问我们的主页查找我们的捐赠页面、社交媒体链接和我们的 GitHub。
诚挚的,
ReactOS 团队
下载 ReactOS 0.4.16 (https://reactos.org/download/)
## 统计数据
已解决的 Jira 问题:381
提交次数:2808
最古老的已解决 Jira 问题:2009年2月3日的 CORE-3804 (https://jira.reactos.org/browse/CORE-3804)
- 0.4.16 已解决问题 (https://reactos.org/wiki/0.4.16_Resolved_Issues)
- 0.4.16 提交历史 (https://reactos.org/wiki/0.4.16_Commit_History)
releases/0.4.16 (https://github.com/reactos/reactos/tree/releases/0.4.16) 分支于2026年4月28日在提交 bac97c5 (https://github.com/reactos/reactos/commit/bac97c58e25262ccf53dfd7d0de4bed638b65491) 之后从 master (https://github.com/reactos/reactos) 分支创建。
相似文章
ReactOS
ReactOS庆祝其作为开源、兼容Windows的操作系统30周年,近期更新包括测试套件改进、WDDM调查以及招募新开发者。
ReactOS "开源Windows" 达到能够运行 Half-Life 的里程碑
ReactOS,这个旨在实现与 Windows 二进制兼容的开源操作系统,通过成功运行经典游戏 Half-Life 达到了一个里程碑,展示了其28年发展中的显著进展。
用地道 Rust 重写的 Linux 0.11,可在 QEMU 中启动
一个用现代 Rust 重写的 Linux 0.11 内核,可在 i386 上的 QEMU 中启动,包含完整的用户空间(shell 和 coreutils),支持一键构建镜像和 devcontainer 环境。
Sculpt OS 26.04 发布
Sculpt OS 26.04 基于 Genode,引入了实时交互式系统架构,允许用户即时定制和重组组件,将基于 Linux 的驱动更新到内核 6.18,并新增 Qt6、Falkon 浏览器以及原生 Goa SDK,用户无需 Linux 虚拟机即可进行开发。
Redox本月更新 - 2026年5月 - Redox - 你的下一代操作系统
Redox OS,一个用Rust编写的类Unix微内核操作系统,分享了其2026年5月的更新,包括宣布夏季代码项目、实现EEVDF调度器,以及I/O事件和文件系统inode缓存的显著性能改进。