調整分區大小後 XFS 失敗
我幾乎遵循與此處相同的一般想法:調整分區大小
-Resize VMware disk: Through vSphere, resize disk from 100GB to 300GB (Reboot VM) -Delete partition (fdisk /dev/sdb, d, 1) -Recreate partition (While still in the same fdisk session with /dev/sdb, n, p, 1, <defaults>) (Reboot VM)
不幸的是,現在 XFS FS 將不再掛載。
我基本上得到了一個“壞超級塊”錯誤。我正在環顧四周的是SB實際上居住在哪裡?它是在分區中還是在磁碟的最開頭?
現在:
當我嘗試 xfs_repair -n 時,它會掃描很長一段時間並最終放棄。
xfs_repair -n /dev/sdb1 Phase 1 - find and verify superblock... bad primary superblock - bad magic number !!! attempting to find secondary superblock... .....<> ..... found candidate secondary superblock unable to verify superblock continuing... .....<> ..... Sorry, could not find valid secondary superblock Existing now.
當我刪除並重新創建分區時,我應該記下起始位置嗎?我現在註意到的是分區 1 似乎預設為 2048 的開頭,但我在類似的系統上註意到的是 63 的開頭。
是的,我認為在刪除舊分區之前記錄它的開始並不重要。它從來沒有出現在我最近的所有搜尋中,它可能是這裡的關鍵。
也許我原來的超級塊在 63-2048 範圍內?我已經複製了虛擬機,這樣我就可以嘗試一些事情,而不會過多地玩弄原始虛擬機。不幸的是,該副本是在我破壞原件後拍攝的。
UFS Explorer https://www.ufsexplorer.com/ufs-explorer-standard-recovery.php在搜尋過程中出現,可以看到 XFS 文件系統及其所有內容(通過對 VMDK 的掃描)。
你真的應該記錄下分區扇區的起始編號。在這一點上,不要在沒有首先重建正確的分區佈局的情況下接觸文件系統本身。
您可以手動檢查MBR 幻數 (0xAA55),或者更好的是,使用 testdisk 來恢復您的分區表。
失敗的實際根本原因…磁碟有一個 DOS 分區表,它被清除了。某些較新版本的 fdisk 要求您使用 option 執行它
-c=dos
,並且看起來它將在未來完全刪除。一旦我用Google搜尋“fdisk start sector 63 2048”(基本上是自動完成的!),一切都變得更加清晰。
https://superuser.com/questions/352572/why-does-the-partition-start-on-sector-2048-instead-of-63