我想删除指向不存在分区的 dev/sda5 UUID,我该怎么做?
$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=5bcf817f-f935-4b32-9a09-9fd55c78ea9e / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=d9023442-81ce-4f8d-85e9-c29f195edf4e none swap sw 0 0
/dev/disk/by-uuid/FA989EF0989EAB21 /mnt/FA989EF0989EAB21 auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-uuid/08F0A230F0A223C2 /mnt/08F0A230F0A223C2 auto nosuid,nodev,nofail,x-gvfs-show 0 0
答案1
1.如果要删除交换,只需从中删除或注释掉其定义即可/etc/fstab
。对于你的情况,这是以下行:
# swap was on /dev/sda5 during installation
UUID=d9023442-81ce-4f8d-85e9-c29f195edf4e none swap sw 0 0
2.如果您想设置另一个分区作为交换区域:
创建分区(或使用
sudo lsblk
来查找它)。为了举例,我们假设它是/dev/sda3
。执行以下命令将其格式化为交换分区:
mkswap /dev/sda3
使用命令
sudo swapon /dev/sda3
临时激活,然后使用sudo swapon --show
和检查是否激活成功free -h
。要永久激活它,首先通过命令找到分区 UUID
sudo blkid /dev/sda3
,然后修改文件中的交换定义/etc/fstab
。
3.如果你想使用交换文件而不是交换分区,这是新版本 Ubuntu 中使用的更灵活的方法:
首先创建文件(假设它有 16G 大)并更改其权限:
sudo fallocate -l 16G /swapfile sudo chmod 600 /swapfile
接下来格式化它:
sudo mkswap /swapfile
暂时激活它并检查:
sudo swapon /swapfile sudo swapon --show free -h
永久激活它 - 添加以下行
/etc/fstab
:/swapfile none swap sw 0 0
4.此外,如果您在 SSD 中使用交换,也许您希望尽量减少它的使用:
vm.swappiness
调整和的值vm.vfs_cache_pressure
,例如(参考):sudo sysctl vm.swappiness=10 # Frequency of swap usage: 0 - 100 / rare used - frequent used sudo sysctl vm.vfs_cache_pressure=50 # Cache flushing: 0 - 100 / / rare flushed - frequent flushed
检查当前值:
cat /proc/sys/vm/swappiness cat /proc/sys/vm/vfs_cache_pressure
使更改永久生效 - 将以下几行添加到末尾
/etc/sysctl.conf
:nvm.swappiness=10 nvm.vfs_cache_pressure=50