循环设备与文件大小不匹配

循环设备与文件大小不匹配

我有一个稀疏备份文件 (NTFS)(通过 制作dd seek=),它是损坏磁盘的部分映像。由 给出的大小与ls原始磁盘相匹配。然而,当循环它时,/proc/partitions它显示的大小大约是原始磁盘的一半。似乎losetup忽略了文件的最终稀疏扩展,因为它后面没有数据。

因此,如果我使用losetup -P(或kpartx),则分区在超出 给定大小的分区上会失败/proc/partitions

如何在不扩展文件的情况下解决此问题? (也许写入最后一个扇区会有所帮助,但我想避免触摸图像)。

更多信息:

cat /proc/partitions(对于循环和磁盘):

 7        5  264173760 loop5
 8        0  488386584 sda

stat在支持文件上:

  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输出:

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

相关内容