我有一个稀疏备份文件 (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