现在大约一天的时间里,我只能在 FAT16 格式的 USB 记忆棒上创建/ cp
/ mv
(通过终端或各种 GUI 程序)大约几个字节的文件。对较大的文件报告执行此操作cannot create regular file 'XXX': No space left on device
我有一个 NTFS 驱动器和一个带有 2 个 FAT16 格式分区的 USB 记忆棒,连接到计算机上。
- /dev/sda1 是 NTFS
- /dev/sdb1 是 FAT 16 格式的分区之一
- /dev/sdc1 是另一个 FAT 16 格式的分区(在 PC 关闭时拔出 USB 记忆棒之前和之后
pm-suspend
,以清理整个驱动器上的空间 - 事后看来这可能导致部分/全部此问题) - /dev/sdb1 是另一个 FAT 16 格式的分区(在 PC 关闭时拔下 USB 记忆棒后
pm-suspend
)
df
报道:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdc1 1999360 1999360 0 100% /media/sdc1
/dev/sdd1 1999360 822400 1176960 42% /media/sdd1
df -i
报道:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdc1 0 0 0 - /media/sdc1
/dev/sdd1 0 0 0 - /media/sdd1
子问题:知道为什么没有报告索引节点吗?
df -i /dev/sda1
报道:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 5539908 171718 5368190 4% /media/sda1
umount
'ng /dev/sdc1 没有改变计数。
我已经通过 Windows 验证了可用空间或多或少与最新安装设备 (/dev/sdd1) 列出的 42% 相符。
对正在发生的事情有什么想法吗?
编辑1:
的输出du -k --max-depth=1 /media/sdc1
是:
1856 /media/sdc1/dir1
32 /media/sdc1/dir2
1440 /media/sdc1/dir3
18144 /media/sdc1/dir4
8512 /media/sdc1/dir5
54304 /media/sdc1/dir6
3200 /media/sdc1/dir7
27200 /media/sdc1/dir8
41088 /media/sdc1/dir9
11520 /media/sdc1/dir10
128 /media/sdc1/dir11
128 /media/sdc1/dir12
1216 /media/sdc1/dir13
2464 /media/sdc1/dir14
12032 /media/sdc1/dir15
5824 /media/sdc1/dir16
29600 /media/sdc1/dir17
20928 /media/sdc1/dir18
5856 /media/sdc1/dir19
4352 /media/sdc1/dir20
659200 /media/sdc1/dir21
121600 /media/sdc1/dir22
22688 /media/sdc1/dir23
128 /media/sdc1/dir24
2144 /media/sdc1/dir25
6912 /media/sdc1/dir26
19968 /media/sdc1/dir27
9632 /media/sdc1/dir28
960 /media/sdc1/dir29
1088 /media/sdc1/dir30
2624 /media/sdc1/dir31
480 /media/sdc1/dir32
1142944 /media/sdc1
答案1
FAT16 可以在根目录中保存数量非常有限的文件。我的猜测是你正在击中那个。创建一个目录并将文件放入其中。
答案2
大多数非 Unix 文件系统(如 vfat)上没有 inode。没有显示是正常的。对于问题的其余部分,我们需要更多信息。
编辑1:
从du
输出中我们现在知道有 1999360-1142944=856416 个块丢失。对于 Linux 文件系统,如果删除打开的文件,可能会出现这种差异。您不再在文件系统中看到它(因此du
无法计算它)。 ...为了使这个不那么理论化,我只是尝试了一下:在 vfat 上也是一样的。您可以使用此命令(以 root 身份)找到已删除的打开文件:
find /proc/*/fd -lname '/media/sdc1/* (deleted)'
另一种可能性是文件系统错误。因此,如果您无法将已删除的打开文件识别为问题所在,那么如果您可以卸载并检查文件系统,那就太好了。