Initrd
initrd では、真のルートファイルシステムは一時的なマウントポイントにマウントし、このためだけに導入された pivot_root(8) を使って両者を入れ替える。こうすると初期化用ルートファイルシステムは新たなマウントポイント(/initrd など)に残るので、後でこれをアンマウントし initrd に使っていたメモリを解放することができる。
initramfs では、初期化用ルートファイルシステムを pivot_root で移動させることができない。そのため、swich_root(8)コマンドにより単にその中身を空にし、真のルートファイルシステムを上書きするようにマウントする。
初期化用ルートファイルシステムには /linuxrc や /init といったシェルスクリプトがあるため、最小限のシェル(通常、/bin/ash)も含まれているし、他にも基本的なユーティリティ群(BusyBoxツールキットにあるようなもの)も格納されている。容量を節約するため、それらのシェルやユーティリティやライブラリ群は容量最適化オプション(gcc の "-Os" フラグなど)付きでコンパイルされ、klibcのような(このために開発された)標準Cライブラリの最小版とリンクされている。