Após a montagem com vdfuse
, usei testdisk
, o que me permitiu visualizar e copiar a lista de arquivos dentro do arquivo Partition4
.
Estou tentando recuperar um VDI corrompido usando vdfuse
para montar o VDI e usar dd_rescue
para resgatar a partição borked.
dd_rescue
parece estar funcionando bem, mas quando chegou a cerca de metade da partição, apenas PARAR e apresenta o seguinte erro:
ddrescue: write error: Read-only file system
Espere .. o que? De repente, o FS está gravando a partição recuperada em um sistema de arquivos somente para leitura. Bem por que? Eu nunca serei capaz de terminar isso? O que está acontecendo?
Atualização - 2 de dezembro de 2012
Meu computador estava executando o VBox quando ele perdeu a energia, quando eu iniciei o backup e tentei executar a instância do vbox, ele me disse que o HDD não tem sistema operacional.
Então, depois de verificar as opções do BIOS e as configurações do VBox para esse perfil, eu criei um novo perfil usando esse VDI e obtive o mesmo erro, provando que o VDI é realmente ilegível e que o perfil não foi estragado.
O VDI é um disco de 500 GB com 4 partições nele. Quando eu uso vdfuse
para montar o VDI em uma pasta, ele contém a partição 4 como dispositivos de loopback ( Partition1
, Partition2
, etc)
Quando tento montar a primeira partição, tudo funciona bem. Foi a partição de inicialização, portanto não contém nada útil. Mas quando eu tento montar Partition4
, minha partição home do usuário, ele diz Bad superblock at offset ######
algumas vezes e falha ao montar.
Então, eu corro ddrescue Partition4 ../partition4_restore.img
e isso funciona bem até que ele alcance ("resgata") cerca de 260 GB, quando ele simplesmente pára e fornece o erro "Sistema de arquivos somente leitura".
O local que coloca o arquivo img tem 660GB livres.
1. Solução de problemas do erro ddrescue
:
Sua gravação está falhando com um erro que supostamente pertence ao volume de destino. Eu sugeriria verificar se é realmente possível gravar um arquivo tão grande no volume de destino:
'dd if=/dev/zero of=testfile bs=32M count=15000'
Se essa operação for bem-sucedida, você pode estar razoavelmente seguro de que o problema é específico da operação ddrescue
. Se falhar, você sabe que o problema está no volume de destino.
2. Corrigindo o problema original:
Claro, dando um passo atrás de sua estratégia escolhida, faria muito sentido simplesmente usar fsck -b
para restaurar um superbloco alternativo .
Em vez de dd_rescue, você deve usar o GNU dd_rescue ( link ), que não é o mesmo. O dd_rescue original não é muito seguro para usar enquanto o GNU dd_rescue é.
Mas à medida que você recebe um erro de gravação, eu verifico a partição de destino primeiro se ela puder salvar arquivos grandes (a maioria das partições FAT não pode) e se a partição de destino tiver espaço livre suficiente.