23
1 月
系统护罩
- By IanGoo
前两天,我引以为傲的系统稳定性——崩了。
家里的台式机——它崩了!
说实话,我这两年重装系统的次数用“屈指可数”来形容可能有点自夸,但是基本上都是换了硬盘必须重装这种事,纯纯因为系统崩掉而被迫重装的次数几乎没有。但是这次也不知道啥情况,可能是前两天因为系统卡死我不得不按了一下硬重启,然后系统就各种不稳当了。
按你胃,这次我还是认为可以实现自救,结果,当系统报“恢复失败”的时候,我无语了。
但是,本质上还是DOS的Windows Me的“系统还原”只是个残次品。因为Windows Me并不是一款WinNT OS,到了Windows XP,这个“理论上第一款面向普通消费者的WinNT操作系统”才搭载了接近完全体的系统还原——虽然不是特别完备,但是比Windows Me上的那个残次品要强太多了。我第一次用系统还原实战并且成功拯救了一台电脑就是在一台DELL Latitude D600的Windows XP上。进入Windows Vista,“系统还原”更名为“系统保护”,并且一直到今天的Windows 11,这个功能都没有大的变化。
从Windows ME到Windows XP,这两者的系统还原的名字都一样,但是背后的技术却完全不同。Windows ME本质上还是文件操作,将文件打包放在%WINDIR%\\System\\Restore
目录当中,但是作为一款Win NT系统,Windows XP能够支持NTFS,而NTFS有一个特性叫卷影复制(Volume Shadow Copy),Windows XP的系统还原被认为是卷影复制的第一个主要应用。
但是,Windows自带的系统还原——现在再回忆一下,我发现它能解决问题的时候屈指可数。这次我不得不重装就是因为它无法解决问题:
首先,系统还原有很大的概率会失败。这次,就直接给我报了个失败。
其次,作为一个操作系统的组件,系统还原能够运行的前提是操作系统没坏到彻底起不来——至少得在安全模式下能跑个CMD或者任务管理器吧——操作系统如果彻底崩了、完全进不去了,系统还原也是彻底废的。
所以,我们有时候还是需要借助一下第三方的力量,不能完全指望Windows自己。
在那个时候,我也对“重装系统”这种破事深恶痛绝,于是,我的解决方案是将系统备份起来。而在那个时候,有一个古老的软件,是系统备份方面的神——不对,应该是鬼才对。
它就是著名的Ghost。我当时装完系统,辛辛苦苦配置完,第一件事就是用Ghost将整个系统盘打包备份好,在当时还是5400rpm机械硬盘、双核CPU、2GB内存的时代,这是一个相当漫长的过程,至少都需要20-30分钟。但是当我的电脑出了任何问题的时候,我都可以抄起Ghost启动盘,将数据从神圣的.gho
文件当中释放出来,覆盖满目疮痍的C盘。

现在再说起Ghost,已经是时代的眼泪了。原主人Symantec早早就放弃了它,Broadcom当了接盘侠,而且这个老炮还在不时更新。最新的12.0已经解决了很多历史遗留问题,比如不支持4K对齐、不支持NVMe协议等等毛病。
但是Ghost仍然是过时了,微软,作为Windows的本家家主,痛下杀手——从Windows Vista开始,WIM面世。透过DISM,可以轻松使用WIM来实现对系统盘的全盘备份,通过Windows PE也可以实现不依赖于系统的备份还原操作,而且作为亲儿子,WIM的技术力也非常高,速度快、体积小,后来微软进一步还推出了压缩率更高的ESD。自从有了WIM备份工具,Ghost也就日渐失宠了。
但是这并不意味着Ghost是彻底没有意义的。事实上,Ghost和WIM/ESD有一个很根本的区别:Ghost是基于扇区的,而WIM/ESD是基于文件的。所以,Ghost是一个更加底层的玩意儿,哪怕是面对一个连鬼都不认识的文件系统,Ghost这个“鬼”都能成功实现磁盘备份。
不过,Ghost也好,WIM/ESD也好,采取的备份方式都相当简单粗暴:将整个磁盘上的所有内容全都复制一遍。毫无疑问,对于动辄十几个GB、外加几十个GB的软件的系统分区,这个过程是漫长且痛苦的。虽然现在的电脑的速度已经远远不是我当时那台老旧的三星R700可比,但是毕竟这也是需要消耗相当时间的操作。
于是,另一种解决方案开始进入了我的脑海。
Contents
增量备份
Arcronis True Image,简称ATI,是一个非常有趣的软件。

