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然後使第一個分割區更大。

因此,有多種方法可以解決這個問題,但它是否有效將取決於那些遺失的幾兆位元組對檔案系統的重要性。你不會拿回那些。

相關內容