LVM形式のイメージファイルで実行されるLinuxシステムを設定しようとしています。 initramfsとブートオプションをいくつか変更した後、ホストファイルシステムをにマウントし、イメージ/run/initramfs/host
をlosetup
にマウントし/dev/loop0
、カーネルとudevがLVM(およびルートLV)を検出したことを確認して起動して実行できました。今まではそんなに良くなった。
問題は、システムをシャットダウン(または再起動または...)するときに鶏と卵が必要なため、ルートファイルシステムまたはホストが正しくマウント解除されないことです/oldroot
。 )はまだインストールされているため削除できず/oldroot/run/initramfs/host
、ホストを削除するとアクセスできなくなるため削除できません/oldroot
。
異常終了するからといって世界が終わるわけではありません。両方のファイルシステムが記録されるため、fsck
ログは次回の起動時に単に再生されますが、明らかに完全にシャットダウンする方が良いでしょう。
したがって、質問は次のようになります。どういうわけか終了順序を調整することは可能ですか?できる終了スクリプトの変更)、または両方のファイルシステムを完全にアンマウントできるように、起動順序(おそらくホストのマウントポイントを別の場所に移動)が必要ですか?
ベストアンサー1
誰でも同じ問題がある場合:
tmpfs
必要なのは、アンマウントを実行する前に、シャットダウンスクリプトでホストファイルシステムのマウントポイントをルートファイルシステムの外部の場所に移動することです(ピボットルートで実行されるので問題ありません)。
mount --move /oldroot/run/initramfs/host /host
これにより、/oldroot
完全に削除できます。その後、簡単なコマンドを使用してホストファイルシステムをアンマウントできます。
umount /host