800 GB 的 fdimage?

Ale*_*h_0 4 dual-boot hard-drive disk-usage data-corruption

我正在使用 Ubuntu 20.04.4 LTS。为什么 /home/myname/ 中有一个名为 fdimage 的文件,大小为 805.8 GB?我的 SSD 是 500 GB 的,分配给它的分区只有 125 GB...显然有东西损坏了。这里发生了什么?我可以摆脱它吗?

然而,该命令的输出却讲述了一个不同的故事。根据 du 的说法,这个 fdimage 文件的大小只有 54.34 GB 左右……Ubuntu 如何为同一个文件提供两种不同的大小?

du -a | sort -n -r | head -n 20

85129301    .
54340504    ./fdimage
12699488    ./Desktop
Run Code Online (Sandbox Code Playgroud)

同样,命令 stat /home/myname/fdimage 返回不同的大小(805800542208 字节 = 805,8 GB) 我对 Ubuntu 相当陌生,我找不到这个 ./fdimage 文件的太多信息,但是从什么我读过,我明白这可能是 Ubuntu 自动制作的一种备份。我可以把它关掉吗?我有自己的备份,并且我不希望 Ubuntu 占用超过一半的磁盘空间。

我的上一篇文章中,我解释说,当我使用 GNU ddrescue 时,我的主驱动器完全填满了。我必须进入 Ubuntu 救援模式手动删除一些文件才能再次访问系统。这与 fdimage 这么大有关吗?我在 /home/myname 中有一个名为 mapfile 的文件,但它的大小为 0 kB。我想要在其上创建副本的驱动器仍然是空的(0 字节)。也许我用我试图挽救的坏磁盘中的块填充了我的主驱动器而不是外部驱动器?也许我使用了错误的 ddrescue 命令?我无法解决这个问题,因为我在 SSD 上找不到任何与 ddimage 相关的文件(除了上面提到的空映射文件)。

在此先感谢您的帮助。

mat*_*igo 14

您的文件fdimage可能是一个稀疏文件,这可以解释文件大小差异巨大的原因。您可以使用以下命令确认这一点:

ls -lsh fdimage 
Run Code Online (Sandbox Code Playgroud)

这将在第一列中显示占用的大小。如果占用的大小小于表观大小,则文件是稀疏的。

ddrescue如果尝试了多个命令,则可能已创建该文件,如Gnu 文档示例中所示的名称。只要当前没有任何文件在使用该文件并且您不需要其中包含的任何数据,您当然可以删除该文件。

  • @Aleph_0:它使用 52G 的磁盘空间;其逻辑文件长度为751G。`cat fdimage` 将产生一个 751G 长的字节流,包括许多全零区域,这些区域在创建文件时被查找而不是显式写入。尺寸都没有错,只是含义不同。 (2认同)