使用的系统是Ubuntu18.04,某天发现开机很慢,可能之前弄了什么,导致开机慢得很。后来发现,跟之前对根目录磁盘扩容的操作,导致了swap分区的UUID变了,所以开机就变得很慢。
先说几种简单的检查方法:
- 先检查一下各个开机启动项的耗时,运行
systemd-analyze blame
,然后查看对应信息,如下图 - 这里显示的就是各个开机启动项所需要的时间,可以看到,没有用时特别长的,说明并不是开机启动项导致的开机时间过长。
若发现某个启动项要耗时几十秒的,可以通过disable的指令,把它禁用,比如禁用xxx.service
,运行sudo systemctl disable xxx.service
- 查看当前swap分区的UUID编号对不对,或者看看自己的swap分区是不是没有了
1)先打开磁盘分区工具,如果没有就安装sudo apt-get install gparted
2)安装完后,启动sudo gparted
3)查看各个分区情况,重点看看swap分区 - 4) 然后查看硬盘启动项,这些都是在启动系统时自动运行的,运行
sudo gedit /etc/fstab
- 5) 然后在gparted中,双击swap分区,查看它的UUID是不是跟启动文件中的UUID相同,我这里的就是不相同的,如下图
- 可见,因为我之前的拓展分区操作,可能也让这里的swap分区UUID发生了改变,但是系统的启动项文件却没有被更新,导致开机特别慢。所以只要把它改过来,重启电脑,就会发现,开机启动速度飞快,用的是SSD固态硬盘,开机速度应该非常快才对的。
- 最后一种情况,看到别人blog中记载的,如果发现自己的swap分区没了,或原本就没有swap分区,可以试着把
/etc/fstab
文件中对应的swap分别那行注释掉。好像也能让开机速度变快。
其实所有问题的核心都在与swap分区的有没有被用起来,有些人在装系统时不单独设置swap分区,把它也整合到根目录下,这样应该也是可以的,只是在系统启动项里面就不要再单独写出swap分区就好了。
Reference
- Ubuntu启动速度过慢解决方法: