Answers:
这是一个老问题,但只是为了记录:
zfs的元数据存储在zfs中涉及的每个磁盘的第一个和最后两个256kB中。
所以你可以做这样的事情:
sudo dd if=/dev/zero of=/dev/ada1 count=1 bs=512k
对于第一位,在找到设备的所有扇区的数量后,您可以对最后的元数据位执行此操作:
假设512字节的扇区大小,我们有
262144字节(256kB元数据)/ 512字节(扇区大小)= 1024个扇区
sudo dd if=/dev/zero of=/dev/ada1 oseek=NUM_OF_SECTORS-1024
现在,你应该看到一个干净的设备。
注意* - / dev / ada1是freeBSD中的一个设备。安装在Linux中可能是/ dev / sdb,/ dev / hdb等。
oseek
至seek
因为它在FreeBSD上是同义词,在Linux上不存在。在Linux上,您可以在没有人工计数的情况下使用blockdev
命令:sh dd if=/dev/zero of="/dev/sdX1" seek=$(( $(blockdev --getsz "/dev/sdX1") - ( ( 256 * 1024 * 2) / $(blockdev --getpbsz "/dev/sdX1") ) ))