xfs - 磁盘外不能有分区

xfs - 磁盘外不能有分区

我的硬盘崩溃了,修复公司能够将所有内容复制到另一个新驱动器上。

我认为他们使用了 dd 或类似的。

它有两个 xfs 分区。但是,现在我只能安装第一个。

如果我尝试使用 gparted 查看分区,它会显示:

Can't have a partition outside the disk

看来新的磁盘比原来的要小一点(不同型号)。

更新,我证实了我的怀疑:

 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

但数字不匹配!:

19532808192-9766434816-9766434816-2048=63488

如何更新分区表和 xfs 文件系统以适合当前的硬盘驱动器?

答案1

如果问题完全出在分区表上(如果文件系统本身实际上在边界内),则无论如何您都可以使用循环设备来访问伪造的分区:

losetup --find --show --read-only --offset=$((9766436864*512)) /dev/sdx

如果文件系统大于设备,则必须将其复制到更大的设备,或通过设备映射器模拟更大的设备(dmsetup 创建线性目标)。如果您已经备份了 上的所有内容/dev/sdd1,您可以复制/dev/sdd2/dev/sdd1然后使第一个分区更大。

因此,有多种方法可以解决这个问题,但它是否有效将取决于那些丢失的几兆字节对文件系统的重要性。你不会拿回那些。

相关内容