删除了 LVM 交换分区,现在由于错误导致启动需要很长时间

删除了 LVM 交换分区,现在由于错误导致启动需要很长时间

语境

最初我有以下分区结构

nvme0n1
├─nvme0n1p1             /boot/efi
└─nvme0n1p2
  ├─ubuntu--vg-root     /
  └─ubuntu--vg-swap_1   swap

然后我决定删除交换分区,改用交换文件。我创建了一个文件,调用mkswap /swapfile它,swapoff -a然后swapon /swapfile。然后我编辑/etc/fstab并更改了以下行

/dev/mapper/ubuntu--vg-swap_1   none swap sw  0 0

/swapfile  none swap sw  0 0

重新启动工作正常,因此我打开gparted并删除了交换分区以扩展根目录(我改为使用lvexpand),因此我的分区现在看起来(至于命令lsblk

nvme0n1
├─nvme0n1p1             /boot/efi
└─nvme0n1p2
  └─ubuntu--vg-root     /

问题

我肯定是搞错了,因为现在重启至少需要 25 秒(而不是 4 秒),而且看起来它正在暂停启动以寻找交换分区,因为在正常启动之前,以下消息至少出现了 5 次

failed to find logical volume ubuntu-vg/swap_1

我尝试过的方法(根据我在网上找到的信息)

  1. 运行update-grub(未grub.cfg提及swap_1
  2. 跑步update-initramfs -u
  3. 文件/etc/initramfs-tools/conf.d/resume不存在,因此无需进行任何更改
  4. lsblklvdisplay显示根分区

恐怕 LVM 配置中一定还有交换分区的概念,因为我没有使用它的命令来删除它,但我找不到任何地方将其列为swap_1分区(除了 中的某些文件/etc/lvm/archive,但我想它们对我没用)。我甚至对任何文件中的内容进行了全盘搜索swap_1,但只有包含在文本中的错误日志

答案1

事实证明,update-initramfs -u这还不够,因为它没有更新当前内核 initramfs(而是使用了我没有使用的其他内核之一),并继续使用旧分区的旧内核。解决方案是指定当前加载的内核

sudo update-initramfs -k $(uname -r) -u

(有疑问我还添加了RESUME=/swapfile以前/etc/initramfs-tools/conf.d/resume不存在的内容,所以也是如此)

相关内容