如何在 Linux 中安全地擦除 USB 驱动器或 SD 卡中的数据

如今,USB 驱动器和 SD 卡已成为日常技术配件。 但它们的广泛使用也使它们成为安全问题。 由于这些设备通常包含个人数据,因此您必须先彻底擦除它们,然后再将它们提供给其他人。 另外,最好在扔掉存储设备上的所有数据之前将其删除。

Linux 提供了多种工具,可以轻松擦除个人数据。 下面,我们将介绍一些在 Linux 中安全擦除 USB 驱动器或 SD 卡中数据的方法。

格式化与擦除:有什么区别?

我们知道格式化 USB 会使该设备上的所有数据都无法访问。 但它会完全清除现有数据吗? 答案是不。 因为当您格式化您的设备时,您所做的就是创建一个新分区,从而使旧分区可写。 但原始数据仍保留在设备上。

许多可靠的数据恢复工具使从此类设备中检索数据变得轻而易举。 因此,如果您的驱动器包含任何敏感数据,您应该专注于擦除它,而不仅仅是格式化设备。 要擦除 USB 驱动器或 SD 卡中的数据,您必须用不必要的随机数据覆盖它们。

在 Linux 中安全擦除闪存驱动器或 SD 卡内容

要从您的设备中清除所有个人数据,您需要执行几个步骤。 第一项任务是找到正确的设备。 使用 lsblk 命令来查找确切的设备和分区。

lsblk

它将显示连接到系统的块设备列表。 根据设备的存储大小找到您的设备。 为了说明,我们将考虑 /dev/sdb 成为设备和 /dev/sdb1 作为其主分区。 找到设备和分区后,使用以下命令卸载分区:

sudo umount /dev/sdb1

卸载后,您需要覆盖该设备的内容。 Linux 用户可以从多种工具中进行选择,包括 dd、shred 和 badblocks。 擦除数据后,您需要在 Linux 上创建一个新分区并格式化您的 USB 驱动器。

使用 dd 擦除 USB 驱动器或 SD 卡

Linux 中的 dd 命令用于复制和转换文件。 但是,您也可以使用 dd 清除存储设备的内容。

例如,以下 dd 命令用全零覆盖 USB 驱动器或 SD 卡的内容。 确保指定正确的设备名称,否则您可能会破坏其他分区。

sudo dd if=/dev/zero of=/dev/sdb bs=4096 status=progress

对于一般用户来说,简单的零覆盖就绰绰有余了。 但在某些情况下,部分基础数据可能仍可使用专用软件恢复。 如果这与您有关,请使用随机数据而不是全零覆盖您的驱动器。

sudo dd if=/dev/urandom of=/dev/sdb bs=4096 status=progress

根据设备大小,此命令可能需要相当长的时间才能完成。 你会注意到一个提示说“设备上没有剩余空间” 一旦结束。您现在需要做的就是使用您喜欢的文件系统创建一个新分区。

使用碎片安全擦除 USB 驱动器或 SD 卡

shred 实用程序是一个强大的数据擦除工具,默认包含在所有 Linux 发行版中。 这是一部分 核心工具 包,使其成为从 USB 或 SD 存储中擦除敏感数据的可靠选择。

它是一个强大的应用程序,可以使用伪随机数据覆盖存储。 因此,恢复已删除内容的机会几乎为零。 在其默认设置下,shred 使用三遍覆盖。 但是您可以使用 -n 选项。

sudo shred -v /dev/sdb

-v 选项告诉 shred 显示操作的进度报告。 使用 -z 选项使用全零添加最终覆盖,有助于隐藏切碎的影响。

sudo shred -v -z /dev/sdb

此外,shred 还允许使用来自随机源的数据覆盖设备,例如 /dev/urandom.

sudo shred -v -z --random-source=/dev/urandom -n1 /dev/sdb

使用坏块擦除 USB 驱动器或 SD 卡

您可以使用坏块通过破坏性读写测试安全地擦除闪存驱动器的内容。 它是一种用于在存储设备上查找坏扇区的工具。 坏块的一个主要好处是它默认在大多数流行的 Linux 系统上可用。

使用下面的 badblocks 命令清除 /dev/sdb. 此命令可能需要很长时间,因为它使用四个不同的通道写入数据。

sudo badblocks -wsv /dev/sdb

我们结合了 -s-v 显示进度条和获取详细信息的选项。 如果您正在寻找更快的方法,请改用以下命令:

sudo badblocks -wsv -t 0x00 /dev/sdb

-t 选项指定用于覆盖的测试模式。 上面的命令使用全零的单次传递,使其相对更快。

在您的 USB 驱动器或 SD 卡上创建新分区

当您使用上述方法之一覆盖存储时,它们会擦除所有内容,包括任何分区和分区表。 因此,您需要先创建一个新分区并对其进行格式化,然后才能使用该设备。 您可以使用 fdisk 在 Linux 中轻松创建或管理磁盘分区。

sudo fdisk -l

此命令将列出系统上的所有分区,包括 USB 或 SD 卡上的分区。 使用以下命令选择您的设备(/dev/sdb)。 小心这一步并仔细检查所有内容。

sudo fdisk /dev/sdb

您将进入 fdisk 提示符。 现在,输入 n 创建一个新分区。 您必须为此分区选择分区类型、编号以及存储扇区的开始和结束。 最好通过按 Enter 钥匙。

创建分区后,您需要将更改写入设备。 使用 w fdisk 中的命令并按 Enter. 它将创建新分区 /dev/sdb1. 完成后,使用以下命令格式化分区:

sudo mkfs.vfat -F 32 /dev/sdb1

保护个人数据不落入坏人之手

随着技术及其所提供的一切的不断兴起,数据变得如此重要。 因此,保护​​个人信息应该是每个人的首要任务。 因此,在将 USB 设备和 SD 卡交给他人或出售之前,您必须正确擦除它们。

从旧手机中永久删除数据也同样重要,因为它们也很容易恢复。