Eu tenho um drive externo formatado com o BTRFS que parece se recusar a montar:
$ sudo mount -vs -t btrfs -o ro,recovery,errors=continue /dev/sdb2 /media/user/dir
mount: /dev/sdb2: can't read superblock
No entanto, quando o BTRFS pensa que todos os superblocos estão bem:
$ sudo btrfs rescue super-recover -v /dev/sdb2
All Devices:
Device: id = 1, name = /dev/sdb2
Before Recovering:
[All good supers]:
device name = /dev/sdb2
superblock bytenr = 65536
device name = /dev/sdb2
superblock bytenr = 67108864
device name = /dev/sdb2
superblock bytenr = 274877906944
[All bad supers]:
All supers are valid, no need to recover
E se eu tentar especificar sb=$((67108864/4))
( mount
usa 1k unidades, então você tem que dividir por 4 em um sistema com blocos de 4k) para usar um dos superblocos alternativos, eu recebo o mesmo erro. btrfs restore
também parece não ter problemas para ler dados da unidade, e btrfs check
reclama apenas sobre uma entrada de cache inválida (e clear_cache
não ajuda na montagem). Isso aconteceu uma vez antes em outra unidade e btrfs check --repair
também não funcionou. [1] Como há uma grande quantidade de dados nesta unidade, estou um pouco relutante em copiar tudo em outro lugar com btrfs restore
(o que também significa encontrar espaço em outro lugar), reformatar e copiar tudo de volta.
Existe uma maneira de corrigir esse problema? Existe uma maneira de chamar btrfs
diretamente para que ele execute a montagem em vez de depender de mount
? Não consegui encontrar um mount.btrfs
.
[1] Estou um pouco relutante em usar o btrfs check --repair
, já que ele vem com muitos avisos sobre ser uma medida de último recurso, especialmente depois que ele não funcionou anteriormente.
Tags btrfs linux-mint superblock