dispositivo de loop não corresponde ao tamanho do arquivo

1

Eu tenho um arquivo de apoio esparso (NTFS) (feito via dd seek= ) que é uma imagem parcial de um disco danificado. O tamanho dado por ls corresponde ao disco original. No entanto, quando em loop, /proc/partitions mostra como metade do tamanho do disco original. Parece que losetup está ignorando a extensão final esparsa do arquivo porque não possui dados após ele.

Como resultado, se eu usar losetup -P (ou kpartx ), o particionamento falhará em uma partição que ultrapasse o tamanho dado por /proc/partitions .

Como posso resolver isso sem expandir o arquivo? (Talvez escrever para o último setor ajude, mas eu gostaria de evitar tocar na imagem).

Mais informações:

cat /proc/partitions (para o loop e o disco):

 7        5  264173760 loop5
 8        0  488386584 sda

stat no arquivo de apoio:

  File: gordon.dsk
  Size: 500107862016    Blocks: 31986416   IO Block: 4096   regular file

lsblk --bytes :

loop5       7:5    0  270513930240  1 loop
sda         8:0    0  500107862016  0 disk

sfdisk output:

The backup GPT table is corrupt, but the primary appears OK, so that will be used.
Disk gordon.dsk: 465.8 GiB, 500107862016 bytes, 976773168 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: gpt
Disk identifier: {redacted}

Device          Start       End   Sectors   Size Type
gordon.dsk1      2048   1230847   1228800   600M Windows recovery environment
gordon.dsk2   1230848   1845247    614400   300M EFI System
gordon.dsk3   1845248   2107391    262144   128M Microsoft reserved
gordon.dsk4   2107392 944205823 942098432 449.2G Microsoft basic data
gordon.dsk5 944205824 976773119  32567296  15.5G Windows recovery environment
    
por afuna 25.10.2018 / 21:16

0 respostas