我有一台 HP Compaq 2510p,运行着干净的 Ubuntu 16.04.3,从启动到登录屏幕似乎需要很长时间,然后当我最终输入登录密码时,需要 45 秒才能准备好操作。
$ systemd-analyze blame
12.481s lightdm.service
11.002s NetworkManager-wait-online.service
10.978s colord.service
10.707s plymouth-start.service
9.839s apparmor.service
9.704s plymouth-read-write.service
3.583s dev-sda5.device
1.936s ModemManager.service
1.781s accounts-daemon.service
1.742s keyboard-setup.service
1.691s systemd-modules-load.service
1.676s NetworkManager.service
1.650s snapd.service
1.574s thermald.service
1.542s systemd-udevd.service
1.475s networking.service
795ms upower.service
559ms teamviewerd.service
511ms grub-common.service
321ms polkitd.service
293ms [email protected]
287ms systemd-logind.service
276ms console-setup.service
lines 1-23
如果它是过度安装的软件,那么它一定是 Ubuntu 全新安装的一部分,因为它在安装完成时发生。这个问题是在系统崩溃并重新安装后出现的。我使用了“擦除磁盘并重新安装”选项,它一直出现“尝试访问外部磁盘 0”(我认为)。后来我发现,如果我使用“其他”选项并创建启动、根和交换分区,安装就会完成并启动。但是,从登录到桌面就绪所需的时间从那时起大约需要 45 秒。我同意,这是一台旧笔记本电脑,但从硬盘访问指示灯来看,在这 45 秒内它似乎什么也没做。
答案1
请原谅这个回复的通用性。我在网上看到过类似的问题,并决定为所有人写一个答案。至于 2510,那是我用于测试的计算机。我在这里提供的详细信息基于 Ubuntu,但问题及其补救措施通常适用于所有发行版。
一些更新了新 Linux 系统的旧计算机会遇到启动问题。它们可能根本无法启动,或者可能需要长达三分钟的时间才能启动。巧合的是,它们要么无法休眠,要么休眠和解除休眠的时间太长,以至于该功能毫无用处。这通常不是因为旧计算机运行缓慢,而是因为 4.8 Linux 内核引入了一项更改,导致非常常见的 Intel 芯片组(包括 svideo 输出)出现问题。从此内核开始,除非包含 Linux 命令行参数,否则任何使用此芯片组的计算机都会遇到启动问题"video=SVIDEO-1:d"
。GRUB_CMDLINE_LINUX
这将显著缩短 64 位和 32 位的启动时间,但仅修复了 64 位的休眠问题。此后,没有 32 位系统支持休眠。此外,所有 4.8 和 4.9 内核版本的启动时间都很糟糕(4.8.rc1-7 除外)。这个问题最终在 4.10 中得到解决。应该避免使用内核 4.8 和 4.9(它们已经过时了)。
如果您想要最快的启动时间,请使用 4.8 之前的内核。我会使用 Ubuntu-desktop 15.04,内核更新为 4.7.10。这是在 32 位系统中实现休眠的唯一方法。64 位系统的启动速度比 32 位慢 7%,但仍比任何更高版本都快。如果您想要当前支持的 32 位系统并愿意放弃休眠,请使用已发布或更新为 4.10 或更高内核的任何系统。任何 64 位版本在 4.8 之后都可以使用视频修复,但为了获得最佳性能,请避免使用 4.8 和 4.9。
要添加视频修复,请执行以下sudo nano /etc/default/grub
操作。关闭 nano 后,请执行以下操作sudo update-grub
。除非GRUB_CMDLINE_LINUX_DEFAULT
在 之后插入GRUB_CMDLINE_LINUX
为空白,否则"video=SVIDEO-1:d"
将不是最后一个 Linux 命令行参数,有些人认为这是必要的。它实际上可以位于任何地方。
pm-hibernate
您始终可以使用终端(或 tty)中的命令调用 hibernate,但要使其成为可用的 GUI 选项,您需要创建或将/etc/polkit-1/localauthority/50-local.d/ com.ubuntu.enable-hibernate.pkla
以下文本添加到策略文件(显然特定于发行版)中:
[Re-enable hibernate by default for login1]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate
ResultActive=yes
[Re-enable hibernate for multiple users by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes