安全擦除单个 (Windows) 分区

安全擦除单个 (Windows) 分区

我目前双启动了 Windows 10 和 Ubuntu 18.10。我知道我可以使用 gparted“擦除”Windows 分区,但这真的会擦除数据吗?

我想在删除 Windows 分区并扩展 Ubuntu 分区之前,在 Windows 分区上运行类似 DBAN 的程序。这是一台较旧的计算机(不是我的主计算机),我一直用它来试验 Ubuntu。我还没有太多数据,所以如果不能只擦除 Windows 分区,那么完全擦除驱动器并重新开始也是可行的。

但是,我想问...是否有任何工具可以擦除 Windows 分区但保留 Ubuntu 分区?

答案1

以明确的方式从磁盘上擦除数据并非易事。您可以尝试按照查尔斯·格林的回答,但有一些注意事项:

  1. 覆盖数据一次后,仍可能通过专业工具恢复数据。因此,您可能需要使用比 更强大的工具dd,例如,此命令将执行此操作:(sudo wipe -k /dev/sda9确保放入正确的分区),您无需删除分区然后重新创建它,只需对当前 NTFS 分区执行此操作,它将被擦除。
  2. 即使您使用,wipe有时硬盘也会缓存数据,并且只在认为必要时写入数据。因此,您的驱动器可能会这样做,而不是通过覆盖数据来实际物理删除数据。wipe比 更好dd,因为至少它会进行多次传递,从而减少发生这种情况的机会。
  3. 虽然这些命令会覆盖 Windows 操作系统认为是坏块(因为您正在写入块设备而不是文件系统),但它无法访问硬盘固件标记为损坏的扇区。当代驱动器会默默地将地址从损坏的扇区重定向到可写入的扇区,并且无法覆盖那里的数据。
  4. 由于您担心数据泄露,您可以为将来的问题做好准备并加密新驱动器。您可以查看dm-crypt,但这并不简单。这种设置的优点在于,如果攻击者没有密码或密钥文件,数据看起来是随机的。

答案2

我可以设计出一种方法来做到这一点,即首先使用dd它覆盖你的 Windows 分区,然后使用gparted它创建一个用于 Linux 的新格式,或者删除旧分区并将空间合并到你现有的 Linux 磁盘中。

假设你的磁盘是/dev/sda,Windows 分区是/dev/sda9,你可以尝试如下命令

sudo dd --progress ifile=/dev/zero ofile=/dev/sda9 bs=4g

这将用零填充分区,并继续,直到分区已满并且命令返回错误。您可以进行计算,并计算出一个块大小 (bs=) 和计数 (count=) 来精确填充分区。此外,您可以使用/dev/urandom随机数据填充分区。但使用 dd 时要非常非常小心。

接下来,您可以使用 gparted 将其格式化为您想要用于 Linux 系统的文件系统。

最后,要非常小心dd。它不是一个宽容的程序。

相关内容