当指定的根不可用时,initramfs 上的 / 会挂载什么?

当指定的根不可用时,initramfs 上的 / 会挂载什么?

我正在探索系统未完全启动并使我处于(initramfs)提示状态的问题。该系统x86作为grub引导加载程序。

问题似乎是由于某种原因无法定位和安装硬盘。

但是,尽管无法挂载/到硬盘,但还是会挂载一些东西/

(initramfs) mount
rootfs on / type rootfs (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,realtime)
proc on /proc type proc (rw,nosuid,nodev,noexec,realtime)
udev on /dev type devtmfs (rw,nosuid,realtime,size=2016684k,nr_inodes=504171,mode=755)
devpts on /dev/pts type devpts (rw,suid,noexec,realtime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,realtime,size=404616k,mode=755)

因此,除了显式安装的目录之外的目录都来自某个地方。

(initramfd) ls
dev    bin    etc    lib    var    run    scripts    proc
root   init   conf   lib64  sbin   sys    tmp 

问题:

  • 在这种情况下安装的是什么/以及它来自哪里?
  • /boot/initrd.img-4.9.0这是位于可启动系统上的initramfs 映像吗?
  • initramfs 中的脚本完成后,是否grub从硬盘分区中读取它?/

答案1

实际上以 root 身份挂载的是initramfs.

这种混乱似乎是由于将其initramfs视为执行事物的实体而产生的。它不是,它是在内核之后加载的,无非是一个内容持有者,一个文件系统。 :)

安装后initramfs,它包含内核模块和脚本,可帮助内核充分发挥其潜力,而不会成为一个巨大的二进制块。

您可以将initramfs其视为一个 USB 记忆棒,它被“插入”grub并传递到内核以作为初始/.

相关内容