読み方 : イニットラムエフエス

initramfs

概要

initramfsとは、Linuxシステムの起動時にカーネルメモリ上に展開する一時的なファイルシステム。本格的なルートファイルシステムマウントするための準備環境として機能する。
initramfsのイメージ画像

Linuxが起動する際、カーネルは最終的にストレージ上のルートファイルシステムマウントして通常の動作環境へ移行する。しかし、その過程では、ストレージコントローラドライバ読み込みや暗号化ボリューム復号RAIDアレイの構成など、カーネル単体では対処しきれない処理が必要になる場合がある。initramfsはこうした処理をカーネルが実行できるよう、起動の初期段階に限定した最小限の環境を提供するために用意される。

initramfsの実体はcpioアーカイブ形式で圧縮されたファイルであり、カーネルイメージと並んでブートローダによってメモリRAM)に読み込まれる。カーネルはこのアーカイブを展開してメモリ上に一時的なルートファイルシステムとして構築し、その中に含まれる初期化スクリプトや必要なツール、ドライバモジュールを使って起動処理を進める。必要な準備が整うと、本来のルートファイルシステムへの切り替え(pivot_root)が行われ、initramfsの役割は終了する。

initramfsが特に重要な役割を果たすのは、暗号化されたディスクを使用している場合や、NFS経由でネットワーク上のルートファイルシステムマウントする場合、LVMソフトウェアRAIDで構成されたストレージを扱う場合などである。これらは、いずれも通常のカーネル起動処理だけでは対応できない処理が必要であり、initramfsの環境で先行して処理を行うことで起動の準備が整えられる。

initramfsの前身に「initrd」というシステムがあるが、両者は仕組みが異なる。initrdはブロックデバイスとしてマウントされる方式であったのに対し、initramfsはtmpfsベースのメモリファイルシステムに直接展開される方式で、より柔軟で効率的な設計となっている。現在の主要なLinuxディストリビューションではinitramfsが標準的に採用されている。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。