Ubuntu 桌面 17.04 64 位,带加密主页,启动缓慢

use*_*634 20 boot systemd 17.04

我在硬盘上的笔记本电脑上重新安装了 Ubuntu 17.04 桌面 64 位 UEFI。

笔记本电脑:英特尔酷睿 i5-5200U、英特尔高清显卡 5500、16 GB 内存。

启动需要大约 120 秒(从按下电源开关到登录屏幕,在 ssd 上使用 Ubuntu 16.04.2 需要不到 20 秒)。

系统日志

$ systemd-analyze blame
          5.187s dev-sdb2.device
          4.268s ModemManager.service
          3.138s accounts-daemon.service
          2.852s fwupd.service
          2.688s grub-common.service
          2.421s irqbalance.service
          2.367s apport.service
          2.360s gpu-manager.service
          2.269s NetworkManager.service
          1.641s thermald.service
          1.632s polkit.service
          1.567s rsyslog.service
          1.336s keyboard-setup.service
          1.241s lightdm.service
          1.240s plymouth-quit-wait.service
          1.231s speech-dispatcher.service
          1.172s udisks2.service
          1.159s apparmor.service
          1.019s alsa-restore.service
           976ms repowerd.service
           957ms upower.service
           900ms bluetooth.service
           821ms systemd-resolved.service
           792ms dev-hugepages.mount
           792ms dev-mqueue.mount
           789ms avahi-daemon.service
           755ms sys-kernel-debug.mount
           689ms systemd-cryptsetup@cryptswap1.service
           663ms systemd-modules-load.service
           638ms rtkit-daemon.service
           599ms systemd-backlight@backlight:intel_backlight.service
           540ms systemd-rfkill.service
           511ms systemd-udevd.service
           505ms systemd-fsck@dev-disk-by\x2duuid-F685\x2d7079.service
           456ms systemd-machine-id-commit.service
           455ms openvpn.service
           444ms systemd-timesyncd.service
           386ms systemd-user-sessions.service
           326ms systemd-journald.service
           321ms kmod-static-nodes.service
           273ms systemd-logind.service
           243ms colord.service
           239ms systemd-udev-trigger.service
           227ms wpa_supplicant.service
           199ms networking.service
           192ms console-setup.service
           191ms systemd-tmpfiles-setup-dev.service
           188ms pppd-dns.service
           184ms systemd-hostnamed.service
           171ms user@1000.service
           170ms systemd-localed.service
           165ms setvtrgb.service
           162ms systemd-tmpfiles-setup.service
           131ms dns-clean.service
           101ms systemd-journal-flush.service
            92ms resolvconf.service
            91ms sys-fs-fuse-connections.mount
            82ms systemd-sysctl.service
            79ms systemd-remount-fs.service
            70ms systemd-random-seed.service
            51ms ufw.service
            44ms systemd-update-utmp.service
            42ms boot-efi.mount
            37ms snapd.socket
            14ms plymouth-start.service
            11ms plymouth-read-write.service
             6ms snapd.autoimport.service
             4ms ureadahead-stop.service
             4ms dev-mapper-cryptswap1.swap
             3ms systemd-update-utmp-runlevel.service
             1ms swapfile.swap
Run Code Online (Sandbox Code Playgroud)

系统分析图

有任何想法吗?

use*_*634 30

明白了,这是加密 home 选项普遍性问题:系统挂起,因为 ecryptfs-setup-swap 不能使用交换文件

我像往常一样使用加密的 Home 设置 Ubuntu,链接启动中描述的修复从 ~200 秒下降到 ~30 秒,这是在硬盘上。


编辑:问题是在安装带有加密 home 的 Ubuntu 时,17.04 创建一个交换文件而不是像以前版本那样的交换分区,然后安装程序写入了错误的配置文件。

引用,来自原始错误报告:

特别是,ecryptfs-setup-swap 在 /etc/crypttab 中放置了如下一行:

cryptswap1 UID=XXXXXXXX /dev/urandom
swap,offset=1024,cipher=aes-xts-plain64
Run Code Online (Sandbox Code Playgroud)

(就像有一个 UID=XXXXXXXX 的交换分区)而使用交换文件时,它应该放置以下行:

cryptswap1 /swapfile /dev/urandom
swap,offset=1024,cipher=aes-xts-plain64
Run Code Online (Sandbox Code Playgroud)

如果您手动更改该行并重新启动,则会解决问题 - 在重新启动之前,还要检查您的 /etc/fstab 文件是否以:

#/swapfile none swap sw 0 0
/dev/mapper/cryptswap1 none swap sw 0 0
Run Code Online (Sandbox Code Playgroud)

由于这个错误,Ubuntu 花了很长时间等待交换。

固定 systemd-analyze 责备

固定系统分析图

  • 你能解释一下这个修复是如何工作的吗?我几乎无法得到它。我想会有很多其他人也无法理解解决问题的工作流程 (4认同)