我有一个 8G USB 棒(我在 linux Mint 上),我试图将 5.4G 文件复制到其中,但是得到
No space left on device
失败前复制文件的文件大小始终为3.6G
安装的操纵杆的输出显示..
df -T
/dev/sdc1 ext2 7708584 622604 6694404 9% /media/moo/ba20d7ab-2c46-4f7a-9fb8-baa0ee71e9fe
df -h
/dev/sdc1 7.4G 608M 6.4G 9% /media/moo/ba20d7ab-2c46-4f7a-9fb8-baa0ee71e9fe
du -h --max-depth=1
88K ./.ssh
ls -h myfile
-rw-r--r-- 1 moo moo 5.4G May 26 09:35 myfile
所以 5.4G 的文件似乎无法放在 8G U 盘上。我以为 ext2 没有问题,只是 fat32 的文件大小和 USB 记忆棒有问题?改变格式会有什么不同吗?
编辑:这是来自tunefs的驱动器报告
sudo tune2fs -l /dev/sdd1
Filesystem volume name:
Last mounted on: /media/moo/ba20d7ab-2c46-4f7a-9fb8-baa0ee71e9fe
Filesystem UUID: ba20d7ab-2c46-4f7a-9fb8-baa0ee71e9fe
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: not clean with errors
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 489600
Block count: 1957884
Reserved block count: 97894
Free blocks: 970072
Free inodes: 489576
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 477
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8160
Inode blocks per group: 510
Filesystem created: Mon Mar 2 13:00:18 2009
Last mount time: Tue May 26 12:12:59 2015
Last write time: Tue May 26 12:12:59 2015
Mount count: 102
Maximum mount count: 26
Last checked: Mon Mar 2 13:00:18 2009
Check interval: 15552000 (6 months)
Next check after: Sat Aug 29 14:00:18 2009
Lifetime writes: 12 GB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Default directory hash: half_md4
Directory Hash Seed: 249823e2-d3c4-4f17-947c-3500523479fd
FS Error count: 62
First error time: Tue May 26 09:48:15 2015
First error function: ext4_mb_generate_buddy
First error line #: 757
First error inode #: 0
First error block #: 0
Last error time: Tue May 26 10:35:25 2015
Last error function: ext4_mb_generate_buddy
Last error line #: 757
Last error inode #: 0
Last error block #: 0
答案1
您的 8GB 记忆棒大约有 7.5 GiB,即使有一些文件系统开销也应该能够存储 5.4GiB 文件。
您可以用来tune2fs
检查文件系统状态和属性:
tune2fs -l /dev/<device>
默认情况下,5% 的空间是为 root 用户保留的。您的输出列出了 97894 个块,相当于大约 385MiB,似乎是默认值。tune2fs
如果您不需要那么多保留空间,您可能需要调整此值。尽管如此,即使有 385MiB,该文件也应该适合文件系统。
您的tune2fs
输出显示有错误的不干净的文件系统。所以请fsck
在文件系统上运行。这将修复错误并可能将一些文件放入lost+found
目录中。如果您不打算恢复数据,可以删除它们。
这应该修复文件系统并且复制文件将会成功。
答案2
好吧,我知道我是 Windows 用户,而不是 Linux 用户,但不久前,当我尝试将文件复制到 16Gig 数据棒,以便在旧笔记本电脑之间传输时,我遇到了类似的问题。事实证明,大多数可移动设备的文件系统格式(ext2、fat32 等)如果文件大小大于 3.2Gigs,则不支持复制文件,因为通常会为根目录和系统保留一些默认空间文件等...我通常会收到一条错误消息,告诉我驱动器已满(即使它完全是空的并且刚刚格式化)。
经过一些研究,我发现 NTFS 文件系统最适合将大文件从系统传输到记忆棒,因为它是唯一允许复制大于 3.2 的文件而不会出现任何问题的文件系统。
不知道这是否有任何帮助,但这总是一个可能的解决方案。