Use o arquivo de backup do dd para restaurar o disco rígido e também extrair arquivos

4

Eu fiz regularmente backups completos do meu disco rígido (com todas as partições) usando a ferramenta dd como backup.img . Eu tenho vários desses arquivos.

Agora que meu disco rígido antigo morreu, como posso usar o arquivo backup.img para gravar em um novo disco rígido para que eu tenha todas as partições e o arquivo intactos como na imagem.

Também é possível extrair alguma parte dos dados (alguns arquivos / pastas) desse arquivo backup.img ?

    
por ankit7540 21.05.2016 / 16:37

1 resposta

9

Restaurar

Você pode restaurar a imagem de volta ao HDD substituto com algo como:

# dd if=backup.img of=/dev/sd?

Você terminará com um clone do seu disco original, incluindo todas as partições e dados.

A desvantagem disso é que as partições não serão redimensionadas em dd , então o disco de substituição deve ser idêntico ou maior em capacidade do que o original.

Se você estiver satisfeito com isso, poderá usar uma imagem inicializável que contenha gparted ou similar (como Parted Magic) e redimensione as partições para ajustá-las ao novo disco.

Montagem

Para montar a imagem, você precisará usar losetup .

Método mais antigo

A maneira mais antiga de fazer isso é calcular o deslocamento para o início da partição, da seguinte maneira:

Execute fdisk e procure o tamanho do setor:

# fdisk -l backup.img
Disk backup.img: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x91999386

Device      Boot   Start      End  Sectors  Size Id Type
backup.img1 *       2048  1026047  1024000  500M 83 Linux
backup.img2      1026048 16777215 15751168  7.5G 8e Linux LVM

Para calcular seu deslocamento, leia a coluna Iniciar da partição em que está interessado e multiplique esse valor pelo tamanho do seu setor. Por exemplo, para ler backup.img1 acima, multiplique 2048 x 512 = 1048576.

Use esse valor como o deslocamento para losetup da seguinte forma:

# losetup -o 1048576 /dev/loop0 backup.img

monte o dispositivo de loopback:

# mount -t ext4 /dev/loop0 /mnt

Método posterior

As versões mais recentes de losetup verificarão e criarão automaticamente /dev/loop entradas para todas as partições na imagem, da seguinte maneira:

# losetup -Pf backup.img
# ls /dev/loop0*
/dev/loop0  /dev/loop0p1  /dev/loop0p2
# mount -t ext4 /dev/loop0p1 /mnt

Partições LVM

Meu exemplo acima mostra a segunda partição como LVM. Para extrair arquivos destes, simplesmente permita que o LVM faça sua mágica no dispositivo de loopback. Primeiro digitalizar:

# pvs
  PV           VG            Fmt  Attr PSize PFree 
  /dev/loop0p2 fedora-server lvm2 a--  7.51g 40.00m

então ative o VG (observe o nome VG do comando acima, o seu provavelmente será diferente do meu):

# vgchange -a y fedora-server
  2 logical volume(s) in volume group "fedora-server" now active

verifique quais partições você tem:

# ls /dev/fedora-server/
root  swap

e monte um deles:

# mount -t ext4 /dev/fedora-server/root /mnt

Sair

Depois de extrair os arquivos:

# umount /mnt
# losetup -d /dev/loop0

ou para montagens de LVM:

# umount /mnt
# vgchange -a n fedora-server
  0 logical volume(s) in volume group "fedora-server" now active
# losetup -d /dev/loop0
    
por 21.05.2016 / 17:23