我几乎遵循与此处相同的一般想法:调整分区大小
-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
,并且看起来它将在未来完全删除。一旦我用谷歌搜索“fdisk start sector 63 2048”(基本上是自动完成的!),一切都变得更加清晰。
https://superuser.com/questions/352572/why-does-the-partition-start-on-sector-2048-instead-of-63