无法将大文件复制到 ext2 USB 记忆棒上

无法将大文件复制到 ext2 USB 记忆棒上

我有一个 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 的文件而不会出现任何问题的文件系统。

不知道这是否有任何帮助,但这总是一个可能的解决方案。

相关内容