6

尝试在 vmware 工作站中编译/构建和启动自定义内核时,在启动新内核时,它失败并落入 shell,并出现错误“无法通过 uuid 找到磁盘”。我用 ubuntu 和 centos 都试过了。


我尝试过但没有帮助的事情


  1. 检查引导条目中 uuid 的映射和目录中的存在。
  2. initramfs-更新
  3. 将 root=uuid=<> 替换为 /dev/disk/sda3

在此处输入图像描述

vmware 工作站有问题吗?怎样才能纠正..??

4

3 回答 3

2

我自己尝试使用在另一个分区上安装的 Centos 将 Fedora 22 引导到空白分区时遇到了类似的错误。我从来没有完全解决它,但我确实发现问题出在我的 initrd 而不是内核中。

问题是 initrd 没有启动 LVM,因为 dracut 没有告诉 initrd 它需要 LVM。因此,如果您手动启动 LVM,您应该能够引导到您的系统来修复它。

我相信这是我从紧急外壳运行以启动 LVM 的命令序列:

vgscan
vgchange -ay
lvs

这个链接帮助我记住了

随后exit恢复正常开机。

您可能必须手动安装 LVM /etc/fstab 条目,我不记得我是否这样做了。

于 2016-01-05T16:27:50.383 回答
0

尝试这个:

sudo update-grub

然后:

mkinitcpio -p linux

fstab检查你的文件不会有什么坏处。在那里,您应该找到驱动器的 UUID。确保您在fstab.

此外,还有一个grub.cfg使用GRUB旧样式的十六进制 UUID 的设置。也检查一下!

于 2016-01-06T00:27:17.037 回答
0

问题是在创建 initramfs 之后,

制作旧配置

并为新选项选择默认值,确保有足够的磁盘空间可用于要创建的图像。在我的情况下,创建的映像不正确,因此无法在启动时挂载映像。


比较时;图像大小比现有的低版本图像小很多,所以我添加了另一个足够大的磁盘,然后

制作 bzImage

制作模块

制作modules_install

进行安装

开始像魅力一样工作。我想知道为什么图像创建较早完成并导致图像损坏(尺寸较小)而没有引发任何错误[每次]

于 2016-03-04T10:59:45.260 回答