Ubuntu 20.04 更新 luks 加密磁盘后无法启动

Ubuntu 20.04 更新 luks 加密磁盘后无法启动

问题:戴尔笔记本电脑,最近更新后系统无法启动。我正在敲击加密磁盘,或者可能与图形问题有关。通常,通过 grub 后,系统会要求我输入密码以在某些图形模式下解锁磁盘。但现在我不需要输入密码,切换到图形命令行屏幕后,系统停止了,我唯一能做的就是按 Ctrl-Alt-Del 重新启动系统。

除启动分区外,整个磁盘都经过 Luks 加密:

nvme0n1 259:0 0 953,9G 0 disk ├─nvme0n1p1 259:1 0 731M 0 part /boot ├─nvme0n1p2 259:2 0 1K 0 part └─nvme0n1p5 259:3 0 953,2G 0 part └─myvolume 253:0 0 953,2G 0 crypt ├─kubuntu--vg-root 253:1 0 930,4G 0 lvm / └─kubuntu--vg-swap_1 253:2 0 15,6G 0 lvm

我目前尝试过的方法是:我启动了一个 live-stick,并且可以挂载磁盘并更改根目录:

# sudo su # cryptsetup luksOpen /dev/nvme0n1p5 myvolume # vgscan --mknodes Found volume group "kubuntu-vg" using metadata type lvm2 # vgchange -ay 2 logical volume(s) in volume group "kubuntu-vg" now active # mount /dev/mapper/kubuntu--vg-root /mnt/ # mount /dev/nvme0n1p1 /mnt/boot/ # for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done # chroot /mnt/

我可以重新安装 grub、cryptsetup、intitramfs、aptitude upgrade、内核等所有内容,但都无济于事。我在任何日志文件中都找不到有用的消息,唯一的提示可能在一个旧的系统日志中: 但我不确定这是否与问题有关。 Feb 16 14:54:16 ws-04 sddm[997]: Authentication error: "Process crashed" Feb 16 14:54:16 ws-04 sddm[997]: Auth: sddm-helper crashed (exit code 15) Feb 16 14:54:16 ws-04 org.kde.kdeconnect[103919]: The X11 connection broke (error 1). Did the X11 server die? Feb 16 14:54:16 ws-04 ModemManager[936]: ModemManager is shut down Feb 16 14:54:16 ws-04 org.kde.kglobalaccel[1237]: The X11 connection broke (error 1). Did the X11 server die? Feb 16 14:54:16 ws-04 sddm[997]: Authentication error: "Process crashed" Feb 16 14:54:16 ws-04 bluetoothd[826]: Terminating Feb 16 14:54:16 ws-04 sddm[997]: Auth: sddm-helper exited with 15 Feb 16 14:54:16 ws-04 bluetoothd[826]: Endpoint unregistered: sender=:1.38 path=/MediaEndpoint/A2DPSink/sbc Feb 16 14:54:16 ws-04 sddm[997]: Display server stopping... Feb 16 14:54:16 ws-04 bluetoothd[826]: Endpoint unregistered: sender=:1.38 path=/MediaEndpoint/A2DPSource/sbc Feb 16 14:54:16 ws-04 NetworkManager[832]: [1645019656.2312] modem-manager: ModemManager no longer available Feb 16 14:54:16 ws-04 systemd1: Stopping LSB: automatic crash report generation...

有人知道我应该关注哪里吗?

此帖已隐藏。4 小时前,karel, Thomas Ward♦ 已将其删除。

我刚刚意识到,在 Grub 中选择恢复模式选项时,等待很长时间(可能一两分钟)后,我收到一条消息,在 initramfs 控制台中:

Begin: Running /script/local-premount ... findfs: unable to resolve "LABEL=writable" done. the required kernel command line snap_core is not set BusyBox [...] (initramfs)

更新:

我了解了一些有关 initramfs 控制台的知识。有趣的是,我在控制台中找不到磁盘。既没有 /dev/mapper(/dev/mapper/control 除外),也没有 /dev/disk,也没有 /dev/nvme*。我通过 live stick 重新安装了 initramfs-tools 和 initramfs-cryptsetup 以及几个相关软件包,并按照上述方法使用 chroot 进入系统。没有成功。磁盘似乎没问题,因为我可以使用 live-stick 解密并安装它……

更新:

我做了一些我不知道的事情,但是现在当我在 Grub 中选择恢复模式内核时,在进入 initramfs 控制台之前我会收到一些消息。

Gave up waiting for root device. Common problems: -Boot args (cat /proc/cmdline) -Check rootdelay= (did the system wait long enough?) -Missing modules (cat /proc/modules; ls /dev) ALERT! /dev/mapper/kubuntu--vg-rot does not exist. Dropping to a shell!

BusyBox v1.30.1 (Ubuntu 1:1.30.1-2ubuntu6.4) built-in shell (ash) Enter 'help' for a list of built-in commands.

(initramfs)

根据关联您需要重新安装 initramfs 或更改为其他内核版本。但问题是,我目前拥有的所有三个内核版本都存在问题,即 5.4.9-96-generic、-99- 和 -100-。也许 AHCI 模块在 initramfs 中缺失,因为我看不到任何磁盘?我该如何检查/修复这个问题?

答案1

最有效的提示来自一位 Windows 用户,他问道:“难道没有恢复点可以恢复到工作状态吗?”于是,我搜索了 Aptitude 日志文件,也许我可以找出系统仍在工作时更新的内容。事实上,在 /var/log/ 中有几个 aptidude.x.gz 文件。我发现那天 dracat 被 Initramfs 取代了。我尝试在 chroot 模式下撤消此步骤。在标记 dracut 进行安装时,Aptitude 提出了以下建议:

Will install 5 packages, and remove 6 packages. 1124 kB of disk space will be used [REMOVE, NOT USED] initramfs-tools-bin:amd64 0.136ubuntu6.7 [REMOVE, NOT USED] initramfs-tools-core:amd64 0.136ubuntu6.7 [REMOVE, NOT USED] klibc-utils:amd64 2.0.7-1ubuntu5 [REMOVE, NOT USED] libklibc:amd64 2.0.7-1ubuntu5 [REMOVE, NOT USED] lz4:amd64 1.9.2-2ubuntu0.20.04.1 [INSTALL, DEPENDENCIES] dracut:amd64 048+80-2 [INSTALL, DEPENDENCIES] dracut-core:amd64 048+80-2 [INSTALL, DEPENDENCIES] finalrd:amd64 6~ubuntu20.04.1 [INSTALL, DEPENDENCIES] kpartx:amd64 0.8.3-1ubuntu2 [INSTALL, DEPENDENCIES] mdadm:amd64 4.1-5ubuntu1.2 [REMOVE, DEPENDENCIES] initramfs-tools:amd64 0.136ubuntu6.7

Log complete.

对我来说,这看起来很有希望。事实上,在启动开始时系统要求我输入 Luks 密码,然后系统正常启动。

所以,现在我不敢做任何更新,因为它可能会再次用 initramfs 替换 dracat。我不知道真正的问题是什么,我猜,cryptsetup-initramfs 包中有一个错误。有什么已知问题吗?

相关内容