IT之家 3小时前
微软工程师揭秘Win95遗留机制:Shift重启可实现“伪快速启动”
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

IT 之家 1 月 20 日消息,微软资深工程师、Windows 老将 Raymond Chen 于当地时间 1 月 19 日在其专栏《The Old New Thing》中发文,回顾并解释了一个存在于早期 Windows 系统中的小技巧。

在 Windows 95 时代,按住 Shift 键执行重启可跳过完整的冷启动过程(对硬件进行完整的初始化),从而实现一种类似 " 快速启动 " 的效果。然而,这一操作虽然重启速度更快,但并不完全可靠。

在这种情况下,虽然 Win95 屏幕会显示 "Windows 正在重新启动 ",而系统则尝试在不完全重置硬件的情况下重新加载 Windows。

这一行为在概念上与微软后来在 Win8 开始引入的 " 快速启动 " 有相似之处。值得一提的是,Win10 和 Win11 中的 Shift + 重启被改为进入 Windows 恢复环境(WinRE),用途已完全不同。

Raymond Chen 解释称,这一机制源自早期 16 位 Windows 的 ExitWindows 函数。当该函数接收到 EW_RESTARTWINDOWS 时不会直接关机重启,而是尝试执行一次 " 重启 Windows 自身 " 的流程。

IT 之家注:ExitWindows 是一个用于注销 Windows 用户的传统函数,而 EW_RESTARTWINDOWS 参数顾名思义正是用于重启系统。

具体来说,关闭顺序首先从 16 位 Windows 内核开始,随后是 32 位虚拟内存管理器,最后 CPU 切换回真实模式(Real Mode)。此后,系统控制权会返回给引导程序 win.com,并向其发送一个特殊信号,大意是 " 你能再帮我启动一次受保护模式的 Windows 吗?"。

因此,win.com 中的代码会显示 " 请等待 Windows 重新启动… " 的提示信息,同时尝试按照要求让系统重新运行。

需要说明的是,win.com 是基于 DOS 的 Windows 启动程序,用于加载诸如 Windows 95 这样的系统;而 " 真实模式 " 则是为极低配置硬件(如仅 192 KB 内存和软盘驱动器)设计的早期形态,而 " 受保护模式 " 则是具备内存保护、图形界面和完整功能的现代形态。

Chen 进一步指出,从设计上看,.com 文件在启动时会占用全部常规内存。但 win.com 会主动释放未使用的内存空间,以便为受保护模式 Windows 创建一个大的连续内存块。如果在此之前有其他程序对内存进行了碎片化,那么快速重启就会失败,系统只能退回到一次完整的冷启动。反之,如果条件满足,系统便能成功重建虚拟机管理器并启动图形界面,给用户一种无缝快速重启的错觉。

Raymond Chen 补充说明,这一机制并不稳定。据其回忆称,有用户反馈连续执行两次快速重启会导致系统崩溃,但也有人声称可以多次成功使用。他给出一个可能的解释是:某些驱动程序在 " 快速重启 " 过程中未能正确重置,导致系统内存损坏,而这些问题往往直到系统关闭或再次启动时才会暴露出来。

总体来看,这一早期 Windows 的快速重启机制在理念上颇为超前,但由于硬件、驱动和系统架构的限制,始终难以做到稳定可靠。它最终被完整重启机制所取代,却也成为 Windows 演进史中一个 " 有缺陷但很酷 " 的技术尝试。

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

windows 微软 工程师 it之家 win10
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论