“设备上没有剩余空间”,但 df 显示有足够的​​空间和 inode

“设备上没有剩余空间”,但 df 显示有足够的​​空间和 inode

我有两个硬盘连接到这个 Ubuntu Server 14.04 系统 - 一个 1TB HDD 和一个 2TB HDD。

它们安装在/mnt/1TB和中/mnt/2TB。我想将 1TB 驱动器的内容复制到 2TB 驱动器,但是出现以下错误:No space left on device

然而,据报告df索引节点(inode):

Filesystem      Size  Used Avail Use% Mounted on
...
/dev/sdc6       869G  401G  425G  49% /mnt/1TB
/dev/sdb        1.8T  765G  976G  44% /mnt/2TB


Filesystem        Inodes   IUsed     IFree IUse% Mounted on
...
/dev/sdc6       57851904  231339  57620565    1% /mnt/1TB
/dev/sdb       122101760 2058153 120043607    2% /mnt/2TB

还有其他原因导致设备显示已满吗?

答案1

看来您无意中安装了 2TB 设备本身,而不是其上的某个分区,证据是/dev/sdb而不是 例如/dev/sdb1

首先确保 2TB 设备上具有有效的、格式化的分区以接收数据(如果您已经格式化了驱动器并且在安装时输入了错误,请跳过此步骤):

  1. 卸载/dev/sdb
  2. 运行sudo gparted /dev/sdbgparted如果没有请安装)
  3. 适当设置分区

如果您已经格式化/dev/sdb而没有实际创建分区,那么您就犯了一个小错误(仍然可用但很奇怪),并且您需要在gparted分区和格式化之前重建 MBR(如果有必要)。

此后,为了保险起见,请sudo partprobe /dev/sdb强制系统重新读取分区表并创建适当的/dev/sdbN设备。也许这是您最初错过的步骤,并且由于缺少/dev/sdbN?而被误导。

然后挂载分区,例如mount /dev/sdb1并复制到该分区。

或者,您也可以直接gparted将分区从源驱动器复制到目标驱动器,然后将目标驱动器分区大小增加到完整的 2TB——这就是我要做的。

答案2

您可以尝试运行此程序来查找可疑的大文件/文件夹,它将告诉您所有文件/文件夹的大小:

du ~ -h|sort -r -n|less

它还会进行排序,以便最大的文件/文件夹首先出现在屏幕顶部。

无论如何,不​​要忘记清理垃圾桶/废物箱。

相关内容