假设我有一个有 10000 个 512b 扇区的驱动器。
如果我做
sudo dd if=/dev/zero of=/dev/disk2 skip=99999 count=10
会发生什么?
当我用真正的驱动器测试这一点时,dd 的输出表明它确实在某处写了一些东西,但我不明白在哪里/如何做到这一点?
答案1
整个驱动器没有数字引用,例如:/dev/sda 分区用数字引用:/dev/sda2
您的示例: of=/dev/disk2 引用分区 2磁盘。
在许多情况下,最后一个分区不会使用整个驱动器,实际上有几 MB 未被使用。如果硬盘驱动器有第三个分区,则超过分区 2 的末尾可能会损坏分区 3。
它起作用的最可能原因是我提到的未使用空间,以及您只尝试超过分区限制 10 个扇区而不是硬盘限制。1MB 是 2048 个扇区。如果您已经到达驱动器的末尾,则会出现 I/O 错误。