AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1133297
Accepted
Rino Bino
Rino Bino
Asked: 2023-06-13 02:26:48 +0800 CST2023-06-13 02:26:48 +0800 CST 2023-06-13 02:26:48 +0800 CST

Linux/BSD“快速”擦除驱动器?

  • 772

我正在清理一个驱动器dd。这是一个 USB 设备和 120GB,需要很长时间:

dd if=/dev/zero of=/dev/da0 bs=1M status=progress

我试过弄乱块大小(更小和更大的值bs=4M,bs=8M等等),但似乎没有什么区别。它的写作速度7000 kB/s非常慢。

我不关心“安全地”擦除数据,我只想擦除数据,这样我就可以从头开始重新建立分区结构和文件系统。是否有替代方法(使用标准实用程序)可以针对此类场景执行快速(一两分钟内)擦除?我正在使用的设备是 FreeBSD,但我认为 dd 命令(和 gpart 等)在它和 Linux 之间的工作方式类似。

filesystems
  • 3 3 个回答
  • 27 Views

3 个回答

  • Voted
  1. Best Answer
    Romeo Ninov
    2023-06-13T02:40:35+08:002023-06-13T02:40:35+08:00

    最快的方法是删除驱动器上的所有分区。这也将“删除”文件系统。第zero一个兆字节(引导记录等)。

    dd if=/dev/zero of=/dev/da0 bs=1M count=1
    

    并且您拥有“全新”磁盘。

    • 2
  2. Marcus Müller
    2023-06-13T04:45:24+08:002023-06-13T04:45:24+08:00

    USB 存储设备种类繁多。

    如果您的设备支持它,

    blkdiscard /dev/da0
    

    在 Linux 上,或

    trim /dev/da0
    

    在 FreeBSD 上

    将告诉驱动器只删除所有数据。这将非常快,因为它基本上只是告诉磨损均衡表“嘿,忘记曾经用于数据的任何块,并将它们视为已准备好被清空并再次使用”。

    即使这么快,它也会产生“无效”的副作用,即它使旧数据无法恢复(除了打开硬件,绕过内部的存储控制器,读取原始数据并对哪个块进行大量猜测)需要重新组装的顺序)。

    • 1
  3. Mircea Vutcovici
    2023-06-13T05:29:22+08:002023-06-13T05:29:22+08:00

    删除所有磁盘标签和文件系统签名的 Linux 命令是:

    wipefs -a /dev/sd###
    

    大多数现代闪存盘和闪存 U 盘都支持TRIM / DISCARD / SCSI UNMAP。对于 USB,您需要启用它:

    # cat /sys/block/sd###/device/scsi_disk/*/provisioning_mode
    full
    # echo unmap > /sys/block/sd###/device/scsi_disk/*/provisioning_mode
    # cat /sys/block/sd###/device/scsi_disk/*/provisioning_mode
    unmap
    #
    

    如果启用了修剪,您可以使用以下方法销毁所有数据:

    blkdiscard /dev/sd###
    

    替换sd###为类似sdx或 的内容nvme9n9。您可以列出所有块设备:lsblk

    • 0

相关问题

  • 我如何知道 AIX 中磁盘上的文件系统是什么?

  • 控制 UNIX 目录内容用户组所有权

  • 在 Ubuntu 上将 Windows 磁盘分区与 Linux 分区合并

  • 在 VMPlayer 上 Windows 和 Linux 之间共享目录的最佳方式

  • md5sum 重复为同一台机器上的同一文件提供不同的校验和

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve