• 締切済み

RAM上でルートファイルシステムを動かす

RAM上でルートファイルシステムを動かす LinuxのルートファイルシステムをHDD上ではなく、 RAMに展開して使うことが可能と聞いたのですが どういうことか分かりますでしょうか? RAM上で動かすため、動作中のデータは電源OFFで消えるのは 分かるのですが、binとかusr等のフォルダは どういうふうに持つことで実現しているのでしょうか? ググッてみると、ramfsやtmpfs等のキーワードが比較的 多く見かけたのですが、この仕組みを使うことで ルートファイルシステムをRAM上で使うことができるのでしょうか? ※だけど、ramfsやtmpfsはRAMを/tmpなどのディレクトリに  マウントして一時領域みたいな感じで使うようなことが書かれて  あったので少し違うような気がしてなりません。 お手数おかけしますが、参考になる情報もしくはURL等が あれば教えていただけないでしょうか。 よろしくお願いします。

みんなの回答

  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.1

私も、その仕組みは把握していないんですけどね… PuppyLinuxやGeeXboXのような一部のLiveCDが その起動用CDを取り出して、光学ドライブを開放し DVD再生やDVD-R書き込みを可能にしたりしています。 また、Linuxでは起動時に、initramfsという形で 起動のための専用RAMディスクを作りだし 起動過程の途中で、HDDのルートファイルシステムに切り替えます。 これは、UNIX系OSのchrootというrootファイルシステムを 起動後に切り替える仕組みによるものです。 ですから、拙すぎる発想ですが…initramfsを作成するように rootファイルシステムまるごとのファイルを作成し chrootを行なわなければ、RAMだけで稼働することができるはずです。 あるいはinitramfsでの起動処理の最後に chrootすべき対象を、RAMディスクに指定することでも 同様の運用が可能なはずです。 ただ、どちらも、そう安易に実現できるわけでもなく 起動スクリプトの書き換えや、場合によっては 独自のプログラムの追加などが必要かもしれません。 Puppyの起動シーケンスを調べるとか Gentooで一つ一つの処理の意味を調べるとか 教材はいろいろあるはずですけど、まぁ簡単では無いと思います。

関連するQ&A