在 QEMU 中运行 bzImage:无法在未知块 (0.0) 上挂载 root fs

Cod*_*404 8 linux qemu linux-kernel

我通过执行make menuconfig和编译内核make。我试图在 qemu 中运行 bzImage,qemu -kernel bzImage但它没有解决错误消息:

Unable to mount root fs on unknown-block(0.0)
Run Code Online (Sandbox Code Playgroud)

Linux内核错误

我该如何解决?如何在 qemu 中运行 bzImage?

Gil*_*il' 11

它确实奏效了。内核启动正常。错误是:

无法在未知块(0.0)上挂载 root fs

内核正在寻找根文件系统。你需要提供一个。你不能在没有运行进程的情况下与内核交互,并且初始进程必须从某个地方加载:当内核启动时,它在目录上挂载一个文件系统(根文件系统)/,然后运行程序/sbin/init。init 程序通常负责运行引导脚本和启动服务,包括让用户登录的程序。

您必须确保内核能够挂载根文件系统。它必须具有文件系统类型和块设备(磁盘控制器(SCSI/SATA/IDE/USB/...适配器)、分区类型等)中涉及的所有层的驱动程序。

Linux 提供了另一种可能性,即在引导过程中使用的 RAM 中加载初始文件系统,以便定位和挂载根文件系统。这个初始文件系统可以包含处理根文件系统的设备和文件系统类型的模块。有两种稍微不同的机制:initrd和 initramfs。