Linuxはrootとしてマウントするbtrfsサブボリュームをどのように知ることができますか?

Linuxはrootとしてマウントするbtrfsサブボリュームをどのように知ることができますか?

以下のbtrfsファイルシステムがあります。

root_subvol        # subvolid=5 - the root subvolume for the btrfs filesystem
  - snapshots/     # Folder that contains btrfs snapshots of the subvol_root that I take before I do system updates
  - subvol_root/   # A btrfs subvolume. Gets mounted as /. Contains /etc, /home, /proc, ...

起動時にsubvol_rootはmyとしてマウントされます/。 Linuxは、これが起動時にマウントされるサブボリュームかどうかをどうやって知ることができますか/

もちろん、私のsubvol_root/etc/fstabには次のエントリがあります。

UUID=84ee... /  btrfs  subvol=subvol_root,...

/etc/fstabただし、異なるサブボリュームには、マウント用の異なるサブボリュームを一覧表示する独自のバージョンがある可能性があるため、/これはあいまいです。

/etc/fstabデフォルトのbtrfsサブボリュームなどを見ますか?

ベストアンサー1

たとえば、次のようにカーネルブートパラメータを確認しますcat /proc/cmdline

root=ファイルシステム(おそらくラベルまたはUUID)を指定するオプションとインクルードrootflags=がありますsubvol=subvol_root。このオプションは一般的なカーネルコマンドラインを決定するため、ブートローダ設定に含まれます。

あるいは、起動プロセスで/etc/fstabinitramfsにすでに含まれているコピーを使用することもできます。

ディストリビューションごとに異なる操作を実行できますが、私の経験によれば、ルートファイルシステムの場所はカーネルブートパラメータで指定される傾向があるため、ハードウェア構成を大幅に変更した場合は起動時に簡単に変更できます。

ルートファイルシステムがinitramfsにのみ指定されている場合は、Catch-22と同様の状況に遭遇する可能性があります。 「initramfsを変更するまでルートファイルシステムにアクセスできませんが、必要なものを取得できません。ルートファイルシステムにアクセスできるまでinitramfs Tools.initramfsを変更してください!」

おすすめ記事