使用 lvm 减小加密分区的 /root 卷的大小后,ubuntu 启动时出现此错误:
cryptsetup:cryptsetup 失败,密码或选项错误
分区本身没问题。如果我从实时 USB 手动进入,我可以打开加密容器,并挂载和浏览文件系统。
我按照这些指南中给出的步骤减小了根的大小:
https://ubuntuforums.org/showthread.php?t=726724
https://help.ubuntu.com/community/ResizeEncryptedPartitions
https://askubuntu.com/questions/262211/how-do-i-resize-an-encrypted-lvm-to-install-another-copy-of-ubuntu
由于调整大小确实有效,因此没有必要严格展示我执行调整大小所采取的步骤。但我在这里复制这些步骤以确保万无一失,并且它们可能是错误的根源。
(为了方便输入,我还将逻辑卷组从 ubuntu-studio-vg 重命名为 sys-vg)。
我为减少卷大小所采取的步骤如下:
sudo cryptsetup luksOpen /dev/sda5 bonse
sudo e2fsck -f /dev/mapper/sys--vg-root
sudo resize2fs -p /dev/mapper/sys--vg-root 150G
sudo e2fsck -f /dev/mapper/sys--vg-root
sudo lvreduce -L 150.1G /dev/sys-vg/root
sudo lvremove /dev/sys-vg/swap_1
sudo pvresize --setphysicalvolumesize 158.2G /dev/mapper/bonse
sudo lvcreate -L 8G -n swap_1 sys-vg
sudo mkswap -L swap_1 /dev/sys-vg/swap_1
sudo mount /dev/sys-vg/root /mnt
sudo umount /mnt
sudo pvchange -c n /dev/mapper/bonse
sudo cryptsetup status bonse
最后一条声明给出:
...偏移量:4096 个扇区 ...大小:624136192 个扇区
然后:
sudo cryptsetup resize --size 309082032 bonse
sudo vgchange -an
sudo cryptsetup luksClose bonse
sudo fdisk /dev/sda
在 fdisk 中:
- 删除了 sda5 和 sda2
- 创建新的 sda2 作为扩展分区:大小 +159G
- 创建新的 sda2 作为扩展分区:大小 +159G
- 创建新的sda5作为扩展分区:大小+158.9G
- 将 sda5 分区类型更改为“8e: linux LVM”
最后,编辑了 /mnt/etc/fstab mousepad,最初替换了根和交换设备,以便将对 ubuntu--studio--vg 的引用替换为 sys--vg。但这不起作用。因此,我将设备引用更改为 UUID=<,并使用 lvdisplay > 为每个卷提供的 LV UUID。
总结一下,结果是启动时出错。但仍然可以手动打开、安装和读取驱动器。
答案1
问题是我使用 vgrename 更改了卷组的名称。
这似乎是合理的,因为(尽管可以使用剪切和粘贴)默认的 ubuntu-studio-vg 很难输入。所以我把它改成了 sys-vg。
但重命名并没有在我的整个系统设置中级联。lv 文档没有给出任何警告。它也没有报告级联更改的必要性。也没有报告可能需要进行的其他更改。
至少有两个地方:/etc/fstab 和 /boot/grub/grub.cfg