如果说Ghost和DISM是一种最简单粗暴的备份的话,ATI的解决方案要灵活得多。第一次使用ATI进行系统备份当然和Ghost、DISM一样,需要将整个磁盘的内容全都打包一下,但是之后——就不用了。ATI支持“增量备份”。
所谓的增量备份,指的是在原始备份的基础上,只记录新增或者删除的文件的记录的备份方法。很显然,增量备份的性能和文件大小远远小于完整备份。除此之外,还有“差异备份”,和增量备份的区别在于,增量备份依赖于原始备份与它之前的所有增量备份,而差异备份仅依赖与原始备份。一张图就能说清楚:

事实上,如果深究一下Volume Shadow Copy的原理,就会发现它其实就是一种文件系统层面上的增量备份。
除了ATI,支持增量备份的软件还是挺多的,比如另一个著名的数据备份软件傲梅。它能够支持完全备份、增量备份和差异备份。
那么,有没有更灵活一些的解决方案呢?
时光机
还是回忆那个PC不是很稳定的时代。
我用着最舒坦的一个保驾护航的软件,叫Comodo Time Machine。

这款软件,是实实在在地好几次救我于水火之中的。
认识Comodo Time Machine的机缘是当时很多人都介绍了Comodo的免费杀毒软件。在Windows XP时代,杀毒软件还是得用的(当时我甚至还买了卡巴斯基的正版,过段时间就要去买一张手机充值卡给杀毒软件充值——对头,用手机充值卡给杀毒软件续费)。装上了Comodo安全套装之后,某天在Comodo的官网上闲逛的时候,一眼看到了这个有些意思的软件——而且正合我意!
果断下载安装。
Comodo Time Machine的机制和Virtualbox等虚拟机的“快照”有些类似,首先需要给当前的受保护分区拍一张“快照”作为Baseline,然后CTM会默默地记录受保护分区当中一切的文件修改,过一段时间后再次拍一张“快照”,“快照”当中记录的就是两个“快照”之间的文件变更记录。
有了这些记录,一旦系统出现了什么幺蛾子,就可以跳回到某个快照的时间点上。这就是Comodo Time Machine的强大之处——它第一不占地方、第二效率很高、第三它还带一个独立于Windows的故障恢复控制台,这样就算是Windows彻底废了,只要硬盘的MBR还活着,它就可以拯救整个操作系统。
在我上大学期间,Comodo Time Machine救场的次数我一只手都数不过来。毕竟上学的时候我的技术还没现在这么好。
但是也不知道为什么,Comodo Time Machine,后来停更了。大概是这个软件开发难度过高,Comodo又无法将它变现吧。所以只能缅怀了。
在CTM死后,我一度使用了一些“邪道”来保证系统的稳定运行,比如Returnil和Deepfreeze之类的软件“冻结”系统,只在需要修改系统的时候解冻。为了能让部分软件的配置可以正常写入,还使用了软连接将部分软件的配置目录重定向到非系统盘,等等等等。但是最终还是放弃了,选择了裸奔。裸奔这几年其实一直都是安安稳稳,除了两次换硬盘、中途机器大升级那几次重大硬件改变之外,基本没有出过什么奇奇怪怪的问题,直到前两天,系统莫名崩了。
这次重装完成后,我开始重新思考CTM这类软件存在的意义。
重装系统,对于我来说并不算是一个有多困难的任务,但是期间要耗费的时间却实在是耗不起。于是,我开始尝试寻找CTM的替代品——也就是这次找到的Rollback Rx Pro。

