我的电脑里只有一个磁盘,80 GB 的 SSD。它被格式化为单个 ext4 分区(无交换分区),并且所有常用文件夹都安装在该分区上(我将大量数据保存在外部媒体上,但 /home 和其余所有文件都在 SSD 上)。
今天我启动它时收到一条消息,说驱动器已满。我打开磁盘使用情况分析器查看哪些占用了空间。它坚持说磁盘使用了 67.8 GB,而 / 占用了 36.4 GB。这引出了一个问题,如果不在文件系统上,丢失的 30 GB 在哪里?!
为了进行比较,我将 Nautilus 中列出的所有可读文件夹(包括隐藏文件夹)的大小加在一起。结果是 20.9 GB。垃圾无法读取,但我知道它有 16.2 GB,所以总和是 36.1 GB,与磁盘使用情况分析器报告的大小大致相同。有一些系统文件夹无法读取,比如 proc,但我怀疑它们加起来不超过 30 GB - 否则就不可能在小磁盘上安装 Ubuntu,而且我见过它在 2.5 GB 上运行。我认为它们一定是我的计算和磁盘使用情况分析器报告之间的 0.3 GB 差异。
所以我想知道是什么占用了这 30 GB 以及如何释放它们?
编辑并回答 CYREX 的问题
从 Ubuntu 10.10 64 位实时 CD 启动(与我的系统相同)。
fsck 结果:
root@ubuntu:~# fsck /dev/sda1 fsck from util-linux-ng 2.17.2 e2fsck 1.41.12 (17-May-2010) /dev/sda1: clean, 265956/4890624 files, 18073343/19537408 blocks
从 SSD 启动。清空了垃圾,现在 16 GB 可用了。30 GB 仍然缺失。
我的经验不足,不知道日志中哪些内容算奇怪。以下是自上次启动以来的消息日志和系统日志。也许您可以在其中找到一些东西:
事情变得很奇怪。我插入了一个 500 GB 的外置硬盘。磁盘使用情况分析器过度报道可用空间,然后显示缺少空间(使用了 76 GB,但文件夹中只有 24 GB)。
从 LiveCD 再次启动,从中启动磁盘使用情况分析器并得到与安装的 Ubuntu 相同的结果,在 1-2 GB 以内。
根据对 CodeMonk 的回答进行编辑:
这本来是一个不错的解决方案,但分区实际上是 80 GB - 我的意思是 74 GB + 营销“错误”,无论如何整个磁盘都已格式化。它还显示已使用超过 50 GB,那么如果不在文件和文件夹中,那 30 GB 在哪里呢?
GParted 还报告了外部硬盘的正确大小。
答案1
如果您以普通用户身份使用磁盘分析器,则可能会有一些文件您无法访问或查看。您可以尝试以超级用户权限启动它。打开终端,或按 ALT+F2 并输入:
gksudo baobab
如果您好奇的话,Baobab 是磁盘分析器的古怪名字。也许它现在可以告诉您那些丢失的兆字节在哪里。
答案2
我解决了这个问题 - 感谢你们所有的建议,特别是 Javier Riveira 的建议,谁建议使用 sudo 权限运行磁盘分析器(我不知道这会对结果产生影响)。
我有 Crashplan,它正在备份一些外部驱动器。因此,每 15 分钟一次,一组备份会发送到 Milly,另一组备份会发送到 Sto_Lat(这些是外部驱动器的名称)。当我在某个时候启动没有这些驱动器的计算机时,Crashplan 在和下找不到任何文件夹/media/Milly
,/media/Sto_Lat
因此它只是创建了它们并将备份写入它们。
由于某种原因,磁盘分析器在未使用 sudo 启动时不会显示这些文件夹。Nautilus 会显示这些文件夹,但列出的大小为/media
16 KB,而实际为 30 GB。
我只在卸下所有外部驱动器(包括 Milly 和 Sto_Lat)并启动时才注意到这一点gksudo baobab
。然后我看到我的外部驱动器上本该没有东西 - 但不是全部,只有备份目标 - 并意识到这些不是已安装的驱动器,而是 Crashplan 创建的同名文件夹。当我以与现有文件夹相同的名称安装驱动器时,一定发生了一些奇怪的事情,我想知道为什么我没有收到错误消息或其他东西......
顺便说一句,这也解决了为什么磁盘分析器显示 Milly 的大小为 530 GB 而不是 500 GB —— 这是“缺失的” 30 GB,它将文件夹和真实驱动器一起计算。
现在我只需要一种方法来删除文件夹,而不会破坏 Crashplan 或留下备份。
答案3
您可以使用磁盘使用情况分析器扫描您的目录并查看文件系统上的空间位置。
至于无法看到 30GB 的磁盘,请打开 GParted 并查看磁盘上的空间分配情况。可能是您的分区方案与您想象的不一样。
答案4
默认情况下,10% 的磁盘空间为 root 用户保留。您可以使用 更改该设置sudo tune2fs -m %percentage %device
。对于您来说,这是将sudo tune2fs -m 1 /dev/cciss/c0d0p1
保留空间减少到 1%。您可以将其设置为您喜欢的任何其他数字,但我不建议使用 0%。