调整大小操作失败后,安装操作失败并显示:
Failed to read last sector (718198764): Invalid argument
无法使用 Gparted 和其他 GUI 工具访问该分区。我们如何解决这样的问题?
答案1
分析
ntfsfix -n /dev/sda5
该n
参数将使工具输出修复解决方案而不应用它(使用此类工具要非常谨慎,因为自动修复工具可能会选择错误的决定来修复分区)
ntfsresize -if /dev/sda5
这会告诉我们到底发生了什么......
备份
在执行任何操作之前,首先建议进行完整映像备份...否则只需备份分区表即可
sfdisk -d /dev/sda > sda.partition.table.txt
解释
在这种特殊情况下,Failed to read last sector (345345...)
这意味着分区大于分区表上指示的分区,当调整分区大小(缩小)而不缩小文件系统(此处为 ntfs)时,可能会发生这种情况...解决方案是恢复调整大小(在分区表上)...注意,ntfsfix
可能会猜测旧值并恢复它但该工具还可以猜测错误的值,并使您丢失部分/全部数据...如果修复后可以安装分区,并不意味着您没有丢失任何数据,特别是在chkdsk
纠正大量错误时。 。
解决方案
备份当前分区表
sfdisk -d /dev/sda > sda.partition.table.txt
Failed to read last sector (345345...)
表明真正的分区结束扇区是[start.sector]+[345345...]
这样,我们需要通过将分区的起始扇区和错误上显示的最后一个扇区相加来计算真正的结束扇区位置编辑 sda.partition.table.txt 并将末尾扇区替换为新计算的扇区...(对于 sda5)
恢复分区表
sfdisk /dev/sda < sda.partition.table.txt