如何关闭, windows(永久)删除文件后, 对应存储区块被 0 覆写的特性?

2023-04-09 15:29:56 +08:00
 chackchackGO
在更改"windows 桌面"的存储路径时不慎用 del 按键删除了桌面文件.(而且,很奇怪的是, 文件并没有进入回收站).

于是尝试用 diskGenius 和 Recuva 恢复数据.

辛辛苦苦恢复了半天, 忽然发现恢复的文件在二进制浏览下都满是"0".

想起来有人说过 windows 有这个特性来保护数据安全.

但是我被这个害惨了, 而且我用硬盘比较多, 也担心这样加速消耗硬盘擦写寿命, 所以想关闭, 不知道搜索什么关键词.
1193 次点击
所在节点    问与答
8 条回复
iBugOne
2023-04-09 15:38:14 +08:00
Windows 没有自动写零的功能,你看到的“全部写零”实际上来源于两个功能组合起来的结果:

1. 在 SSD 上,Windows 会告知硬盘某个文件被删除(也就是 TRIM ),这样 SSD 固件可以自己在空闲时进行垃圾回收和磨损平衡等优化操作
2. 一些 SSD 固件的功能,对已经被 TRIM 过的块直接返回零

所以“加速消耗硬盘擦写寿命”也是完全不存在的事,反正删掉的文件是早晚都要擦除的

PS. Windows 的回收站是有容量限制的,可以设置,默认好像是 10%(我记不清了);超过容量或者过大的文件会直接从文件系统中删除,而不是移动进回收站
AkaGhost
2023-04-09 15:39:04 +08:00
是固态硬盘吗?你说的这个情况,只是被 trim 了吧,就算系统不做,硬盘主控自己也会 trim 的
geelaw
2023-04-09 15:47:57 +08:00
让我来 psychic debugging 一下,根据描述用 Delete 键删除桌面的文件后没有进入回收站,立刻恢复发现长度是 0 ,可以猜测楼主开了 OneDrive 同步桌面,而删除的文件是仅在线可用的文件(这种文件只有元数据,且删除的时候不会经过本地回收站),若果真如此,从本地删除 OneDrive 文件的效果是在 OneDrive 上移动到回收站,可以进入 OneDrive 网页版查看在线回收站还原之。
chackchackGO
2023-04-09 15:49:22 +08:00
是固态硬盘, 好在删除的只是一些归档文件之类的, 不是很痛.
geelaw
2023-04-09 15:50:42 +08:00
另外很难想象 Windows 会默认覆写删除的文件,只有当你要擦除系统或者使用那专门的工具才会这样做,而且通常也不是写零,而是写随机数。
chackchackGO
2023-04-09 15:54:20 +08:00
@geelaw 没开 oneDrive 同步桌面.
我在打开"移动 windows 桌面存储路径"的对话框的过程中 del 桌面的.
del 之后打开任意地方的文件夹都会立刻报错"原桌面存储路径 is not available".
所以没进回收站可能是这个刁钻时刻 del 的 bug ... 或者我不慎误触 shift+del 了
geelaw
2023-04-09 15:58:10 +08:00
Ugh 不是长度为 0 而是数据是 0 ,这就很奇妙了,学习了一下 #1 #2 的知识。但是现在默认情况是 Delete 无确认直接移动到回收站,Shift+Delete 是有确认的。
churchmice
2023-04-09 17:33:40 +08:00
这个是 trim,删除文件只是改掉了 ssd 里面的映射表
展开说说,host 这侧看到的是 lba,需要将这个 lba 映射到具体的 flash 地址上吗,比如是哪个 channel,哪个 die,哪个 plane, page ,实际的 flash 地址我们叫做 pba(physical block address)
这个 lba 到 pba 的转换关系是由一个表来维护的,这个表存在 flash 里面并且由主控维护
那回到你这个问题,删除一个文件的时候 hpst 会发送 trim 这个命令(其实叫做 dataset management with deallocation hint )给主控,主控看到之后会把映射表里面 lba 对应的 pba 改成一个特殊值,并不会去更改真正 flash 里面的内容

你下次读的时候碰到这个 lba,主控一查表发现是个特殊值,它就直接给你返回全 0 的结果给 host

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/930990

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX