Restaurar

Restaurar

Realicé copias de seguridad completas periódicas de mi disco duro (con todas las particiones) utilizando ddla herramienta como backup.imgarchivo. Tengo varios archivos de este tipo.

Ahora que mi antiguo disco duro murió, ¿cómo puedo usar backup.imgel archivo para escribir en un disco duro nuevo para tener todas las particiones y el archivo intactos como en la imagen?

¿También es posible extraer una parte de los datos (algunos archivos/carpetas) de dicho archivo backup.img?

Respuesta1

Restaurar

Puede restaurar la imagen en su disco duro de reemplazo con algo como:

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

Terminará con un clon de su disco original que incluye todas las particiones y datos.

La desventaja de esto es que no se cambiará el tamaño de las particiones, por ddlo que el disco de reemplazo debe ser idéntico o mayor en capacidad que el original.

Si está satisfecho con eso, puede usar una imagen de arranque que contenga gparteduna imagen similar (como Parted Magic) y cambiar el tamaño de las particiones para que se ajusten al nuevo disco.

Montaje

Para montar la imagen necesitarás usar losetup.

Método más antiguo

La forma más antigua de hacer esto es calculando el desplazamiento hasta el inicio de la partición, de la siguiente manera:

Ejecute fdisky busque el tamaño del sector:

# 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 su compensación, lea elComenzarcolumna para la partición que le interesa y multiplique ese valor por el tamaño de su sector. Por ejemplo, para leer backup.img1arriba, multiplica 2048 x 512 = 1048576.

Utilice este valor como compensación para losetuplo siguiente:

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

luego monte el dispositivo loopback:

# mount -t ext4 /dev/loop0 /mnt

Método posterior

Las versiones más recientes losetupescanearán y crearán automáticamente /dev/loopentradas para todas las particiones en la imagen, de la siguiente manera:

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

Particiones LVM

Mi ejemplo anterior muestra la segunda partición como LVM. Para extraer archivos de estos, simplemente permita que LVM haga su magia en el dispositivo loopback. Primer escaneo:

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

luego active el VG (tenga en cuenta el nombre del VG del comando anterior, el suyo probablemente será diferente al mío):

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

Comprueba qué particiones tienes:

# ls /dev/fedora-server/
root  swap

y montar uno de ellos:

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

Salida

Una vez que haya extraído los archivos:

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

o para montajes LVM:

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

información relacionada