A má notícia é que alguns dos seus dados podem estar perdidos irremediavelmente. A boa notícia é que você pode recuperar alguns se não todos do que resta. É bem provável que você tenha que reinstalar o seu sistema operacional e servidor, no entanto:
A primeira coisa a fazer é garantir que você não perca nenhum mais dados fazendo uma cópia forense da unidade. Eu descrevi este processo com algum detalhe em esta resposta. Usando este método nós podemos trabalhar na cópia forense (se em um unidade sobressalente montando o dispositivo) ou em uma imagem montando a imagem através do dispositivo de loopback. Em seguida, podemos executar várias etapas para tentar recuperar os dados ausentes, desde a execução do fsck
até o uso de outras ferramentas de recuperação de dados, como testdisk
Se a tentativa de gerar imagens resultar em erros, tente novamente usando ddrescue
Se você não tem backups atuais , não posso enfatizar a importância deste passo o suficiente.
Assim que tivermos a cópia, começamos com uma análise do layout das partições.
Eu prefiro usar parted
ou fdisk
para essa etapa. Não tenho dúvidas de que existem outras abordagens.
sudo fdisk -l DeviceOrFile
OR
sudo parted DeviceOrFile
seguido pelos comandos
unit
selecionando B e, em seguida, print
fará o truque onde DeviceOrFile é o dispositivo ou arquivo de imagem que contém nossa imagem forense.
O último será melhor se estiver trabalhando em uma imagem com várias partições, o primeiro fornece informações suficientes para trabalhar com uma unidade física.
Vamos verificar o sistema de arquivos.
Para um dispositivo apenas fsck /dev/sdXy
, em que / dev / sdXy é a parição do dispositivo cujo sistema de arquivos desejamos verificar.
Para um arquivo de imagem, primeiro precisamos configurar o dispositivo de loop.
$ sudo losetup -o 1048576 /dev/loop0 Stover14.04.img
$ fsck /dev/loop0
Se de alguma forma fizemos algo pior, ainda temos a unidade original e podemos começar de novo, no entanto, esse não é o resultado esperado.
Nosso próximo passo será montar a partição que contém os dados (possivelmente consertados) exigidos. A maneira como fazemos isso depende se nossa cópia está em um dispositivo físico ou contida em um arquivo de imagem.
Para um dispositivo nós montamos a partição que queremos normalmente embora possamos desejar para incluir a opção ro para evitar gravações inadvertidas no dispositivo, conforme explicado abaixo.
Para um arquivo de imagem:
Precisamos verificar se temos um dispositivo de loop disponível para montagem:
$ sudo losetup -f
[sudo] password for me:
/dev/loop1
Se por algum motivo estranho não tivermos um dispositivo de loop, precisamos criar um
exigiremos os números obtidos com a abordagem parted mencionada acima. Vamos dizer, por exemplo, temos uma tabela de partições assim:
$ sudo parted /dev/sda
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit
Unit? [compact]? B
(parted) print
Model: ATA TOSHIBA THNSNH12 (scsi)
Disk /dev/sda: 128035676160B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1048576B 13317963775B 13316915200B primary ext4
2 13317963776B 128034963967B 114717000192B primary ext4 boot
O número na coluna inicial é importante, pois vamos usá-lo no deslocamento do seguinte comando de montagem.
Você notará que eu criei anteriormente o diretório /mnt/boot-sav/sda1
. Suponho que você saiba como fazer isso ou consiga encontrar essas informações consultando man mkdir
(sugestão: -p pode ser necessário)
sudo mount -o loop,ro,offset=1048576 Stover14.04.img /mnt/boot-sav/sda1
o -o indica que as opções seguirão separadas por vírgulas. loop indica que estamos montando o dispositivo de loop ro indica que a montagem será somente leitura para permitir que procuremos arquivos sem fazer nenhuma alteração na imagem. o parâmetro offset indica a posição do byte do início do sistema de arquivos na partição em questão que estamos montando e que completa as opções que estou usando.
Tudo isso é seguido pelo nome do arquivo de imagem e pelo caminho a ser montado.
Nesse ponto, podemos ver se podemos localizar nossos dados ausentes examinando o ponto de montagem ou utilizando ferramentas de recuperação de dados como testdisk diretamente no sistema de arquivos ou dispositivo de loop, dependendo da ferramenta e de sua abordagem de cópia forense.
Fontes: