Meu disco rígido travou e uma empresa de restauração conseguiu copiar tudo para outra unidade nova.
Eu acho que eles usaram dd ou similar.
Tinha duas partições xfs. Mas agora só consigo montar o primeiro.
Se eu tentar visualizar as partições com o gparted, ele diz:
Can't have a partition outside the disk
Parece que o novo disco era um pouco menor que o original (modelos diferentes).
Atualização, confirmei minha suspeita:
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
Mas os números não coincidem!:
19532808192-9766434816-9766434816-2048=63488
Como posso atualizar a tabela de partições e o sistema de arquivos xfs para caber no disco rígido atual?
Responder1
Se o problema for exclusivamente com a tabela de partição (se o próprio sistema de arquivos estiver realmente dentro dos limites), você poderá usar um dispositivo de loop para acessar a partição falsa de qualquer maneira:
losetup --find --show --read-only --offset=$((9766436864*512)) /dev/sdx
Se o sistema de arquivos for maior que o dispositivo, você terá que copiá-lo para um dispositivo maior ou emular um dispositivo maior por meio do Device Mapper (dmsetup cria um destino linear). Se você já fez backup de tudo /dev/sdd1
, pode copiar /dev/sdd2
para /dev/sdd1
aumentar a primeira partição.
Portanto, há várias maneiras de resolver esse problema, mas se isso funcionará dependerá da importância desses poucos megabytes perdidos para o sistema de arquivos. Você não os receberá de volta.