虚拟机扩容后,SWAP 分区始终无法挂载?这其实是常见问题。最近在折腾 Lubuntu 时也遇到了同样状况,顺手把修复过程整理下来,其他 Linux 发行版未必完全一致,但解决思路可以借鉴。
问题究竟出在哪?先到图形界面查看。打开系统自带的磁盘管理工具——在 Lubuntu 中就是 Disks。点击 SWAP 分区,状态栏清楚显示着“not mount”——未挂载。

接下来按以下步骤修复。
第一步,先将该分区格式化为 ext4。点击左下角齿轮图标,选择第一项“format”,文件系统类型选 ext4。等待格式化完成,该分区会暂时变为普通数据分区。


第二步,重新将分区类型改回 SWAP。再次点击齿轮图标,这次选择“edit partition”,在类型栏手动输入或选择“swap 0x82”。确认后关闭对话框。

第三步,打开终端,查询新 SWAP 分区的 UUID。执行命令:ls -l /dev/sda/by-uuid。找到对应分区(通常为 sda5 或类似名称),复制那一长串 UUID。这一步至关重要,因为 /etc/fstab 文件中挂载分区正是依赖该标识符。

第四步,修改 fstab 配置文件。先用 chmod u+w /etc/fstab 为当前用户添加写入权限,再用 vi /etc/fstab 编辑文件。找到原来 SWAP 对应的那一行,将旧 UUID 替换为刚才复制的新 UUID。保存并退出,然后重启虚拟机——完成后再次检查,SWAP 分区应该已自动挂载。

如果重启后仍未挂载,不要着急。再次进入终端,直接执行 mkswap /dev/sda5(请替换为实际分区名)。该命令会重新创建 SWAP 文件系统。执行完毕后,重复上述查询 UUID 和修改 fstab 的步骤,这次肯定能顺利解决。
