btrfs-restore − try to restore files from a damaged btrfs filesystem(unmounted)
btrfs restore [options] <device> <path> | −l <device>
btrfs restore is used to try to salvage files from a damaged filesystem and restore them into <path> or just list the tree roots.
Since current btrfs−check(8) or btrfs−rescue(8) only has very limited usage, btrfs restore is normally a better choice.
Note
It is recommended to read the following btrfs wiki page if
your data is not salvaged with default option:
https://btrfs.wiki.kernel.org/index.php/Restore
−s
get snapshots, btrfs restore skips snapshots in default.
−x
get extended attributes.
−v
verbose.
−i
ignore errors.
−o
overwrite directories/files in <path>.
−t <bytenr>
use <bytenr> to read root tree.
−f <bytenr>
only restore files that are under specified root whose root bytenr is <bytenr>.
−u <mirror>
use given superblock mirror identified by <mirror>, it can be 0,1,2.
−r <rootid>
only restore files that are under specified root whose objectid is <rootid>.
−d
find dir.
−l
list tree roots.
−D|−−dry−run
dry run (only list files that would be recovered).
−−path−regex <regex>
restore only filenames matching regex, you have to use following syntax (possibly quoted):
^/(|home(|/username(|/Desktop(|/.*))))$
−c
ignore case (−−path−regrex only).
btrfs restore returns a zero exit status if it succeeds. Non zero is returned in case of failure.
btrfs is part of btrfs−progs. Please refer to the btrfs wiki http://btrfs.wiki.kernel.org for further details.
mkfs.btrfs(8), btrfs−rescue(8), btrfs−check(8)