内核恐慌 - 找不到根文件系统/安装 /dev/root 时出错

内核恐慌 - 找不到根文件系统/安装 /dev/root 时出错

从这里:http://fedoraproject.org/wiki/Common_kernel_problems#Can.27t_find_root_filesystem_.2F_error_mounting_.2Fdev.2Froot

由于 mkinitrd 中的错误,许多错误最终导致 initrd 损坏。

让用户将其内核的 initrd 以及 /etc/modprobe.conf 附加到 bz,或者让他们自己检查内容(如果他们有能力的话)。

拆开工作内核和故障内核的 initrd 并对 init 脚本进行比较可以揭示线索。要拆开 initrd,请执行以下操作..

mkdir initrd   
 cd initrd/   
 gzip -dc /boot/initrd-2.6.23-0.104.rc3.fc8.img | cpio -id 

我想了解这里到底做了什么。
initrd什么关系吗?
我们应该在哪里创建目录initrd

答案1

您提到的步骤描述了如何检查一个 initrd 映像,即如何将文件解压(通过gzipcpioinitrd-2.6.23-0.104.rc3.fc8.img到目录中(initrd/此处,在任何地方创建,使用mkdir)。这只是发现问题的一个步骤,本身并没有解决办法。

答案2

一个初始化程序(“初始 RAM 驱动器”的缩写)是 Linux 内核启动时在“真正的”根文件系统之前安装的文件系统。该文件系统由引导加载程序加载到内存中,并保留在内存中直到真正启动。内核执行/linuxrcinitrd上的程序;它的工作是挂载真正的根,并在/linuxrc终止时运行内核/sbin/init

initrd 中的某个错误可以解释系统无法启动的原因。因此,如果您在启动时遇到问题,您链接到的文档建议您将您的 initrd 与官方的 initrd 进行比较。

在提供的说明中,initrd只是一些临时目录,您可以根据需要调用anisha_initrdfred。 initrd/boot/initrd-SOMETHING.img以 gzip 压缩形式存储在文件中CPIO档案;按照说明将该存档解压到您创建的临时目录中。解压后,你可以将其与官方的initrd进行比较(解压官方的initrd并运行类似的命令diff -ru /path/to/official_initrd /path/to/anisha_initrd)。

相关内容