没有 initrd 的 Linux:无法挂载 rootfs

没有 initrd 的 Linux:无法挂载 rootfs

设置

分区:

# fdisk -l /dev/sda
...
Device     Boot Start    End Sectors Size Id Type
/dev/sda1  *     2048  51199   49152  24M  c W95 FAT32 (LBA)
/dev/sda2       51200 204799  153600  75M 83 Linux

系统Linux配置:

UI menu.c32
LABEL linux
        LINUX ../bzImage
        APPEND nomodeset rootfstype=ext4 root=/dev/sda2

/init:

#!/bin/sh

mount -t proc proc proc
mount -t sysfs sysfs sys
mount -t devtmpfs udev dev

/bin/sh
poweroff -f

测试

通过 QEMU 启动可以正常工作:

# qemu-system-x86_64 /dev/sda

然而,在我的笔记本电脑上启动会给出:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

如果我使用 initrd:

...
APPEND nomodeset rootfstype=tmpfs initrd=../initrd.img

...然后我的笔记本电脑启动正常,尽管 initrd 没有任何内核模块

也可以看看

相关内容