我在 Dell XPS 13 9333 上新安装的 Ubuntu 16.04 启动非常慢。我运行了 dmesg 并在此处保存了输出:http://pastebin.com/6vGwv5gc。
在我设法再次将启动时间减少到 10 秒后(请参阅下面的答案)我删除了 OP 中的一些误导性分析。
输出如下:
$ systemd-analyze critical-chain
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.
graphical.target @1min 30.712s
└─multi-user.target @1min 30.712s
└─getty.target @1min 30.712s
└─[email protected] @1min 30.712s
└─rc-local.service @1min 30.456s +20ms
└─network.target @1min 30.456s
└─wpa_supplicant.service @1min 31.916s +102ms
└─basic.target @1min 30.138s
└─sockets.target @1min 30.138s
└─snapd.socket @1min 30.137s +372us
└─sysinit.target @1min 30.134s
└─systemd-backlight@leds:dell::kbd_backlight.service @1.464s
└─system-systemd\x2dbacklight.slice @860ms
└─system.slice @96ms
└─-.slice @94ms
如果有人能在这里给我一些提示我将不胜感激。
答案1
最后我设法将启动时间再次缩短到 10 秒。
我是如何做到的?
似乎安装期间交换分区配置不正确。我全新安装了 16.04,但告诉它使用位于 sda5 的旧交换分区。如上所述,在我的 /etc/fstab 中,带有交换的行被取消注释。我删除了“#”,交换正在安装。然而,启动时间并没有改善。当通过执行关闭交换sudo swapoff -a
并再次打开时,sudo swapon -a
我收到一条错误消息,提示 cryptswap 未找到。
我使用free
命令检查了运行内存密集型程序时是否使用了交换空间。结果发现交换空间根本没有被使用。
所以我用 关闭了交换sudo swapoff -a
。
重新创建交换sudo /sbin/mkswap /dev/sda5
。(sda5 是我的交换分区,如果你的是另一个,请替换它)。
现在我从执行命令后出现的终端输出中复制了 UUID。(如果输出是:UUID=e933aaa4-620a-4657-a988-71539a2e36ab
您想要复制e933aaa4-620a-4657-a988-71539a2e36ab
)
我使用 检查了 fstab cat /etc/fstab
,结果显示:
#swap was on /dev/sda5 during installation
UUID=23b67f5b-52cf-4f95-881c-62c2b962ec06 / 无交换 sw 0 0
/dev/mapper/cryptswap1 无 交换 sw 0 0
我删除了 :UUID=23b67f5b-52cf-4f95-881c-62c2b962ec06 / none swap sw 0 0
(您可以使用 编辑 fstab sudo nano /etc/fstab
。)
因此,我的 fstab 现在针对交换区域如下所示:
# swap was on /dev/sda5 during installation
/dev/mapper/cryptswap1 none swap sw 0 0
之后,我用sudo nano /etc/crypttab
'编辑了crypttab,并用我在上面的步骤中复制的UUID替换了UUID。
现在 crypttab 看起来像:
cryptswap1 UUID=e933aaa4-620a-4657-a988-71539a2e36ab /dev/urandom swap,offset=1$
最后我执行了sudo swapon -a
重启。您需要重启才能使此更改生效,因为只有在启动时才会/dev/mapper/cryptswap1
创建。