我安装了 FreeNAS 11.1-U6 以进行测试。它有两个 500GB SSD 和一个 4TB USB 驱动器。我将 FreeNAS 安装到 ada0(第一个 500GB SSD),并在 da0(4TB 驱动器)上设置了一个卷,将 ada1(第二个 500GB SSD)设置为 L2ARC。
一切都很好,但我想从头开始。因此,我删除了该卷(将其擦除并将其视为“新卷”),并尝试创建一个新卷。这时我遇到了一些问题。当我尝试创建新卷时,出现了以下错误:
[MiddlewareError: Unable to GPT format the disk "da0": gpart: geom 'da0': File exists]
我读了一些资料,找到了如何使用 gpart 从驱动器中删除分区的方法。我可以清除 da0,但不能清除 ada1:
[MiddlewareError: Unable to GPT format the disk "ada1": gpart: geom 'ada1': File exists]
但是,我无法像之前那样对 ada1 进行操作,因为我无法删除其中一个分区。具体来说,就是交换分区。
root@stszfs:/ # gpart show ada1
=> 40 976773088 ada1 GPT (466G)
40 88 - free - (44K)
128 4194304 1 freebsd-swap (2.0G)
4194432 972578696 - free - (464G)
当我尝试删除它时,出现以下信息:
root@stszfs:/ # gpart delete -i1 ada1
gpart: Device busy
当我尝试销毁它时,发生了同样的事情:
root@stszfs:/ # gpart destroy -F ada1
gpart: Device busy
我仍然运行后得到这个
swapoff -a
我还在 /etc/fstab 中看到这个:
root@stszfs:/ # cat /etc/fstab
freenas-boot/grub /boot/grub zfs rw,noatime 1 0
fdescfs /dev/fd fdescfs rw 0 0
/dev/da0p1.eli none swap sw 0 0
我注释掉了 swap 行并重新启动,但无济于事——重新启动后它又恢复了原样。我找不到任何使用该交换分区的进程的证据。我尝试使用 dd 销毁驱动器,但也没有用:
root@stszfs:/ # dd if=/dev/zero of=/dev/ada1 bs=512
dd: /dev/ada1: Operation not permitted
那么,有几个问题。这个交换分区是怎么来的?我最初将此驱动器用作 L2ARC,那么为什么它突然有一个无法删除的交换分区?我如何在不启动另一个操作系统的情况下摆脱这个讨厌的交换分区?(我目前无法物理访问该盒子。)
答案1
这将在没有提示的情况下破坏分区表;请确保输入了正确的磁盘!
- 启用写入膜生物反应器,否则
dd
将返回Operation not permitted
:sysctl kern.geom.debugflags=0x10
- 擦除分区表:
dd if=/dev/zero of=/dev/<disk> bs=1m count=1
- 可选:擦除 GPT 备份分区表:
dd if=/dev/zero of=/dev/<disk> bs=1m oseek=\`diskinfo <disk> | awk '{print int($3 / (1024*1024)) - 4;}'\`
- 重启
现在可以在 GUI 中重复使用磁盘。