私はただBTRFSパーティション1個/
とを含みます/home
。
次のコマンドを使用して、ルートファイルシステムのスナップショットを撮りました。
btrfs subvolume snapshot / /root/snapshots/test
今、このスナップショットを復元したいと思います。どうすればいいですか?
リカバリメディアから起動してインストールすると、次の結果が表示されます。
# mount -t btrfs /dev/sda3 /mnt
# ls /mnt
# bin boot dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
ご覧のとおり、ここでは私のサブボリュームは表示されません。
しかし、私がこれを行うと:
$ btrfs subvolume list /
ID 256 gen 3794 top level 5 path fedora
ID 264 gen 2296 top level 256 path root/snapshots/test
このスナップショットを復元する方法は?
チュートリアルでは、サブボリュームの名前をルートに変更する必要があると言います。どうすればいいですか?
編集しようとしましたが役に立ち/etc/fstab
ませんでした。
答え1
現在持っているのは、2つのサブボリュームを持つBTRFSファイルシステムです。
fedora
- これはあなたのために設定されました基本サブボリューム、これはサブボリュームを指定せずにファイルシステムをマウントすると表示されます。前任者。mount -t btrfs /dev/sda3 /mnt
root/snapshots/test
- これはあなたが作成したスナップショットです。fedora
BTRFSには、実際には回復スナップショットのようなものはありません。代わりに、起動するルートファイルシステムとして別のサブボリュームを使用するだけです。これを行う方法はいくつかあります。
サブボリュームの名前変更
これを行うには、まずIDが5で、ユーザーの場合はデフォルトでマウントされていない最上位ボリュームをマウントする必要があります。その後、一般ディレクトリの名前変更を実行できます。
メモ:ご使用のオペレーティングシステムは、デフォルトのサブボリュームをルートファイルシステムにマウントするように構成されており、この手順はデフォルトのサブボリュームを変更しないため、お客様の場合は機能しません。
mount -t btrfs -o subvolid=5 /dev/sda3 /mnt
cd /mnt
mv fedora fedora-old
mv fedora-old/root/snapshots/test fedora
基本サブボリュームの変更
プライマリサブボリュームを変更すると、再起動時にシステムが新しいプライマリサブボリュームから起動します。以下に示すサブボリュームID 264は、あなたの例からのものです。btrfs subvolume list /
btrfs subvolume set-default 264 /
ブートローダでルートサブボリュームを変更する
これを行う方法はブートローダによって異なりますが、GRUBなどのブートローダには通常、ルートファイルシステムとしてマウントされるファイルシステムを指定する設定行が含まれています。この構成を変更して他のサブボリュームを起動できます。残念ながら、表示する例はありません。ただし、/etc/fstab
後でファイルを読み取ることができるため、これを行うことはできません。
結論として
場合によっては、デフォルトのサブボリュームを変更すると、最良の結果が得られると思います。