initrd和initramfs有什么区别?
我想知道, initrd
和initramfs
什么区别?
不推荐使用Initrd,取而代之的是Initramfs,它没有initrd的一些弱点:
- Initrd要求至少将一个文件系统驱动程序编译到内核中
- 由Initrd创建的磁盘必须具有固定大小
- Initrd上的所有读/写都被冗余地(不必要地)缓冲到主存储器中
我想就是这样。
这个update-initramfs命令如何生成/boot/initrd.img?
它将必要的文件转换为cpio
存档 ,这是一种二进制存档格式(非常类似于tar
,在Linux中没有广泛使用),然后使用gzip 压缩该存档。 Gzip不是归档itsef,只是压缩(这就是为什么你得到.tar.gz归档文件)。
在启动时,存档被解压缩并解压缩到 ram-disk 。
另请参阅: 计算机如何启动
-
initrd是基于块的设备,initramfs是文件库。
-
使用initrd,您创建了一个文件系统映像。 使用initramfs,您可以使用内核提取到tmpfs的文件创建存档。