Ubuntu
無法在基於 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。
磁碟使用 GPT,這是由於GPT 分區自動掛載:
在 GPT 分區磁碟上 systemd-gpt-auto-generator(8) 將按照可發現分區規範掛載分區,因此可以從 fstab 中省略它們。
同一文件的另一頁解釋瞭如何禁用此功能:
啟動 gdisk,例如:
$ gdisk /dev/sda
按 p 列印分區表並記下要禁用自動掛載的分區號。
按 x 額外功能(僅限專家)。
按設置屬性。輸入分區號並設置屬性 63。在 Set 欄位下:現在應該顯示 63(不要自動掛載)。按 Enter 結束屬性更改。對要防止自動掛載的所有分區重複此操作。
完成後將表寫入磁碟並通過 w 命令退出。
或者使用 sgdisk,可以使用 -A/–attributes= 選項設置屬性;有關用法,請參見 sgdisk(8)。例如,要在 /dev/sda2 上設置分區屬性 63“不自動掛載”,請執行:
$ sgdisk -A 2:set:63 /dev/sda