升级至17.1后交换分区未被使用且设备卡顿,如何恢复使用原分区?
嘿,我完全懂你升级Ubuntu后遇到的这种糟心状况——好好的交换分区被换成了交换文件,结果设备频繁卡顿,简直让人头大。别慌,咱们一步步把原交换分区找回来,恢复系统流畅度:
步骤1:确认原交换分区的信息
首先得找到你原来的交换分区到底是哪一个,打开终端输入:
sudo lsblk -f
这个命令会列出所有存储设备的详细信息,你要找TYPE列标记为swap的那一行,记下它的UUID(这是最稳定的标识,比/dev/sdaX这类路径靠谱),或者设备路径(比如/dev/sda3)。
步骤2:关闭当前的交换文件
现在系统正在用交换文件,得先把它关掉:
sudo swapoff /swapfile
如果之后不想留着这个交换文件(避免混淆),可以直接删掉它:
sudo rm /swapfile
步骤3:修改fstab配置文件(关键!)
/etc/fstab是系统启动时挂载存储设备的核心配置文件,咱们得把它改成指向原交换分区。首先先备份原文件,以防改错了能快速恢复:
sudo cp /etc/fstab /etc/fstab.bak
然后用文本编辑器打开fstab(这里用nano,简单易操作):
sudo nano /etc/fstab
在文件里找到类似这样的交换文件配置行:
/swapfile none swap sw 0 0
把这一行注释掉(在开头加#)或者直接删除。然后在文件末尾添加原交换分区的配置,推荐用UUID的写法(把下面的xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx换成你刚才记下的UUID):
UUID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx none swap sw 0 0
如果你习惯用设备路径,也可以写成:
/dev/sdXn none swap sw 0 0
(把/dev/sdXn换成你的交换分区路径,比如/dev/sda3)
改完之后按下Ctrl+O保存,再按Ctrl+X退出nano。
步骤4:启用原交换分区并验证
现在让系统加载新的交换配置:
sudo swapon -a
然后输入下面的命令确认原交换分区已经在工作了:
sudo swapon --show # 或者用这个看内存和交换区的整体情况 free -h
如果输出里能看到你的原交换分区信息,那就说明配置成功了。
步骤5:重启系统验证
最后重启一下你的设备,确保开机后系统自动加载的是原交换分区而不是交换文件:
sudo reboot
重启后再运行free -h或者swapon --show确认一遍就大功告成了!
小提醒
- 备份
/etc/fstab非常重要,要是不小心写错了,可能导致系统无法正常启动,这时候用备份文件恢复就行。 - 如果在
lsblk -f里找不到TYPE为swap的分区,那可能是升级过程中原交换分区被意外格式化了,这种情况你可以先用sudo mkswap /dev/sdXn重新格式化它,然后再按上面的步骤配置。
内容的提问来源于stack exchange,提问作者dezzer10

