dd if=/dev/zero of=/dev/sda bs=1M如果 dd 命令最初在 /dev/sda 上,这个命令会成功吗?这会因为 dd 当时在内存中而完成吗?
Hen*_*nes 40
可能会发生三种情况:
到此为止的理论。现在进行实际测试。
我在虚拟机上安装了一个全新的 Ubuntu 12.10。(win7-x64 上的 VMware 工作站,使用默认选项和 10 GB 虚拟磁盘)。
dd 命令成功完成,我在似乎可以正常工作的提示下返回。我可以输入新命令,但由于显而易见的原因它们会失败。
在使用 Damn Small Linux 的虚拟机中进行的快速实验表明 dd 命令确实按预期完成;程序最初被加载到内存中运行,在此过程中一次又一次地加载可执行文件几乎没有意义。最终,dd 将退出并报告“设备上没有剩余空间”。
之后,操作系统乍一看似乎运行正常,但在第一个命令后挂起,由于明显的原因无法再执行并变得无响应。对硬盘驱动器内容的简要检查表明该分区确实已被清零。