解決ubuntu 14.04無法使用swap的bug


如果各位已經像我那樣,把主要的伺服器都升級去ubuntu 14.04,而這個ubuntu 14.04是使用clean install方法安裝,而且home directory和swap都有設定要加密,恭喜你,你和我一樣中獎了!

打開terminal,輸入free -m,看看有甚麼驚奇的事發生?沒錯,你的swap不能使用!

解決方法:
首先,你需要是root
sudo -i
找出你swap所用的partition。我的是/dev/sda5,下面的指令請換成你的。
fdisk -l
然後,確保你的swap真的是不能mount,如果你能夠成功umount,代表你的swap根本沒有問題,重新mount即可,不用再看下去。
umount /dev/sda5
記得把/dev/sda5換成你的partition!
Format:
mkswap /dev/sda5
Format完成後你會取得一組新的UUID,把這行覆寫到檔案/etc/initramfs-tools/conf.d/resume
RESUME=UUID=6ef3259c-f93b-4495-ac96-69257f4e21d6
記得換成你的UUID!
/etc/crypttab也要修改:
cryptswap1 UUID=6ef3259c-f93b-4495-ac96-69257f4e21d6 /dev/urandom swap,cipher=aes-cbc-essiv:sha256
更新initramfs:
update-initramfs -u
大工告成,重新開機即可
reboot
保貴的swap終於回來了!要知道,窮困如我,VPS一年20米金,RAM可是少得只有可憐的256MB呢,沒有swap,很難應付需要的,希望在ubuntu 14.04.1時這個bug可以修復,這樣就不再用每次安裝完成都要再設定swap了。

相關bug report:
Bug #1303002
Bug #1301383
Bug #1310058
Bug #1313230

留言

這個網誌中的熱門文章

如何在ubuntu中compile kernel(12.10)