設定
私はsystemdを使ってDebian 8(jessie / testing)amd64を実行しています。
btrfsファイルシステムを含むシステムパーティションには、次のレイアウトがあります。
/dev/sda1
|-root
|-root_snapshots/
|-snapshot#1
|-snapshot#2
スナップショットから完全に起動するには、現在のサブボリュームを変更する必要があります。
- /etc/fstabから
- Grubコンソール(編集モード)
始めるとき。
質問
"/etc/fstab"を変更するには、実行中のシステム(フラッシュドライブなど)が必要です。これを避けたいです。
想像する
何かが実際に破損してスナップショット#1から起動する必要があると仮定すると、
grubコンソールでサブボリュームを変更し、正しいサブボリューム(ここではスナップショット#1)にrootfsをマウントした方がよいでしょう。
/etc/fstabが変更されていない場合、systemdは/etc/fstabで指定されたエントリからrootfsをマウントし続けます。 ->マウントするにはrootfsエラーが発生します。
質問
- "/proc/cmdline" の "rootflags=subvol=" パラメータで rootfs をマウントするよう systemd に指示できます。
- それともこの問題を回避する他の解決策がありますか?
答え1
私はこれが役に立つと思いました。 systemdが理解するカーネルコマンドライン引数のリストがあります。http://www.freedesktop.org/software/systemd/man/kernel-command-line.html
fstab=とrd.fstabオプションがあります。
ブールパラメータを使用します。デフォルトは「はい」です。 「いいえ」の場合、ジェネレータは /etc/fstab で設定されたすべてのマウントまたはスワップを無視します。 rd.fstab= の後には初期 RAM ディスク (initrd) だけが来、fstab= の後には基本システムと initrd の両方が続きます。
したがって、 grub/grub2 で root=/dev/required_dev fstab=no を設定すると(何を使用しているのかわかりません)、期待どおりに起動します。