Fiz backups completos regulares do meu disco rígido (com todas as partições) usando dd
a ferramenta como backup.img
arquivo. Eu tenho vários desses arquivos.
Agora que meu disco rígido antigo morreu, como posso usar backup.img
o arquivo para gravar em um novo disco rígido para ter todas as partições e arquivos intactos como na imagem.
Também é possível extrair alguma parte dos dados (alguns arquivos/pastas) desse arquivo backup.img
?
Responder1
Restaurar
Você pode restaurar a imagem de volta ao seu HDD substituto com algo como:
# dd if=backup.img of=/dev/sd?
Você terá 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, dd
portanto, o disco substituto deve ser idêntico ou maior em capacidade que o original.
Se estiver satisfeito com isso, você pode usar uma imagem inicializável que contenha gparted
ou similar (como Parted Magic) e redimensionar as partições para caber no novo disco.
Montagem
Para montar a imagem você precisará usar o losetup
.
Método mais antigo
A maneira mais antiga de fazer isso é calculando o deslocamento até o início da partição, como segue:
Corra 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 oComeçarcoluna para a partição na qual você está interessado e multiplique esse valor pelo tamanho do seu setor. Por exemplo, para ler backup.img1
acima, multiplique 2.048 x 512 = 1.048.576.
Use este valor como deslocamento da losetup
seguinte forma:
# losetup -o 1048576 /dev/loop0 backup.img
em seguida, monte o dispositivo de loopback:
# mount -t ext4 /dev/loop0 /mnt
Método posterior
Versões mais recentes losetup
verificarão e criarão /dev/loop
entradas automaticamente para todas as partições da imagem, como segue:
# 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 deles, simplesmente permita que o LVM faça sua mágica no dispositivo de loopback. Primeira verificação:
# pvs
PV VG Fmt Attr PSize PFree
/dev/loop0p2 fedora-server lvm2 a-- 7.51g 40.00m
em seguida, ative o VG (observe o nome do VG no 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
Saída
Depois de extrair os arquivos:
# umount /mnt
# losetup -d /dev/loop0
ou para montagens LVM:
# umount /mnt
# vgchange -a n fedora-server
0 logical volume(s) in volume group "fedora-server" now active
# losetup -d /dev/loop0