initramfsと実際の基本ファイルシステムの違いは何ですか?

initramfsと実際の基本ファイルシステムの違いは何ですか?

initramfsシステムの起動に使用される一時ファイルシステムで、ルートFS(ファイルシステム)に制御権が付与されます。私がramfsで操作を実行できない理由は、保存した内容はすべて保持されず、再起動するたびに削除されるためです。

ただし、マウントされたルートファイルシステムは、電源を切った状態でも内容を記録して記憶することができます。なぜこれですか? rootfsは変更を記録できますが、initramfsはなぜ記録できませんか?

さらに重要なのは、このルートファイルシステムがどこにあるべきかです。ルートパーティションを見ると表示されますが、マウントしたいuinitfs.imageルートファイルシステムでなければならない他のアーカイブは表示されません。物理的にどこに保存されていますか?

ベストアンサー1

/bootinitramfsは通常、(たとえば私のCentOS 7システムに)保存されている圧縮イメージです/boot/initramfs-3.10.0-327.18.2.el7.x86_64.img。これはgzipで圧縮されたcpioアーカイブです。

例えば

sudo gzip -dc /boot/initramfs-3.10.0-327.4.5.el7.x86_64.img | cpio -t | head
.
etc
etc/modprobe.d
etc/modprobe.d/mlx4.conf
etc/ld.so.conf.d
etc/ld.so.conf.d/kernel-3.10.0-327.3.1.el7.x86_64.conf
etc/ld.so.conf.d/kernel-3.10.0-327.4.4.el7.x86_64.conf
etc/ld.so.conf.d/kernel-3.10.0-229.20.1.el7.x86_64.conf
etc/ld.so.conf.d/mariadb-x86_64.conf
etc/ld.so.conf.d/kernel-3.10.0-327.4.5.el7.x86_64.conf

これには、オペレーティングシステムをルートデバイスを表示できる状態にするために必要な最小のルーチンセットが格納されます。たとえば、HBAと通信するために必要なドライバを含めることができます。

RAMで解凍され、起動時に実行されます。 RAMイメージなので、すべての変更が失われます。

実際のルートディスクが見つかるとマウントされ、ルートがこのディスクに切り替わります。その後、正常に起動が行われます。このルートはメモリイメージではなく実際のファイルシステムなので、ここに保存されている変更は永続的です。

おすすめ記事