tl;dr:在我当前的Ubuntu安装中添加了一个新的SSD之后,启动时间从8秒上升到70秒。
嗨,
我的系统是运行Windows 10和Ubuntu20.04的双重启动设置。当我安装这两个系统时,每个操作系统本身都有一个SSD,我还在LVM层、LUKS容器中安装了Ubuntu。lsblk的输出如下所示:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 931,5G 0 disk
├─sda1 8:1 1 1G 0 part /boot
└─sda2 8:2 1 930,5G 0 part
└─sda2_crypt 253:0 0 930,5G 0 crypt
├─ubuntu--vg-swap 253:1 0 40G 0 lvm [SWAP]
├─ubuntu--vg-root 253:2 0 40G 0 lvm /
└─ubuntu--vg-home 253:4 0 850,5G 0 lvm /home使用此设置,从输入磁盘加密密钥到登录提示符之间的启动时间为8秒。
几天前,我在我的系统中添加了另一个SSD。我用与旧SSD相同的密码加密新磁盘,然后将新SSD添加到旧SSD的卷组中,并将新空间添加到home LV中。lsblk的输出现在如下所示:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 931,5G 0 disk
├─sda1 8:1 1 1G 0 part /boot
└─sda2 8:2 1 930,5G 0 part
└─sda2_crypt 253:0 0 930,5G 0 crypt
├─ubuntu--vg-swap 253:1 0 40G 0 lvm [SWAP]
├─ubuntu--vg-root 253:2 0 40G 0 lvm /
└─ubuntu--vg-home 253:4 0 1,6T 0 lvm /home
sdb 8:16 1 931,5G 0 disk
└─sdb1 8:17 1 931,5G 0 part
└─sdb1_crypt 253:3 0 931,5G 0 crypt
└─ubuntu--vg-home 253:4 0 1,6T 0 lvm /home我还将新磁盘添加到crypttab文件:
sda2_crypt UUID=4ee8650c-bb07-4223-aab4-9b6327b9c641 none luks,discard
sdb1_crypt UUID=9c7a67f9-32fb-432d-a21f-5b42553911fc none luks,discard系统正在启动,但是从输入磁盘加密密钥到登录提示符之间的启动时间已经上升到大约70秒。输入磁盘加密密钥后,将打印两条警告消息,系统挂在那里大约60秒:
WARNING: Couldn't find device with uuid T8h7bF-ZJGn-rHTL-o0A5-fKtU-b1E9-dqV2TB.
WARNING: VG ubuntu-vg is missing PV T8h7bF-ZJGn-rHTL-o0A5-fKtU-b1E9-dqV2TB (last written to /dev/mapper/sdb1_crypt).上述UUID引用新SSD (sdb1_crypt)上的LVM层。
我试着找出是谁的错导致了更长的启动时间,但没有结果。我的结论是,GRUB不应该是这里的问题,因为它能够启动内核,并且不执行任何特定于LUKS/LVM的任务。Systemd负责缓存加密密钥,但日志显示两个磁盘的解密之间仅相差2秒钟:
Jun 08 16:46:47 nyx lvm[1157]: pvscan[1157] PV /dev/mapper/sda2_crypt online, VG ubuntu-vg incomplete (need 1).
...
Jun 08 16:46:49 nyx lvm[1538]: pvscan[1538] PV /dev/mapper/sdb1_crypt online, VG ubuntu-vg is complete.systemd-analyze显示,大多数情况下,内核都使用:
Startup finished in 26.113s (firmware) + 3.895s (loader) + 1min 25.304s (kernel) + 7.837s (userspace) = 2min 3.150s
graphical.target reached after 7.830s in userspace我没有胶水,内核在等待什么,也没有从这里往哪个方向走。也许一个对引导过程有更好理解的人能把我引向正确的方向?
发布于 2022-01-13 14:30:24
我想,经过几天的搜索,我在下面的链接中找到了这个话题的答案。
解决方案--我已经通过在/etc/crypttab中添加initramfs标志并使用keyscript=decrypt_keyctl而不是密钥文件来避免第二个驱动器输入密码两次来解决这个问题: luksSSD UUID=UUID1 none luks、initramfs、discard、keyscript=decrypt_keyctl luksHDD UUID=UUID2 none luks、initramfs、keyscript=decrypt_keyctl avoid --initramfs -c -k都需要执行并解决问题。
https://askubuntu.com/questions/1248266
复制相似问题