对分区进行 fsck 后,该分区现在为空

对分区进行 fsck 后,该分区现在为空

如果标题产生误导,我很抱歉,但我不知道如何以更好的方式提出这个问题。

在工作中,我必须在装有 Debian 的机器上安装 Windows。我有三个分区,一个用于 root,一个用于 home,一个用于 swap。为了给 Windows 腾出空间,我想减少 home 分区的大小(从 950 Gb 减少到大约 650 Gb,其中只有 150 Gb 被占用)。我之前已经这样做过很多次了,没有遇到任何问题(当时使用的是 GParted Live CD)。然而,调整大小的过程卡住了,一个小时后(在任何其他具有相同大小的机器上,这个过程从未超过 15 分钟),我停止了这个过程。

不用说,Debian 启动后无法挂载主目录(这是可以理解的)。我运行了命令 fsck -y /dev/sda6(操作系统要求),它停留了很长时间,说有多个对 inode 的引用,我是否想克隆它们(-y 选项表示全部是)。这些问题中的每一个都是针对机器中的特定文件(我可以看到 pdf、代码等的单独名称)。完成后,我重新启动了系统,Debian 启动正常,但是主目录中没有数据。我以为它正在尝试恢复数据。我显然错了。

有人能告诉我发生了什么吗?所有文件都丢失了吗?如果是这样,那么关于克隆数据的所有问题在哪里?

答案1

首先,在中止正在中途收缩的文件系统时,您可能已经对文件系统造成了不可恢复的破坏;也就是说,您无法将其恢复到原样。

其次,似乎fsck重新连接了下的一堆有效但断开的 inode /home/lost+found,您将浏览此目录希望找到重要的文件。

从中可以吸取的教训是:首先,在fsck调整文件系统大小之前,尤其是缩小文件系统大小时,要对其进行备份。其次,不要中断文件系统大小调整。第三,您的备份策略不合适,需要进行重大改革。

相关内容