我目前双启动了 Windows 10 和 Ubuntu 18.10。我知道我可以使用 gparted“擦除”Windows 分区,但这真的会擦除数据吗?
我想在删除 Windows 分区并扩展 Ubuntu 分区之前,在 Windows 分区上运行类似 DBAN 的程序。这是一台较旧的计算机(不是我的主计算机),我一直用它来试验 Ubuntu。我还没有太多数据,所以如果不能只擦除 Windows 分区,那么完全擦除驱动器并重新开始也是可行的。
但是,我想问...是否有任何工具可以擦除 Windows 分区但保留 Ubuntu 分区?
答案1
以明确的方式从磁盘上擦除数据并非易事。您可以尝试按照查尔斯·格林的回答,但有一些注意事项:
- 覆盖数据一次后,仍可能通过专业工具恢复数据。因此,您可能需要使用比 更强大的工具
dd
,例如,此命令将执行此操作:(sudo wipe -k /dev/sda9
确保放入正确的分区),您无需删除分区然后重新创建它,只需对当前 NTFS 分区执行此操作,它将被擦除。 - 即使您使用,
wipe
有时硬盘也会缓存数据,并且只在认为必要时写入数据。因此,您的驱动器可能会这样做,而不是通过覆盖数据来实际物理删除数据。wipe
比 更好dd
,因为至少它会进行多次传递,从而减少发生这种情况的机会。 - 虽然这些命令会覆盖 Windows 操作系统认为是坏块(因为您正在写入块设备而不是文件系统),但它无法访问硬盘固件标记为损坏的扇区。当代驱动器会默默地将地址从损坏的扇区重定向到可写入的扇区,并且无法覆盖那里的数据。
- 由于您担心数据泄露,您可以为将来的问题做好准备并加密新驱动器。您可以查看
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
。它不是一个宽容的程序。