如何删除 FreeNAS 上的交换分区?

如何删除 FreeNAS 上的交换分区?

我安装了 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

这将在没有提示的情况下破坏分区表;请确保输入了正确的磁盘!

  1. 启用写入膜生物反应器,否则dd将返回Operation not permitted
    sysctl kern.geom.debugflags=0x10
    
  2. 擦除分区表:
    dd if=/dev/zero of=/dev/<disk> bs=1m count=1
    
  3. 可选:擦除 GPT 备份分区表:
    dd if=/dev/zero of=/dev/<disk> bs=1m oseek=\`diskinfo <disk> | awk '{print int($3 / (1024*1024)) - 4;}'\`
    
  4. 重启

现在可以在 GUI 中重复使用磁盘。

相关内容