Kubuntu 18.10 和 Kubuntu 19.04 - Grub 错误:找不到合适的内存目标

Kubuntu 18.10 和 Kubuntu 19.04 - Grub 错误:找不到合适的内存目标

在安装 Kubuntu 18.10 和 19.04 时,我遇到了看到 grub 错误消息“找不到合适的内存目标”的问题,然后在内核启动后出现内核恐慌消息“未同步:VFS:无法在未知块(0,0)上挂载根 fs”当我降级到 Kubuntu 17.04 时一切正常。

我的电脑运行的是 asrock x99 extreme6,内存 >32G,CPU 为 E5-2690v3 Xeon。BIOS 是完整的 UEFI BIOS,禁用了 CSM。系统中只有 1 个 SSD,并且已移除所有其他存储设备(安装 USB 驱动器除外)。我有两张显卡,一张是 Nvidia,另一张是 AMD。我正在单击安装过程以使安装尽可能通用。

我设法弄清楚了,较新的操作系统发行版的 initramfs 映像大于 55M,而 17.04 发行版的 initramfs 为 41M。搜索后我发现,如果 /boot 已满,内核无法加载 initramfs 映像,则会出现问题。但是,我是从 liveUSB 安装的,启动 liveUSB 和从 USB 安装都没有问题。我已成功在我的笔记本电脑上安装了 19.04,该笔记本电脑有 16G 内存,是较旧的 i7。

“无法找到合适的内存目标”实际上是什么意思?如果是内存不足的问题,我该如何增加 initramfs 映像的 RAM 数量?我不明白为什么在安装程序正确指定 UUID 时内核无法加载根文件系统。

我还能提供哪些信息来帮助正确解决此问题。谷歌搜索显示此问题出现在以前的版本和更早的版本中,但是,那里提供的解决方案对我当前的问题表现不起作用。

我没有双启动我的台式机,但我双启动了运行 Kubuntu 19.04 的笔记本电脑

这似乎与 initramfs 映像的大小直接相关。

还有一个问题,如何消除标准图像的膨胀?

谢谢。

其他发现:

  1. Kubuntu 18.04.02 LTS 确实安装成功并正确启动。

  2. 有趣的是,通过 KDE 驱动实用程序安装 nvidia 专有驱动程序后,我再次遇到“找不到合适的内存目标。”的错误。

  3. 重新安装 18.04.02 LTS 并检查 initrd.img-4.18.0-25-generic 映像大小显示为 55M,安装 Nvidia 驱动程序后,新映像大小为 64M。重新启动后,grub 再次失败,并显示“无法找到合适的内存目标”。

这仍然不能回答为什么在 19.04 中 initramfs 映像为 72M 并且可以在我的笔记本电脑上运行,但功能更强大的台式机却无法处理 64M 映像。

答案1

好的,所以问题肯定是围绕 bootloader grub 展开的。但是,如果没有与计算机的串行连接,我无法进一步调试该问题。

好消息是,有一种方法可以解决这个问题。缩小 initrd.img 映像。需要 3 个步骤

  1. 重新配置 initramfs-tools 以使用“xz”压缩算法。这可以通过编辑 /etc/initramfs-tools/initramfs.conf 文件来实现。设置 COMPRESS=xz
    您需要通过运行命令“update-initramfs -u”来更新 initrd 文件

  2. 如果已安装,请卸载 cryptsetup-initramfs,这将为您更新 initramfs 映像。

仅这两个步骤就将 72M 的 initrd 映像缩小到了 37M。这使我能够成功启动桌面。

最后一步只能为您增加几兆字节,但还是有用的。转到当前内核的模块目录并运行命令:“ find . -iname *.ko -exec strip --strip-unneeded {} + ”运行此命令后,您将需要更新 initramfs 映像,请参阅步骤 1。

如果你必须从 livecd/USB 执行此操作,则必须挂载根分区并运行以下命令。假设你的根文件系统挂载在“/mnt”

sudo mount --bind /dev /mnt/dev

sudo mount --bind /dev/pts /mnt/dev/pts

sudo mount --bind /proc /mnt/proc

sudo mount --bind /sys /mnt/sys

sudo chroot/mnt

运行上面提到的 3 个步骤,检查 initrd 映像的大小以确保一切正常,卸载所有设备并重新启动。

这应该是诀窍。这不能修复引导加载程序问题,但它可以解决这个问题。

相关内容