一旦我通过以下步骤完成了从 openSUSE11.1 到 openSUSE11.2 的升级:
zypper dup
现在我尝试启动系统,但它与 VFS 同步失败并且内核崩溃,所以显然是 initrd 问题。如果我没记错的话。
现在对这个问题做一些解释:升级时它显示更新 initramfs 的错误(我忘记了确切的错误或可能是警告)。哦,是的,它也显示了一些 grub 警告。
我一直在 chroot 环境中执行此操作......并将所有必需的文件安装在 chroot 环境中的适当位置。
现在,经过一番谷歌搜索并痛苦地查看了 susegeek.com 论坛和 opensuse.org 论坛
我已经决定重新创建 initrd ...但是正如一些论坛成员指出的那样,这个叫做“mkinitrd”的家伙真是垃圾。
我尝试自己制作一个 initrd 映像,但失败了。因为它显示错误,表示未找到设备(如果我启动到 suse live cd 并挂载分区),然后我尝试从 chrooted 环境中制作,它显示“设备上没有剩余空间”
有点困惑 :( 是的,大多数人都指出了这一点,可能是缺乏对我的了解。
请给我建议并向我展示正确操作的步骤,并启动并运行 opensuse11.2。
短暂性脑缺血发作
答案1
我遇到了类似的问题。为了使用 mkinitrd 重新创建 initrd,您需要将 /proc 和 /dev 挂载到 chroot 环境中。我厚颜无耻地从 Gentoo 手册中偷了这一点:
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
当然,请将 /mnt/gentoo 替换为您认为合适的任何内容。一旦我挂载了 /proc 和 /dev,initrd 便可以正常工作。