Linux
Initrd 和 Initramfs
我已經從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
量會根據實際文件的大小進行調整,並且更容易生成,當您不需要在將文件放入文件之前弄清楚文件系統的大小時。