ATA 安全擦除

ATA 安全擦除

由于旧的 SSD 坏了,我刚刚收到了新的 SSD。这款 Intel 320 SSD 支持 TRIM。为了测试目的,我的经销商将 Windows 安装在了上面,但我想摆脱它并在上面安装 Kubuntu。

不必是“安全擦除”,我只需要以最健康的方式清空磁盘。我相信那dd if=/dev/zero of=/dev/sda只是用零填充块,从而进行另一次写入(如果我错了,请纠正我)。

我看过答案了如何启用TRIM,但它看起来适合清除空块,而不是擦除磁盘。

hdparm似乎是执行此操作的程序,但我不确定它是否清除磁盘或清理空块。摘自其手册页:

  --trim-sector-ranges
          For  Solid State Drives (SSDs).  EXCEPTIONALLY DANGEROUS. DO NOT
          USE THIS OPTION!!  Tells the drive firmware to discard  unneeded
          data  sectors,  destroying  any  data that may have been present
          within them.  This makes those sectors available  for  immediate
          use  by  the firmware's garbage collection mechanism, to improve
          scheduling for wear-leveling of the flash  media.   This  option
          expects  one  or  more  sector range pairs immediately after the
          option: an LBA starting address, a colon, and  a  sector  count,
          with no intervening spaces.  EXCEPTIONALLY DANGEROUS. DO NOT USE
          THIS OPTION!!
          E.g.  hdparm --trim-sector-ranges 1000:4 7894:16 /dev/sdz

如何使用 TRIM 使所有块显示为空?

答案1

ATA 安全擦除

您应该使用驱动器的安全擦除特征。

  1. 确保驱动器安全没有被冻结如果是,则暂停并恢复计算机可能会有所帮助。

    $ sudo hdparm -I /dev/sdX | grep frozen
           not     frozen 
    

    (过滤后的)命令输出意味着该驱动器“未冻结”,您可以继续。

  2. 设置用户密码(此密码也被清除,具体选择无所谓)。

    sudo hdparm --user-master u --security-set-pass Eins /dev/sdX
    
  3. 发出 ATA 安全擦除命令

    sudo hdparm --user-master u --security-erase Eins /dev/sdX
    

笔记:

  • /dev/sdX您是否要将 SSD 作为块设备进行擦除?
  • Eins是本例中选择的密码。

查看ATA 安全擦除Linux 内核 wiki 中的文章获得包括故障排除在内的完整说明。

答案2

util-linux 2.23 提供blkdiscard丢弃数据而不进行安全擦除的功能。我测试过:适用于 SATA 和 mmcblk,但不适用于 USB。

手册页摘录blkdiscard(8)

姓名

blkdiscard—丢弃设备上的扇区

概要

blkdiscard [-o offset] [-l length] [-s] [-v] device

描述

blkdiscard 用于丢弃设备扇区。这对于固态驱动器 (SSD) 和精简配置的存储非常有用。与 fstrim(8) 不同,此命令直接在块设备上使用。

默认情况下,blkdiscard 将丢弃设备上的所有块。可以使用选项根据范围或大小修改此行为,如下所述。

设备参数是块设备的路径名。

警告:设备上丢弃区域的所有数据都将丢失!

该命令自 Ubuntu 15.04 和 OpenSUSE 13.1 起就存在了(是的,OpenSUSE 比 Ubuntu 领先 2 年)。

答案3

如果您不需要安全擦除,为什么不直接使用“使用整个磁盘”选项和相当于“快速格式化”的选项来安装 kubuntu(现在记不清确切的术语了)

这样,您就抛弃了文件分配表,驱动器就被有效地清空,以便进行覆盖。您实际上不需要清空它。

答案4

检查计算机上的 BIOS 是否支持此功能。在我刚刚检查过的笔记本电脑上,有一个选项可以在下次启动时安全擦除所有连接的媒体。这可能是企业环境中广泛使用的选项,因此现在许多供应商可能都包含它。(我检查的是 2017 年的戴尔 Precision 5510 笔记本电脑。)

不过,如果您只是想擦除驱动器以安装 Linux(根据问题),则无需进行完全擦除。唯一需要担心的是,驱动器应该知道 Windows 之前使用的空间现在是空闲的,以优化 SSD 的使用。

有很多方法可以实现这一点,包括已经提到的方法。我注意到,在创建文件系统时,mke2fs有一个-E discard选项应该修剪分区,默认情况下启用该选项。(请注意,这是尽力而为的选项,因此如果硬件不支持,它会默默忽略它。)因此在大多数情况下,您可以简单地忽略该问题,安装 Linux,安装过程将完成您需要的所有清理工作。

相关内容