无法在基于 GPT 的系统上禁用交换

无法在基于 GPT 的系统上禁用交换

我想在几个正在运行的 ubuntu 16.04 服务器上禁用交换。如果可能的话,我希望不要重新启动它们。从我的研究来看,似乎

  • 运行swapoff -a以禁用交换,直到下次重新启动
  • 并注释交换行/etc/fstab以在下次重新启动后保留

应该做这项工作。然而,内核似乎正在重新启用交换:在不同的时间后swapoff,我在日志中看到类似的内容/var/log/kern.log

Nov 28 12:00:51 srv07 kernel: [ 8049.183480] Adding 62498812k swap on /dev/sda3. Priority:-1 extents:1 across:62498812k FS

有一次是在 4 小时后发生的swapoff,另一次是 5 分钟后发生的。

这是什么原因造成的?

这是在 Ubuntu 16.04 服务器上,内核版本 4.4.0。

答案1

磁盘使用 GPT,这是由于GPT分区自动挂载

在 GPT 分区磁盘上,systemd-gpt-auto-generator(8) 将按照可发现分区规范挂载分区,因此可以从 fstab 中省略它们。

另一页同一文档解释了如何禁用此功能:

启动gdisk,例如:

$ gdisk /dev/sda

按 p 打印分区表并记下要禁用自动挂载的分区号。

按 x 额外功能(仅限专家)。

按设定属性。输入分区号并设置属性 63。在设置字段下:它现在应该显示 63(不自动挂载)。按 Enter 键结束属性更改。对您想要阻止自动挂载的所有分区重复此操作。

完成后将表写入磁盘并通过 w 命令退出。

或者使用 sgdisk,可以使用 -A/--attributes= 选项设置属性;使用方法请参见 sgdisk(8)。例如,要在 /dev/sda2 上设置分区属性 63“不自动挂载”,请运行:

$ sgdisk -A 2:set:63 /dev/sda

相关内容