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

5 linux ubuntu

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

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

然而,据报道,有df足够的空间索引节点:

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
Run Code Online (Sandbox Code Playgroud)

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

Jas*_*n C 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——这就是我要做的。