网上有很多人声称是不能的,原因是磨损平衡,是有缓存等
关于这点我很不解。如果整个硬盘都写满了某个种子生成的随机数,而且不能写错,那么应该是整个存储空间都被写了一次才对。为什么会存在无法擦除的情况呢?
1
feng32 OP 自问自答,我觉得可能声称不能的,进行的是分区擦除,不是全盘擦除
|
2
icyalala 2022-02-14 22:59:30 +08:00 via iPhone 1
例如你买的 240G 的 SSD ,可能实际容量是 256G ,有一部分空间是不可见的,SSD over-provisioning
|
3
cev2 2022-02-14 23:30:53 +08:00
因为各家的主控固件只要不开源,闪存颗粒被映射为块设备的逻辑就是块黑匣子。你可以把该块 SSD 看做是一个 API ,只知道仍给它一个 IO 指令,它就会返回给你对应的响应。但它是怎么处理底层的数据的,我们不知道。所以是否能安全擦除是一个不可证伪的问题,除非主控固件内容可读。
一般大厂的 SSD 都会附带对应的实用程序,实用程序内提供给你一个安全擦除的功能。没有提供实用程序的厂家,如果实在对这个问题纠结,那就只能在类似 BitLocker 下使用了。 你说的全盘擦除,只有两种方式可以实现。1 是主控固件本身就有对应的擦除“后门”,调用它擦除,如同厂家提供的实用程序一般。2 是你自己把闪存颗粒取下来,然后接入外置硬件 0 填充。 若不考虑主控固件存在漏洞的问题,通过操作系统提供的 IO 接口是不可能实现绕过主控直接读写闪存颗粒的。 |
4
billgong 2022-02-14 23:32:28 +08:00 via iPhone
理论上确实有可能,主控有可能会有写入压缩,现在主控算法那么复杂,谁知道呢
但实际上没必要,绝大多数情况直接调用主控的安全擦除就行了,主控直接 drop aes key ,没有密钥解密几乎不可能修复。高价值数据的话,物理销毁不香嘛…… |
5
PolarBears 2022-02-14 23:51:10 +08:00
|
6
wanguorui123 2022-02-15 08:18:59 +08:00 via iPhone
完全清理还得物理销毁,清除大部分是可能的
|