去年年底,我更换了联想 Thinkpad L380 上的 SSD。我从实时 USB 安装了 Ubuntu 20.04,其中有单独的 /boot 和 /boot/efi 分区以及一个 LUKS 加密分区用于 /
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1050623 1048576 512M EFI System
/dev/nvme0n1p2 1050624 2549759 1499136 732M Linux filesystem
/dev/nvme0n1p3 2549760 3907028991 3904479232 1.8T Linux filesystem
没有 Windows 分区。
系统重启正常。然后,我安装了之前 18.04 安装中的 20.04 版本软件包,并从备份中恢复了我的主目录。
上周软件更新后,我重启了系统,但无法启动。没有出现 GRUB 菜单,也没有提示我输入加密密码,日志的最后一行提到了 snap。经过漫长的等待,系统自行重启。这次 snap 消息消失了,但仍然无法启动。
我尝试了网上的建议来让 GRUB 菜单出现:
按住 BIOS 屏幕上的 SHIFT 键不起作用。
我从实时 USB 启动、挂载分区并编辑/etc/default/grub
:
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_TERMINAL=console
GRUB_INIT_TUNE="480 440 1"
然后运行update-grub
。重新启动时,我可以听到哔声(因此更改一定已生效),但没有出现菜单。
我尝试删除最新内核,然后运行update-grub
并重新启动。没有变化。
然后我备份了软件包列表和主目录,并进行了另一次全新重新安装。系统重新启动正常。然而,在恢复软件包和主目录时,我完全一样的问题:快照错误且无法启动。:
有五条消息非常相似。第一条消息如下:
systemd-udevd[206]: card0: Process '/usr/lib/snapd/snap-device-helper change snap_snap-store_snap-store /devices/pci0000:00/0000:00:02.0/drm/card failed with exit code 1.
在随后的重新启动时,快照消息消失了,但仍然无法启动。
我运行了启动修复程序,保存了日志。这恢复了 GRUB 菜单,以便我可以启动到恢复模式。
现在我看到以下消息。它们要花很长时间才能全部显示出来:
Begin: Running /scripts/local-top … Volume group “vgubuntu” not found
Cannot process volume group vgubuntu
Volume group “vgubuntu” not found
Cannot process volume group vgubuntu
Cryptsetup: Waiting for encrypted source device
UUID=xxxx
Done.
Begin: Running /scripts/local-premount … findfs: unable to resolve ‘LABEL=writable’
Begin: Waiting for suspend/resume device … Begin: Running /scripts/local-block … Cryptsetup: Waiting for encrypted source device
UUID=xxxx
Volume group “vgubuntu” not found
Cannot process volume group vgubuntu
Done.
Cryptsetup: Waiting for encrypted source device
UUID=xxxx
Done.
Gave up Waiting for suspend/resume device
Done
The required kernel commandline snap_core is not set
然后我被转储到 initramfs 提示符下。
有什么建议吗?我不清楚上述哪条消息是导致问题的原因。那条snap_core
消息似乎很关键。
答案1
不知怎么的,我设法安装了仅适用于嵌入式系统的软件包initramfs-tools-ubuntu-core
。也许我在某个时候使用了通配符。删除此包并重新运行引导修复至少可以消除快照错误。
我仍然必须从头开始重新安装,但这次尝试省略这个包导致了可启动系统。