initrd 和 initramfs 有什么区别?

Sen*_*Sen 14 initramfs

我想知道,initrd和 和有initramfs什么不一样?

Ste*_*zzo 15

不推荐使用 initrd,取而代之的是 Initramfs,它没有 initrd 的一些弱点:

  • initrd 需要至少一个文件系统驱动编译到内核中
  • 通过创建initrd的已得有一个固定大小
  • Initrd 上的所有读/写都冗余地(不必要地)缓冲到主内存中

我认为仅此而已。


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

它将必要的文件制作成一个cpio 存档,这是一种二进制存档格式(非常类似于tar,在 Linux 中没有广泛使用),然后使用 gzip 来压缩该存档。Gzip 本身不是存档,只是压缩(这就是您获得 .tar.gz 存档文件的原因)。

在启动时,档案被解压缩解压到一个   内存盘.

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