primocache 的延时写入是个人非常喜欢的一个功能。对系统盘启用该功能,设定足够大的RAM作为缓存,可以有效地减少SSD的磨损。然而,该功能很惧怕停电、误复位操作等现象,一旦出现,再次开机后,就会出现系统盘文件损坏,影响使用的严重问题。比如,在我这里,由于开机按键与复位按键距离非常近,导致经常出现打算唤醒睡眠状态的机器时误触复位按键的现象,进而导致系统重启后,浏览器相关文件损坏 、报错,之前打开的网页全部丢失,以及其它文件丢失的问题,大概有十多次了。之前的解决方法只能是用镜像还原系统。
后来,偶然一个机会,发现并尝试使用了vhdx 虚拟磁盘的方式安装并引导操作系统(WIN10)。然后发现,在这种模式下,停电、复位几乎不再引起系统盘文件损坏了(当然本次开机写入C盘的数据依旧会丢失),而是直接“回滚”到上次关机时的状态。也就是说除了本次开机写入C盘的数据丢失之外,系统和系统盘上的软件不再崩溃了。
例外只有两次,一次是对C盘写入的数据超过了缓存容量(我这里用4GB作为写入缓存,无限模式),这倒是不难理解,因为一旦写入量超过了缓存大小,关机之前就必然有数据写入系统盘了。然后复位之后系统文件系统发现文件对不上,很自然地会出错。另一次是更改了驱动(不清楚那次写入量是否超过了4GB)。
具体原理尚不清楚。但粗略感觉,似乎是因为,这种模式可以使得primocache的相关功能能够更加优先地启动。从而将在默认状态下primocache不能涉及到的系统盘区域也缓存起来。
关于虚拟磁盘安装引导系统的方法,感兴趣的朋友可以参考这篇文章:https://www.zhihu.com/question/59409036 ... 2973548092
我就是在这里学到的相关方法,不过没有使用到文中提到的差分盘功能。
采用这种方法,自己已经差不多不再担忧掉电和系统复位损坏系统了。欢迎有兴趣的朋友讨论。
25.05.23 一个小更新。
大家在使用这种方法的时候,记得关闭 windows 的快速启动。之前安装别的软件,打开了快速启动,然后这种方法就失效了。关闭后就又可用了。顺便一提,我现在用的这台台式机,应该是主板或者是电源有些问题,有将近10%的概率在睡眠唤醒的时候复位,因此经常能被动进行这个试验
