Acessar arquivos da imagem BTRFS em um sistema de arquivos similar

2

Backgroud: Executando XBian (distribuição Debian ARM para Raspberry Pi), que usa o BTRFS. Eu fragmentei meu sistema e decidi começar de novo. No entanto, eu copiei a imagem do dispositivo de sistema de arquivos raiz antes de começar de novo.

Eu tenho um sistema BTRFS em execução e um arquivo de imagem (dados brutos do sistema de arquivos) que contém os dados de uma instalação anterior. Eu quero acessar os dados deste arquivo de imagem para restaurar a configuração e coisas assim. Então, eu montei essa imagem com o seguinte comando (achei o deslocamento com fdisk /path/to/image.img , imprimi e depois multipliquei o setor inicial por 512, o tamanho do setor - por exemplo, iniciar setor 10000, deslocamento = 512 * 10000 = 5120000):

mount -t btrfs -o loop,offset=5120000 /path/to/image.img /mnt/prev-image

Após este comando, vejo que (em /mnt/prev-image/ ) o sistema de arquivos não parece tão simples quanto o ext2 ou outros sistemas de arquivos tradicionais. Eu provavelmente estou tendo um mal-entendido neste momento, ou com o comando mount .

Quando tento acessar um arquivo da imagem, digamos minha configuração do Samba, eu navego para /mnt/prev-image/root/@/etc/samba/smb.conf . Mas percebo que estou vendo o mesmo sistema de arquivos que o meu sistema de arquivos principal e que o arquivo smb.conf que eu acesso é o mesmo da minha configuração atual do Samba em /etc/samba/smb.conf . Eu acho que o BTRFS está tratando os dados no arquivo de imagem como um instantâneo de linha de base para o meu sistema base e servindo-me o arquivo "mais recente" smb.conf , que vem da minha nova instalação.

Eu quero saber como acessar os dados do arquivo de imagem e onde estão meus mal-entendidos.

    
por palswim 20.02.2014 / 00:43

1 resposta

2

O seu provável problema é que você montou o subvolume errado. Para montar o subvolume "pai", lance um parâmetro adicional em sua seção "-o": subvolide = 1 de tal forma que toda a sua linha seria agora parecida com

mount -t btrfs -o loop,offset=5120000,subvolid=1 /path/to/image.img /mnt/prev-image

Eu acho que deveria fazer o truque para você.

    
por 20.02.2014 / 20:07