“Lvmetad还没有激活,在启动时使用sysinit期间的直接激活”?

前段时间我在我的电脑上安装了Ubuntu 16.04。 到目前为止,一切顺利,没有问题。 当第一个内核更新出来时,我无法启动它并收到以下错误:

Lvmetad is not active yet, using direct activation during sysinit Volume group "ubuntu-vg" not found Cannot process volume group ubuntu-vg 

当我从GRUB菜单中选择旧内核时,它没问题,没有任何问题。 之后,另一个内核更新出来了,而且还没有成功。 基本上在点击较新的内核版本后,我得到了错误并在屏幕上反复重复(没有结束,至少没有测试过)。

我没有运气就尝试了以下内容:

  • 错误运行LVM LVMETAD套接字连接失败:没有这样的文件或目录 (两个答案)

  • lvmetad还不活跃; 在sysinit期间使用直接激活 (尝试了那个的唯一答案)

都没有奏效。 我有我的磁盘加密,因为它是安装过程中的一个选项,我想为什么不呢? 我认为事情正在发生,虽然它更像是一种直觉,而不是确凿的证据。 我搜索了是否可以取消激活加密,这是一项相当繁琐的工作,所以我有点停止寻找,但如果这似乎是解决方案,我仍然可以尝试。

所以安装的内核版本是4.4.0-21-generic (如GRUB中所示)。 工作正常没问题。 之后,已安装的内核为4.4.0-22-generic4.4.0-24-generic4.4.0-28-generic (如GRUB中所示)。 这三个都不起作用,并给出完全相同的先前错误。

为什么我会收到错误,如何解决?

我从一个实时系统进行了从Ubuntu 14.04 LTS到chroot(chroot,如本德国文章所述 )的发布升级后,我收到了相同的错误消息。

密码提示之前发生错误。 由于LVM卷组通常位于加密卷中,因此它必须是dm_crypt / LUKS配置问题。

我在这里找到了解决方案并将在下面解释。


在我的例子中,加密卷的映射器名称与/ etc / crypttab中给出的名称不同。

在使用图形文件管理器打开加密设备后 ,我从ls -l /dev/mapper的输出中选择了luks映射器的名称。 就我而言,输出是:

 control luks-87fc4c8e-017b-8482-cd09-7332fe351628 vgubuntu-root vgubuntu-swap 

然后,作为root,我改变了我的/ etc / crypttab(请注意行的开头):

 sda5_crypt UUID=87fc4c8e-017b-8482-cd09-7332fe351628 none luks,discard 

至:

 luks-87fc4c8e-017b-8482-cd09-7332fe351628 UUID=87fc4c8e-017b-8482-cd09-7332fe351628 none luks,discard 

最后我更新了我的initramfs:

 update-initramfs -u -k all 

这两个名字不同,有点令人困惑。 可以假设在创建映射器时,其名称取自crypttab。 无论如何,它奏效了。

我在chroot中完成了所有的工作,运行了一个实时系统。 它也可以在启动系统后丢弃的busybox shell中运行,但我还没试过。

新答案:
我意识到只是编辑该文件至少对我来说不起作用,由于某些原因,这些更改已被恢复。

如果需要,可以执行此操作:在旧内核上启动Ubuntu(通过grub启动选择菜单)并下载Grub Customiser ,转到“常规设置”选项卡,然后在“默认条目”下选择较旧的内核启动“预定义:”。 保存。 这样,您将始终默认选择较旧的内核。

原来错误答案:
为什么不使用旧内核? 我也遇到了和你一样的问题,并且由于你发现使用旧内核,我将/boot/grub/grub.cfg第一个菜单项的内核从4.4.0-28更改为通用到4.4.0-21-generic我的电脑终于能够完全启动了。