Debian 系统在引导期间无法挂载或找到 /sbin/init

Debian 系统在引导期间无法挂载或找到 /sbin/init

我收到可怕的“目标文件系统没有请求 /sbin/init”,我陷入 initramfs busybox 提示符,并且无法启动。这是在 Debian 上升级到最新的 4.9.0-3 内核之后的结果。之前工作得很好。

大约是这样说的:

Scanning for BtrFs filesystem
usage: mount [-r] [-w] [-o options] [-t type f] [-i] [-n] device directory
target filesystem doesn't have requested /sbin/init
mount: no such file or directory

我尝试对磁盘进行 fsck;没事。 (我还尝试了 fsck -f 来确定。没有。)

我尝试在引导期间在 grub 菜单中手动设置 root=/dev/sda4 。再次,没有帮助。

我可以从 Live CD 成功挂载 /dev/sda4:

$ mount /dev/sda4 /mnt
$ mount --bind /proc/ /mnt/proc
$ mount --bind /dev/ /mnt/dev
$ mount --bind /sys/ /mnt/sys

并 chroot 进入其中:

$ chroot /mnt

我可以看到 /sbin/init 确实存在:

# ls /sbin/init
/sbin/init

我什至可以运行它:

# /sbin/init
Usage: init {-e VAR[=VAL] | [-t SECONDS] {0|1|2|3|4|5|6|S|s|Q|q|A|a|B|b|C|c|U|u}}

在 chroot 中,我尝试运行“update-initramfs”和“update-grub”。两者都成功运行,但都没有帮助。

似乎“update-initramfs”正在生成一个伪造的初始化程序这将无法正确安装根系统。

它正在运行 initramfs=0.120+deb8u3 和 sysvinit-core=2.88dsf-59.9。

它没有运行 cryptofs 或 btrfs。不过,如果这很重要的话,它是在 Mac 上运行的。

答案1

很难确切知道您的情况出了什么问题,但输出中的此消息很可疑:

usage: mount [-r] [-w] [-o options] [-t type f] [-i] [-n] device directory

在我看来,它没有安装你的根文件系统,这个错误是它尝试的结果。

读一读https://wiki.debian.org/InitramfsDebug看看如何进一步调试它。关于“保存调试信息”的最后一部分可能足以揭示问题所在。

答案2

我认为 initramfs=0.120+deb8u3 (jessie-backports) 有错误或问题,因为当我升级到 initramfs=0.130 (稳定) 时,它会启动。 (我的下一步是将 udev 升级到稳定版,尽管它删除了一堆软件包;幸运的是,我不必采取这一步。)

相关内容