啟動時尋找錯誤的加密分割區

啟動時尋找錯誤的加密分割區

我在 Ubuntu LTS 期間遇到了徹底的故障do-release-upgrade,即使在救援模式下,核心也會在啟動時出現恐慌。所以我載入了一個 LiveUSB,安裝了我的加密分割區,chroot 到它並修復/完成了安裝。或者說我是這麼想的。

現在它走得更遠了(不用恐慌),但它找不到正確的加密分區:它正在尋找kubuntu-vg,而真正的分區名稱(在/dev/sda5 上)應該是mapper/kubuntu--vg -root 然後它讓我進入 busybox shell。

我應該如何更改 LUKS 分割區的名稱?這是 initramfs 設定的 grub 嗎?

編輯:從 initramfs shell:

cryptsetup luksOpen /dev/sda5 kubuntu-vg
lvm pvscan
[Ctrl-D]

然後就可以正常啟動了。但是我該如何修復系統,事情看起來很正常,但即使在以下之後啟動仍然失敗update-grub

$ blkid
/dev/sda5: UUID="99db...9f" TYPE="crypto_LUKS" PARTUUID="00...05"
...
$ cat /etc/crypttab
sda5_crypt UUID=99db...9f none luks
$ cat /etc/fstab
/dev/mapper/kubuntu--vg-root / ext4 errors=remount-ro 0 1
...
$ sudo update-initramfs -k all -u
update-initramfs: Generating /boot/initrd.img-5.15.0-47-generic
cryptsetup: WARNING: target 'kubuntu-vg' not found in /etc/crypttab

我缺什麼?

編輯 2:如果我編輯 fstab:

$ cat /etc/fstab
#/dev/mapper/kubuntu--vg-root / ext4 errors=remount-ro 0 1
/dev/mapper/sda5_crypt / ext4 errors=remount-ro 0 1

$ sudo update-initramfs -k all -u
update-initramfs: Generating /boot/initrd.img-5.15.0-47-generic
cryptsetup: WARNING: target 'kubuntu-vg' not found in /etc/crypttab
W: Couldn't identify type of root file system for fsck hook

所以這比離開更糟糕kubuntu--vg-root

答案1

我從訊息中得到了提示update-initramfs並進行了更改/etc/crypttab

#sda5_crypt UUID=99dbb00a-51e5-4081-aa45-bb9999d9bf9f none luks
kubuntu-vg UUID=99dbb00a-51e5-4081-aa45-bb9999d9bf9f none luks

$ sudo update-initramfs -k all -u
update-initramfs: Generating /boot/initrd.img-5.15.0-47-generic
...
done

下次重新啟動就成功了。

相關內容