如何从硬盘删除一些zfs元数据?


0

我在Nas4free中使用hdd系统,这个hdd现在是Ubuntu服务器的系统盘,但是有些zfs信息仍在那里......我没有在安装新系统之前擦除磁盘。我现在可以删除此元数据,还是必须擦除整个磁盘并再次安装Ubuntu服务器?

enter image description here

enter image description here

Answers:


2

这是一个老问题,但只是为了记录:

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等。


谢谢!改变会更好 oseekseek 因为它在FreeBSD上是同义词,在Linux上不存在。在Linux上,您可以在没有人工计数的情况下使用 blockdev 命令: sh dd if=/dev/zero of="/dev/sdX1" seek=$(( $(blockdev --getsz "/dev/sdX1") - ( ( 256 * 1024 * 2) / $(blockdev --getpbsz "/dev/sdX1") ) ))
Kepi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.