当磁盘满了的时候 dd 会停止吗?

当磁盘满了的时候 dd 会停止吗?

如果我发出以下命令来完全擦除磁盘,当磁盘已满时它会自动停止吗,还是我需要指定选项count?:

sudo dd if=/dev/zero of=/dev/disk7 bs=64m

我应该提到这个操作系统 OS X 10.9。

答案1

彻底擦除磁盘

如果你的目标是制作机械磁盘(HDD)安全地已擦除,因此即使从理论上讲,其他人也不可能拿到它并恢复数据,因此您不应将其用作/dev/zero源,并且应该多次覆盖它。请参阅维基百科about.com

如果您不关心安全性,/dev/zero那么这是可以的,但是,只需在设备上放置一个新的分区表即可。

我确实看不出/dev/zero在物理介质上写入的有效用例,因为:

  1. 如果你关心安全的话,它太不安全了;
  2. 如果不这样做,会花费太长时间并浪费时间和写入周期(因为您可以简单地用新的数据结构覆盖磁盘上的任何数据结构,这意味着只有数据恢复程序才有可能恢复旧数据的片段,这没问题,因为您刚才说您不关心安全性,或者如果您关心,您就不应该读这篇文章)。

自动停止

当然。你认为它会做什么呢?继续写入下一个文件吗?

您专门指定of选项,即“输出文件”。它将打开该块设备并写入,直到到达块设备的末尾,然后退出。这是 的正常行为dd

我需要指定count选项吗?

您仅当您希望它在到达块设备末尾之前的某个时间点停止写入时,或者当您正在写入常规文件(即,不是块设备)并且希望它在填满文件所在的文件系统之前停止时,您才会这样做。

结束语:

  • 这种行为并不特定于 OS X(任何特定版本),甚至不特定于 OS X。它在 Linux、Android、BSD 以及可能其他实现 POSIX 标准的系统中都以相同的方式运行。
  • dd您可以通过制作一个小(2 MB)的图像文件并在环回设备上安装后使用它,然后在其上运行来回答您自己的问题dd
  • 需要注意的是,如果没有count指定,dd则在首先发生下列情况之一:要么if(输入文件)抛出EOF(文件结束),要么操作系统抛出一个信号,表明of已经到达(输出文件)的最后一块。

答案2

磁盘已满时将停止

相关内容