答案1
块大小选项的值以 10 为基数。输入和输出块大小的默认值均为 512 字节。块大小越大,dd 使用的内存就越多,而且通常速度越快。
count=BLOCKS Copy BLOCKS `ibs'-byte blocks from the input file, instead of everything until the end of the file. notrunc' Do not truncate the output file. sync' Pad every input block to size of `ibs' with trailing zero bytes.
答案2
第一个和第二个命令将覆盖设备的 MBR,但它们对于 GPT 有所不同。
第一个命令写入 8MB 的零并刷新文件系统缓冲区。如果有 GPT,则主 GPT 的部分将被覆盖。
第二条命令写入 512B 的零。如果存在 GPT,主表仍将完好无损。(该conv=notrunc
选项没有任何区别,因为磁盘上的所有数据都会丢失。)
这些命令不会影响光盘末尾的任何次要 GPT。
第三条命令开始在分区XX处写入,并且不会删除分区表。
这应该会擦除您的 MBR 或 GPT。
sgdisk -Z /dev/sdX
此后您应该能够创建一个新的 MBR 或 GTP。
答案3
在实时 USB 会话中启动并执行
sudo dd if=/dev/urandom of=/dev/sda bs=1M
但这似乎并没有像我想要的那样工作,因为处理器工作灯大部分都熄灭了(或者是硬盘灯?),而冷却器很响。
然后我读到 urandom 命令非常慢,因为它实际上试图生成真正的随机数。出于安全考虑,我并不想擦除所有数据,只是想清除所有分区(它们有问题),所以我停止了该过程并执行以下操作:
sudo dd if=/dev/zero of=/dev/sda bs=1M
这样,冷却器就会平静下来,同时“工作灯”会一直亮着。
为了查看进度,我打开了单独的终端窗口 并且做到了
watch -n5 'sudo kill -USR1 `pgrep ^dd`'
每 5 秒在初始终端窗口中报告一次进度(来源)
245423407104 bytes (245 GB) copied, 3430.82 s, 71.5 MB/s
234354+0 records in
234354+0 records out
245737979904 bytes (246 GB) copied, 3435.84 s, 71.5 MB/s
234655+0 records in
234655+0 records out
246053601280 bytes (246 GB) copied, 3440.88 s, 71.5 MB/s
234956+0 records in
234956+0 records out
246369222656 bytes (246 GB) copied, 3445.91 s, 71.5 MB/s
... 在一台使用 4 年、配备 4GB 内存的普通笔记本电脑上,读取 500GB 硬盘需要 2 小时 30 分钟。