Mi disco duro falló y una empresa de restauración pudo copiar todo en otro disco nuevo.
Creo que usaron dd o similar.
Tenía dos particiones xfs. Pero ahora sólo puedo montar el primero.
Si intento ver las particiones con gparted dice:
Can't have a partition outside the disk
Parece que el nuevo disco era un poco más pequeño que el original (diferentes modelos).
Actualización, he confirmado mi sospecha:
fdisk -l -u=sectors
Disk /dev/sdd: 9,1 TiB, 10000797794304 bytes, 19532808192 sectors
Disk model: Elements 25A3
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/sdd1 2048 9766436863 9766434816 4,6T Linux filesystem
/dev/sdd2 9766436864 19532871679 9766434816 4,6T Linux filesystem
¡Pero los números no coinciden!:
19532808192-9766434816-9766434816-2048=63488
¿Cómo puedo actualizar la tabla de particiones y el sistema de archivos xfs para que se ajusten al disco duro actual?
Respuesta1
Si el problema es exclusivamente con la tabla de particiones (si el sistema de archivos en sí está realmente dentro de los límites), puede usar un dispositivo de bucle para acceder a la partición falsa de todos modos:
losetup --find --show --read-only --offset=$((9766436864*512)) /dev/sdx
Si el sistema de archivos es más grande que el dispositivo, deberá copiarlo a un dispositivo más grande o emular un dispositivo más grande a través del Device Mapper (dmsetup crea un objetivo lineal). Si ya hizo una copia de seguridad de todo en /dev/sdd1
, puede copiar /dev/sdd2
y /dev/sdd1
luego agrandar la primera partición.
Así que hay varias maneras de abordar este problema, pero si funcionará dependerá de qué tan importantes fueron esos pocos megabytes que faltan para el sistema de archivos. No los recuperarás.