第一种方法

第一种方法

我的第一次安装不包括 LVM,BIOS 启动后大约需要 15 秒。我的第二次安装包括 LVM,BIOS 启动后大约需要 45 秒。经过多次 Google 搜索,普遍的共识似乎是这是一个错误,在安装过程中使用“某些”SSD 时选择 LVM 会导致启动时间过长,因为系统会查找交换文件但找不到。超时时间为 30 秒。有人找到解决方法吗?

答案1

尝试以下两种方法中的任一种,或者同时尝试两种方法。

第一种方法

打开终端并输入以下内容来验证内核启动时间:

systemd-analyze

wait-for-root在30 秒后超时/usr/share/initramfs-tools/scripts/local(休眠值)。dev_id变量被赋值为 ,其值RESUME在 处定义/etc/initramfs-tools/conf.d/resume。 分配给 RESUME 的这个 UUID 是 LVM 交换分区的 UUID。 将 LVM 交换分区的设备文件路径分配给 RESUME 并使用 ,wait_for_udev而不是wait-for-root

为此,请在终端中输入:

sudo sed -e 's/^RESUME=/#RESUME=/g' \
   -i /etc/initramfs-tools/conf.d/resume

完成后,输入:

echo "RESUME=/dev/mapper/ubuntu--YOUR FLAVOR OF UBUNTU HERE--vg-swap_1" | \
sudo tee -a /etc/initramfs-tools/conf.d/resume

重新创建 initrd 并重启系统。

sudo update-initramfs -u

完成后,输入:

sudo reboot

内核启动时间应该更快。输入以下命令进行验证:

systemd-analyze

此后您还可以使用休眠模式。

来源

第二种方法

导航/etc/initramfs-tools/conf.d/

右键单击“恢复”,然后选择以管理员身份编辑. 更改行

RESUME=UUID=<WHATEVER YOUT NUMBER IS>

(例如RESUME=UUID=67b3fe6f-1ec4-413f-8c5a-1136bc7f3270)至:

RESUME=none

现在打开终端并输入:

sudo update-initramfs -u

完成后,输入:

sudo reboot

内核启动时间应该更快。输入以下命令进行验证:

systemd-analyze

来源

答案2

免责声明:在撰写本文时,我没有足够的声誉来评论其他答案,因此我必须输入一个新的答案(主要作为我自己的参考)

我在全新安装的 Ubuntu 上遇到了类似的问题,裸机安装启动时间约为 15 秒,而 LVM 安装的启动时间约为 50 秒(黑屏时暂停约 30 秒)。

第一次打电话时,sudo systemd-analyze blame我被告知还有另一个问题:

$ sudo systemd-analyze blame
     40.699s snapd.seeded.service
     ...

感谢其他问答,我才得以解决这个问题:在全新 SSD 安装(18.04)上进行常规 dist-upgrade 后,Ubuntu 加载/启动画面出现长时间启动延迟通过安装rng-tools并定义HRNGDEVICE=/dev/urandom为中的随机数据输入源/etc/default/rng-tools

这解决了 snapd 熵问题:

$ sudo journalctl -u snapd.seeded.service --since today
  -- Logs begin at Tue 2018-08-21 18:22:53 CEST, end at Tue 2018-08-21 19:40:09 CE
  # Before: ~40s
  Aug 21 18:22:54 zen systemd[1]: Starting Wait until snapd is fully seeded...
  Aug 21 18:23:36 zen systemd[1]: Started Wait until snapd is fully seeded.
  Aug 21 18:50:18 zen systemd[1]: Stopped Wait until snapd is fully seeded.   
  -- Reboot --
  # After: <1s
  Aug 21 18:51:19 zen systemd[1]: Starting Wait until snapd is fully seeded...
  Aug 21 18:51:19 zen systemd[1]: Started Wait until snapd is fully seeded.
  ....

但是内核仍然需要大约 35 秒才能启动,所以我采取了“傻瓜式”的方式尼尔斯-芬纳,起初没有起作用,但与第一种溶液混合后阿尼和大卫我最终设法将启动时间缩短至约 10 秒。

因此,供(我自己的)参考,这里是我解决该问题的安全路径版本:

 $ cd <whatever back up folder on your machine>
 # backup initial config
 $ cp /etc/initramfs-tools/conf.d/resume .

 # Retrieve the correct path to the swap partition (for manually configured LVMs)
 $ sudo fdisk -l

   ... some partitions

   Disk /dev/mapper/vg_zen-uswap: 4 GiB, 4294967296 bytes, 8388608 sectors
   Units: sectors of 1 * 512 = 512 bytes
   Sector size (logical/physical): 512 bytes / 512 bytes
   I/O size (minimum/optimal): 512 bytes / 512 bytes

   ... some more partitions

 # Update the "resume" file with the new path
 # Caution "vg_zen-uswap" is for *my* machine only :)
 $ echo "RESUME=/dev/mapper/vg_zen-uswap" | sudo tee /etc/initramfs-tools/conf.d/resume
   RESUME=/dev/mapper/vg_zen-uswap   

 # Recreate initrd
 $ sudo update-initramfs -u 
   update-initramfs: Generating /boot/initrd.img-4.15.0-32-generic

 # reboot

这对我来说很管用。HTH。

答案3

似乎上面描述的第二种方法通常不起作用。此外,我建议使用更“傻瓜式”的方法,以避免意外覆盖交换 UUID。

sudo -i    #become root
cd /etc/initramfs-tools/config.d
mv resume resume.uuid
echo "RESUME=/dev/mapper/YOUR UBUNTU FLAVOUR HERE--vg-swap_1" > resume
#Example: echo "RESUME=/dev/mapper/lubuntu--vg-swap_1" > resume

update-initramfs -uk all
sync && reboot

现在我们可以通过重命名这两个文件来简单地来回切换。

相关内容