微软老员工分享Windows 95的故事:悄然“回滚”外部安装程序 阻止系统被搞崩
过去几年,关于微软 Windows 的各种历史趣事不断被挖出来:比如为啥图形界面策略长期“左右互搏”,Windows 95 安装光盘里藏了哪些小彩蛋,还有那些让老电脑重启更快的冷门技巧等等。最近,又一位微软老员工讲了个鲜为人知的故事——关于 Windows 95 是怎么悄悄对付那些“捣乱”的安装程序的。
据曾在微软负责 Windows 开发的工程师 Raymond Chen 回忆,在 Windows 95 那会儿,很多第三方软件的安装包都会自带一套系统运行所需的组件,就为了确保自家软件能在用户电脑上跑起来。微软当时给开发者的官方建议很明确:安装程序在复制这些组件前,必须先检查系统里有没有同名文件,如果有的话,还得比对版本号;只有当系统里没有这个文件,或者已有版本更旧时,才能覆盖安装。
但现实是,不是所有开发者都照规矩来。有些安装程序压根不管这些,直接把自己的文件往系统目录一扔,把原来的组件替掉,不管系统里的是新是旧。结果呢?原本已经更新过的 Windows 95 关键文件,反而被降级回老版本,导致其他依赖新版组件的软件出问题,甚至直接崩溃,整个系统也变得不稳定。
面对这种“越装越糟”的情况,微软最后搞了个不声不响但特别管用的办法:在系统目录下建了个叫 C:\Windows\SYSBCKUP 的隐藏文件夹,专门存一份最常被乱改的关键系统文件的备份。
每次第三方安装程序跑完,Windows 95 就会在后台偷偷做一件事:把当前系统里的组件和 SYSBCKUP 里的备份一个个比对版本。
要是发现哪个文件被装成了更老的版本,系统就默默把它换回备份里的新版本——整个过程用户完全感觉不到,相当于自动“撤回”了那次错误操作。
反过来,如果安装程序确实带来了更新的组件,Windows 也会同步更新 SYSBCKUP 里的备份,方便以后继续当恢复依据。
Chen 说,从技术角度看,这招其实挺“土”的,但比起微软一开始试过的其他方案,已经好太多了。
比如最早他们想过直接禁止安装程序改系统文件——虽然能保护系统,但结果是大量软件根本装不上,用户只能干瞪眼看着报错。
后来又试过让安装程序写入“假文件”:表面上看覆盖成功了,实际上系统文件根本没动。可这也不行,因为很多安装程序会校验文件内容,一旦发现不对劲,立马报错退出。
折腾一圈下来,还是这个靠 SYSBCKUP 做“事后修复”的办法最靠谱:既让第三方软件能顺利装完,又在背后悄悄修好它可能捅出的篓子,大大降低了普通用户“装个软件就把 Windows 搞崩”的风险。





