Rin*_*ino 11 linux dd bsd deleting
我正在清理驱动器dd
。它是一个 USB 设备,容量为 120GB,并且需要很长时间:
dd if=/dev/zero of=/dev/da0 bs=1M status=progress
Run Code Online (Sandbox Code Playgroud)
我尝试过调整块大小(较小和较大的值等) bs=4M
,bs=8M
但似乎没有什么区别。它的写作速度7000 kB/s
慢得令人痛苦。
我不关心“安全”擦除数据,我只是想擦除它,这样我就可以从头开始重新建立分区结构和文件系统。是否有另一种方法(使用标准实用程序)可以针对此类情况执行快速(一两分钟内)擦除?我正在使用的设备是 FreeBSD,但我认为 dd 命令(和 gpart 等)在它和 Linux 之间的工作方式类似。
Mir*_*ici 19
删除所有磁盘标签和文件系统签名的 Linux 命令是:
wipefs -a /dev/sd###
Run Code Online (Sandbox Code Playgroud)
大多数现代闪存盘和闪存 USB 记忆棒都支持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
#
Run Code Online (Sandbox Code Playgroud)
如果启用了修剪,您可以使用以下命令销毁所有数据:
blkdiscard /dev/sd###
Run Code Online (Sandbox Code Playgroud)
替换sd###
为类似sdx
或 的内容nvme9n9
。您可以使用以下命令列出所有块设备:lsblk
Rom*_*nov 15
最快的方法是删除驱动器上的所有分区。这也将“删除”文件系统。第zero
一个兆字节(引导记录等)。
dd if=/dev/zero of=/dev/da0 bs=1M count=1
Run Code Online (Sandbox Code Playgroud)
并且您有“全新”磁盘。
Mar*_*ler 10
USB 存储设备有多种类型。
如果您的设备支持,
blkdiscard /dev/da0
Run Code Online (Sandbox Code Playgroud)
在 Linux 上,或者
trim /dev/da0
Run Code Online (Sandbox Code Playgroud)
在 FreeBSD 上
会告诉驱动器删除所有数据。这将非常快,因为它基本上只是告诉磨损均衡表“嘿,忘记任何曾经用于数据的块,并将它们视为已准备好清空并再次使用”。
即使速度那么快,它也会产生“清零”的良好副作用,即它使旧数据无法恢复(除非打开硬件,绕过内部存储控制器,读取原始数据,然后对哪个块进行巨大猜测)需要按照哪个顺序重新组装)。
归档时间: |
|
查看次数: |
4961 次 |
最近记录: |