Linux

Initrd 和 Initramfs

  • June 1, 2014

我已經從stackoverflow閱讀了兩者之間的差異。但是我仍然很難理解tmpfs以及 initramfs 相對於 initrd 的真正優勢。

我發現在 RedHat EL 5 或 Ubuntu 12.04 上,/boot 中只有 initrd 文件。但是 RedHat EL 6 同時具有 intird 和 intramfs 文件。這是否意味著只有 Redhat 6 實現了 intiramfs 而我們仍然有 initrd 映像?

如果您所說的 Redhat 指的是十年前停止的發行版,那麼它可能是真的,它只支持initrd而不支持initramfs. 但是在較新的發行版中,出於歷史原因,其中的initrd名稱/boot只是這樣命名的。

有一段時間,發行版同時支持兩者。核心知道其中的差異,並且可以在引導時分辨出差異。但是為了簡化生成引導配置的工具,兩種格式都使用了相同的文件名。

實際initrd已被棄用很長時間。您必須創建一個文件系統,該文件系統需要具有固定大小,並且需要那麼多記憶體。記憶體使用initramfs量會根據實際文件的大小進行調整,並且更容易生成,當您不需要在將文件放入文件之前弄清楚文件系統的大小時。

引用自:https://serverfault.com/questions/601007