Linuxパーティションが「/」ディレクトリに「マウント」されていると言うのは正しいですか?

Linuxパーティションが「/」ディレクトリに「マウント」されていると言うのは正しいですか?

という名前のパーティションがあるとします/dev/sda2。このパーティションを使用するには、一部のディレクトリにマウントする必要があります。たとえば、その/mnt/sda2ディレクトリにマウントできます。

/dev/sda1Linuxがパーティションにインストールされていると言うと、Linuxパーティション(/dev/sda1)が「/」ディレクトリに「マウント」されていると言うのは正しいですか、それともこの場合、「マウント」という用語を使用するのは不正確ですか?

答え1

ルートファイルシステムは通常、initramfs / initrd(ほとんどの主要ディストリビューションで)またはカーネル(クラシックUnixシステムと同様のinitramfs-lessカーネル構成を使用)によってブートプロセスとしてマウントされるという点で少し特別です。他のシステムのように使用することはできません。ファイルシステムが実際にアンマウントされました。

しかし、「ルートファイルシステムが/dev/sda1マウントされました」と言うことには/問題はありません。いくつかの古いUnix教科書では、「ルートファイルシステムは魔法のようにマウントされています」と言ったようです。/特定のインストールプロセスの詳細は、要求が厳しく、本質的にカーネルブート操作を処理するカーネル開発者にのみ関連しているためです。

/initramfsを使用すると、カーネルの起動時にinitramfsイメージがマウントされます。その後、ルートファイルシステムが一時的な場所にマウントされ、/sbin/pivot_rootツール(または他のディストリビューションツールの一部である同等のシステムコール)を使用してinitramfsと実際のルートファイルシステムの場所を切り替えます。その後、実際の初期化プロセスがexec()実際のルートファイルシステムから削除され、最後に残った開いたファイルハンドルがinitramfsに解放されます。これにより、initramfsはマウント解除され、割り当てられたRAMを解放できます。

カーネルが技術的に実行され続けている間に、同じプロセスを使用してあるルートファイルシステムから別のルートファイルシステムに切り替えることは可能ですが、実際には一般的にはあまり役に立ちません。とにかく、デフォルトではすべてのプロセスを停止する必要があります。開いているすべてのファイルシステムファイルをインポートする回転後に古いルートファイルシステムをアンマウントできるように、古いルートファイルシステムを閉じました。このポイントに達すると、効果的にシャットダウンプロセスが開始されるため、再起動する方が簡単です。ボーナスとして、この場合再起動すると、ブートが新しいルートファイルシステムで機能するという確かな証拠が得られます。

答え2

これは特別なケースです。 initrd / initramfsが存在しない場合、ルートファイルシステムはカーネルによってマウントされます。 Linuxカーネル開発者はこの用語を使用します。私はそれらを反論する理由がないと思います。

linux-v5.0/init/do_mounts.c#L533

私はルートファイルシステムをマウントすることでinitrd / initramfsを説明するのも完璧だと思います。

関連情報