initrd 和 initramfs 有什么区别?

initrd 和 initramfs 有什么区别?

initrd我想知道和有什么区别initramfs

答案1

Initrd 已被弃用,并由 Initramfs 取代,它不存在 initrd 的一些弱点:

  • Initrd 要求至少一个文件系统驱动程序被编译到内核中
  • A磁盘Initrd 创建的必须有固定大小
  • Initrd 上的所有读取/写入操作均被冗余地(不必要地)缓冲到主内存中

我想就这些了。


这个update-initramfs命令如何生成/boot/initrd.img?

它将必要的文件变成cpio 档案,这是一种二进制存档格式(与 非常相似tar,在 Linux 中并不广泛使用),然后使用 gzip 来压缩那个档案。Gzip 本身并不是一个档案,只是一种压缩(这就是为什么你会得到 .tar.gz 档案文件)。

在启动时,存档是未压缩解压到   虚拟磁盘

另请参阅:计算机如何启动

答案2

  • initrd 是基于块设备的,initramfs 是基于文件设备的。

  • 使用 initrd,您可以创建文件系统映像。使用 initramfs,您可以创建一个档案,其中包含内核提取到 tmpfs 的文件。

相关内容