Se for RAID 1, e se você souber o deslocamento de dados (por exemplo, 2048 setores, normalmente você pode descobrir o deslocamento de dados exato por mdadm --examine /dev/sdb1
), você pode criar um dispositivo de loop somente leitura (para ser seguro) assim:
# losetup --find --show --read-only --offset $((2048*512)) /dev/sdb1
/dev/loop7
E tente verificar e montar o dispositivo de loop impresso:
# fsck.ext3 -n -v /dev/loop7
# mount -o ro /dev/loop7 /mnt/recovery
mount pode fazer isso diretamente com as opções -o ro,loop,offset=
, mas eu prefiro criar o dispositivo de loop manualmente, apenas para ter certeza de que ele é realmente somente leitura.
Se o próprio sistema de arquivos estiver danificado, você deve criar uma imagem usando dd
e executar experimentos como fsck
na imagem. Alternativamente, você pode usar o dispositivo de bloqueio de rede do Linux para colocar uma camada de cópia sobre gravação no topo do disco, para que você possa fsck
dessa camada sem escrever nada no próprio disco ( nbd-server -c
/ nbd-client
, criará um dispositivo /dev/nbdX
para você brincar). Pode ser possível fazer o mesmo com o mapeador de dispositivos - mas nunca tentei isso.