Rollback Rx是我目前已知的唯一一个可以对CTM 100%替代的软件。但是和完全免费的CTM不同,Rollback Rx是收费的,单个License包含基础价格658块+每年142的维护升级费用(用于免费升级软件,否则升级需要另外购买License)。不得不说,这个价格还是挺贵的。开发商Horizon DataSys支持使用支付宝付款,倒也算相对比较方便。
和CTM一样,Rollback Rx会在安装之后对系统拍一张快照,然后用户可以手动或者按照任务计划对系统定期拍摄快照,这些快照被Rollback称为“安全点”。用户可以随时从Rollback应用当中恢复到之前的“安全点”。安全点可以是锁定的,这样怎么折腾都不会被删除,也可以是非锁定状态,非锁定状态的安全点有可能在一段时间后根据设置被优化掉。
为了应对操作系统被彻底毁坏无法进入的可能性,Rollback Rx和CTM一样在硬盘的引导区写了一个独立于操作系统的小系统,通过这个小系统可以独立于操作系统进行安全点设定与恢复操作。
根据实际测试,由于不需要对整个磁盘的数据进行抓取,因此Rollback Rx建立安全点和恢复到特定快照的速度极快,远快于传统的备份方式。
一些警告
但是,Rollback Rx真的就能长久地保驾护航吗?
在2021年末,Windows 11刚刚推出的时候,Horizon DataSys就对当时的Rollback Rx 11进行了一些测试。结果表明可能存在一些严重的不兼容问题,因此不建议在Windows 11上使用Rollback Rx 11。直到2022年的2月份,也就是Windows 11发布后的三个多月,Horizon才发布了支持新版本操作系统的Rollback Rx。
而今年,是2024年,也是微软计划发布Windows 12的年份。有理由怀疑在Windows 12发布后,Horizon DataSys不一定能够保证Rollback Rx当前的最新版本也就是12.5
对Windows 12的兼容性,而且至少要在三个月后才能端出兼容Windows 12的新版本。在这三个月里,对Windows 12只能暂时观望——或者冒险升级。
所以,有理由相信Rollback Rx并没有那么“独立于操作系统”,更没有那么独立于文件系统,所以,Rollback的快速和高效显然是有代价的。
如果寻求一个完全独立于系统、任凭系统怎么更改怎么折腾都可以顺利实现备份和恢复的解决方案,那肯定还是DISM + WIM/ESD甚至古老的Ghost。
Update 2024-1-29
刚刚发现的一个新特性:如果在子系统当中(也就是开机按Home键进入的小系统)回滚到某个检查点,Rollback Rx会无视用户的排除列表设定,而会将整个分区都滚回去。只有在操作系统当中的Rollback Rx会遵从这一设定。
当然,如果系统彻底完犊子了必须要用Rollback救命的话,丢失一段时间的数据也没啥了,毕竟我都有备份,滚回去之后等一段时间让它们同步回来就好。
Update 2024-3月某天
到这天我才意识到我的操作系统为什么崩掉了——都想不到,是火绒把explorer.exe
给剁了!
万万没想到啊……而事情的起因竟然和360有关。
explorer.exe
有一个检测句柄,检测是否有360在运行,这个设计的本意是为了给360这个本土大流氓留个后门,但是这个行为在完全不知情的火绒看来就是explorer.exe
在执行某种反杀毒软件的机制,那还留着它干啥?于是咔嚓一刀。
那一天,无数用户看着黑屏上孤零零的一个鼠标指针不知所措,包括我在内。
其实这不是个很大的问题,用sfc恢复一下explorer.exe
就行,火绒也光速出了补丁解决这个问题。主要是我慌了,没想到有这么猎奇的原因。
Update 2024-4-1
最终,我还是将Rollback Rx卸载了。因为相较于它带来的好处,它带来的麻烦似乎更多一些。
而且在我这么多台电脑上,它带来的麻烦竟然能不带重样的……
首先,就是它会占用巨量的空间。这个很好理解,也能理解,但是在我那台只有128GB硬盘的小小的Surface Pro 7上,我眼看着它硬生生吃掉了30GB的空间,将可用硬盘空间直接干到了不到10GB,飚红。
其次,它会将保护区的磁盘文件系统变成某种私有格式,在其他操作系统看来就变成了RAW
。而在双系统环境下,另一个操作系统会认为这个磁盘挂了需要拯救,而拯救的结果就是数据灰飞烟灭。所以我在办公室的台式机是第一个卸载Rollback Rx的。
第三,它会导致休眠时断电大概率会导致非正常关机。正常来说,系统休眠时会将整个内存写入系统盘,这时候断电应该是完全OK的,但是在装了Rollback的系统上,这时候如果断电的话很有可能导致内存数据无法正常载回,Rollback Rx会在故障控制台甩给你一个“非正常关机”的告警,然后直接以全新状态开机。这是我在折腾UPS的时候遇到的情况。
最后,它可能会导致Windows Update和部分软件的安装速度降低到一个无法容忍的程度。很典型的,我在ROG上安装ExpressVPN,正常情况以NUC那台严重过时的弱鸡Intel i5处理器安装一下也就是不到一分钟,但是在ROG整体配置高出太多的情况下,安装一下竟然需要耗时将近半小时!而Windows Update——我从上午9点开始下载,9点半下载完毕开始安装,一直到下午5点,整整一天班上完了,它都没装完,卡在0%丝毫不动。
看看,它把我的四台主力电脑都霍霍了一遍,而且每台电脑上整的活都不一样,我是彻底的目瞪口呆。关于最后两项我开始还没有坚实地怀疑到它头上,尤其是最后一条,它只在我的ROG笔记本上出现过,我一度以为是ROG系统软件(MyASUS、Armoury Crate之类)的锅,还重新安装了一下系统并且将这些系统软件都排除在外,但是还是出现了更新极度缓慢的问题,而当我心一横卸载Rollback之后,百病全消。
最终我将所有电脑上的Rollback Rx都卸载了。ROG笔记本上将华硕的系统软件请了回来,现在,一切都正常了。
以后还是用微软自己的WIM工具备份吧,就是耗点时间。