安全擦除SSD的推荐方法是ATA安全擦除。大多数BIOS通过冻结驱动器来禁用此功能。有关BIOS冻结的一些技巧存在,根据设置可能会起作用,也可能无法起作用。这使得ATA安全擦除难以使用。
可以将修整误用作安全擦除SSD的替代方法吗?
可以删除任何现有的分区表,并创建一个新的GPT,其中一个ext4分区填充了整个SSD。修剪ext4分区将导致SSD擦除SSD上的所有逻辑块,但会擦除保存GPT和ext4超级块的块。定义中未擦除未分配给逻辑块的保留块。这样,所有物理块将被擦除或包含无用的GPT / ext4元信息。
您看到这个计划有什么缺陷吗?
请不要回答应该使用ATA安全擦除来安全擦除SSD,这不是问题。
让我们这样说:
事实是,在大多数(如果不是全部)SSD中,SSDATA Secure Erase
与整个设备TRIM等效。除了那些具有“硬件加密”的软件,ATA Enhanced Secure Erase
基本上是加密密钥的再生。因此,毕竟ATA Secure Erase
,除非您的SSD支持“硬件加密”,否则SSD并不是真正安全的东西。
另一方面,fstrim
不是TRIM设备的唯一方法。您可以blkdiscard
用来擦除整个块设备(磁盘/分区),包括GPT和超级块以及任何其他内容。
但是,请注意,某些磁盘中的TRIM实现在发出的TRIM命令中有一个“要求”,因此,只有在满足该条件时,驱动器上的所有块才会在TRIM之后“读零”。
例如,英特尔530 SSD需要将TRIM块范围“对齐”为8个块。因此,当我想用blkdiscard
或擦拭干净时hdparm
,我需要确保两个TRIM范围没有“覆盖”最小单位。
使用blkdiscard
,我需要指定-p 33550336
(65528块* 512字节,其中65528 = 65535(单个范围内的最大块数)-65535%8),假设起始偏移量为0(或[8 *的倍数) 512]),否则将有剩余的块将不会被擦除。可以hexdump
在TRIM之后使用类似的方法进行检查。
看看我的Intel 530(sda
)和Silicon Power S70(sdb
)的区别:
以及范围未对齐和对齐时的区别:
(由于65535 * 2 = 131070不是8的倍数,所以最后仍有剩余数,但是您可以看到131064个块[0x3FFF000 / 512]被连续擦除。)
别作弊:
PS我还从SanDisk看过驱动器,无法用TRIM命令以任何形式擦除其“头部”和“尾部”。它的“最小单位”是256个块。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句