每个指南都提出永久禁用交换,只需注释掉相应的行/etc/fstab
即可防止交换在重新启动时安装;然而,这在 Debian 11 中不起作用。
例子:
\nsudo swapoff -a
工作完美,但在重新启动后不会持续存在。
fstab 文件示例,其中行被注释掉:
\n# /etc/fstab: static file system information.\n#\n# Use 'blkid' to print the universally unique identifier for a\n# device; this may be used with UUID= as a more robust way to name devices\n# that works even if disks are added and removed. See fstab(5).\n#\n# systemd generates mount units based on this file, see systemd.mount(5).\n# Please run 'systemctl daemon-reload' after making changes here.\n#\n# <file system> <mount point> <type> <options> <dump> <pass>\n# / was on /dev/sda2 during installation\nUUID=6b762cb8-b92b-489a-98cf-2bf200e3c4ae / ext4 errors=remount-ro 0 1\n# /boot/efi was on /dev/sda1 during installation\nUUID=4847-3887 /boot/efi vfat umask=0077 0 1\n# swap was on /dev/sda3 during installation\n# UUID=b9aeb506-ad7d-488d-b2b9-7c68dff21906 none swap sw 0 0\n/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0\n
Run Code Online (Sandbox Code Playgroud)\n手动的
\n手动关闭交换后:
\nsudo swapoff -a
lsblk
交换分区仍然挂载,但不再列为交换分区。交换已成功禁用:
\nNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT\nsda 8:0 0 127G 0 disk\n\xe2\x94\x9c\xe2\x94\x80sda1 8:1 0 512M 0 part /boot/efi\n\xe2\x94\x9c\xe2\x94\x80sda2 8:2 0 125.5G 0 part /\n\xe2\x94\x94\xe2\x94\x80sda3 8:3 0 976M 0 part\nsr0 11:0 1 1024M 0 rom\n
Run Code Online (Sandbox Code Playgroud)\n编辑 Fstab
\n编辑 fstab 文件、运行sudo systemctl daemon-reload
并执行系统重启后,交换仍然存在
lsblk -o +PARTTYPE
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT PARTTYPE\nsda 8:0 0 127G 0 disk\n\xe2\x94\x9c\xe2\x94\x80sda1 8:1 0 512M 0 part /boot/efi c12a7328-f81f-11d2-ba4b-00a0c93ec93b\n\xe2\x94\x9c\xe2\x94\x80sda2 8:2 0 125.5G 0 part / 0fc63daf-8483-4772-8e79-3d69d8477de4\n\xe2\x94\x94\xe2\x94\x80sda3 8:3 0 976M 0 part [SWAP] 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f\nsr0 11:0 1 1024M 0 rom\n\n
Run Code Online (Sandbox Code Playgroud)\n显然还少了一步。
\n它由 systemd 激活。参见man systemd-fstab-generator
和man systemd.swap
。
Archlinux wiki:通过 systemd 激活
systemd基于两种不同的机制激活交换分区。两者都是 /usr/lib/systemd/system-generators 中的可执行文件。生成器在启动时运行并为安装创建本机 systemd 单元。第一个是 systemd-fstab-generator,读取 fstab 以生成单元,包括用于交换的单元。第二个 systemd-gpt-auto-generator 检查根磁盘以生成单元。它仅在 GPT 磁盘上运行,并且可以通过类型 GUID 识别交换分区,有关更多信息,请参阅systemd#GPT 分区自动挂载。
要停用特定交换空间:
# swapoff /dev/sdxy
Run Code Online (Sandbox Code Playgroud)
或者使用 -a 开关停用所有交换空间。
由于swap是由systemd管理的,因此它会在下次系统启动时再次激活。要永久禁用检测到的交换空间的自动激活,请运行
systemctl --type swap
以查找负责的.swap
单元并将其屏蔽。
检查状态:
systemctl status *swap
Run Code Online (Sandbox Code Playgroud)
或者 :
systemctl --type swap
Run Code Online (Sandbox Code Playgroud)
然后禁用该服务:
sudo systemctl mask "dev-*.swap"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18129 次 |
最近记录: |