vmware 工作站中的自定义 Linux 内核构建失败
custom Linux kernel build failure in vmware workstation
尝试 compile/build 并在 vmware 工作站内启动自定义内核时,在启动新内核时失败并掉到 shell 并显示错误“无法通过 uuid 找到磁盘”。
我用 ubuntu 和 centos 都试过了。
我尝试过但没有帮助的事情
- 检查启动项中 uuid 的映射和目录中的存在。
- initramfs-更新
- 将 root=uuid=<> 替换为 /dev/disk/sda3
vmware 工作站有问题吗?
怎么改正..??
我自己尝试使用 Centos 在另一个分区上安装 bootstrap Fedora 22 到空白分区时遇到了类似的错误。我从来没有完全解决它,但我确实发现问题出在我的 initrd 而不是内核。
问题是 initrd 没有启动 LVM,因为 dracut 没有告诉 initrd 它需要 LVM。因此,如果您手动启动 LVM,您应该能够引导进入您的系统以修复它。
我相信这是我 运行 从紧急 shell 启动 LVM 的命令序列:
vgscan
vgchange -ay
lvs
接着exit
恢复正常启动。
您可能必须手动挂载 LVM /etc/fstab 条目,我不记得是否这样做了。
试试这个:
sudo update-grub
然后:
mkinitcpio -p linux
检查您的 fstab
文件不会有什么坏处。在那里,您应该找到驱动器的 UUID。确保在 fstab
.
中设置了正确的标志
另外,grub.cfg
中有一个设置 GRUB
使用旧式的十六进制 UUID。也检查一下!
问题是在执行
之后创建 initramfs
make oldconfig
并为新选项选择默认值,确保有足够的磁盘空间可用于要创建的映像。
在我的例子中,创建的图像不正确,因此无法在启动时安装图像。
比较时;图像大小比现有的低版本图像小得多,所以我添加了另一个足够大的磁盘然后
make bzImage
make modules
make modules_install
make install
开始工作起来很有魅力。
我想知道为什么图像创建更早完成并导致图像损坏(尺寸更小)而没有抛出任何错误 [每次]
尝试 compile/build 并在 vmware 工作站内启动自定义内核时,在启动新内核时失败并掉到 shell 并显示错误“无法通过 uuid 找到磁盘”。 我用 ubuntu 和 centos 都试过了。
我尝试过但没有帮助的事情
- 检查启动项中 uuid 的映射和目录中的存在。
- initramfs-更新
- 将 root=uuid=<> 替换为 /dev/disk/sda3
vmware 工作站有问题吗? 怎么改正..??
我自己尝试使用 Centos 在另一个分区上安装 bootstrap Fedora 22 到空白分区时遇到了类似的错误。我从来没有完全解决它,但我确实发现问题出在我的 initrd 而不是内核。
问题是 initrd 没有启动 LVM,因为 dracut 没有告诉 initrd 它需要 LVM。因此,如果您手动启动 LVM,您应该能够引导进入您的系统以修复它。
我相信这是我 运行 从紧急 shell 启动 LVM 的命令序列:
vgscan
vgchange -ay
lvs
接着exit
恢复正常启动。
您可能必须手动挂载 LVM /etc/fstab 条目,我不记得是否这样做了。
试试这个:
sudo update-grub
然后:
mkinitcpio -p linux
检查您的 fstab
文件不会有什么坏处。在那里,您应该找到驱动器的 UUID。确保在 fstab
.
另外,grub.cfg
中有一个设置 GRUB
使用旧式的十六进制 UUID。也检查一下!
问题是在执行
之后创建 initramfsmake oldconfig
并为新选项选择默认值,确保有足够的磁盘空间可用于要创建的映像。 在我的例子中,创建的图像不正确,因此无法在启动时安装图像。
比较时;图像大小比现有的低版本图像小得多,所以我添加了另一个足够大的磁盘然后
make bzImage
make modules
make modules_install
make install
开始工作起来很有魅力。 我想知道为什么图像创建更早完成并导致图像损坏(尺寸更小)而没有抛出任何错误 [每次]