为什么我不能复制5G文件?


29

我正在尝试备份VirtualBox,但是当我尝试将.VirtualBox目录复制到我的外部硬盘驱动器时,出现“文件太大”错误:

[130 amanda@luna ~]$ cp -r .VirtualBox /media/LACIE/Luna/Jun012011/VirtualBox
cp: writing `/media/LACIE/Luna/Jun012011/VirtualBox/Machines/Astro/Snapshots/{9fe69a30-d308-4754-b4e4-928eb90f93d2}.vdi': File too large
cp: writing `/media/LACIE/Luna/Jun012011/VirtualBox/HardDisks/Astro.vdi': File too large

[1 amanda@luna ~]$ ls -alh .VirtualBox/HardDisks/Astro.vdi 
-rw------- 1 amanda amanda 5.0G 2010-04-30 17:41 .VirtualBox/HardDisks/Astro.vdi

我应该在这里找什么?

Answers:


40

/media/LACIE听起来您正在处理预格式化的驱动器,很可能是使用FAT32文件系统。根据Wikipedia的介绍,FAT32的最大文件大小约为4GB。

我建议将驱动器重新格式化为ext4(用于支持Linux文件权限)或NTFS(如果需要与Windows用户共享驱动器)。

多么有趣,但是您现在必须在重新格式化之前先备份备份;)


得到的负载。果然是脂肪。我实际上在某个时候添加了一个ext3分区(可能是b / c,上次备份任何内容时都遇到了同样的问题,这是很久以前的事了),所以我可以解决FAT驱动器问题。
阿曼达

ext2也是Windows互操作性的一个选项,但是NTFS是最简单的,因为大多数现代Linux / BSD发行版和Mac OS都具有至少可以直接读取NTFS分区的功能。您可以将读/写驱动程序留在硬盘驱动器上以安装在其他系统上。使用ext2,ExFAT,HFS或任何其他FS要求通过某种其他方法将驱动程序安装到其他系统上,以便读取驱动器。
afrazier 2011年

8

如果您需要保留fat32文件系统,则可以在限制范围内找到一个方法。

有一个名为的命令split可以让您将档案分成较小的部分。

 -b,--bytes = SIZE
              每个输出文件放置SIZE个字节

例:

dd if=/dev/zero bs=1M count=150 >test

中有150 + 0条记录
150 + 0条记录
已复制157286400字节(157 MB),0.439344 s,358 MB / s

分割测试-b 10000000
ls -l 157286400 2011-06-01 21:18测试 10000000 2011-06-01 21:20 xaa 10000000 2011-06-01 21:20 xab 10000000 2011-06-01 21:20 xac 10000000 2011-06-01 21:20 xad 10000000 2011-06-01 21:20 xae 10000000 2011-06-01 21:20 xaf 10000000 2011-06-01 21:20 xag 10000000 2011-06-01 21:20 xah 10000000 2011-06-01 21:20 xai 10000000 2011-06-01 21:20 xaj 10000000 2011-06-01 21:20 xak 10000000 2011-06-01 21:20 xal 10000000 2011-06-01 21:20 xam 10000000 2011-06-01 21:20西安 10000000 2011-06-01 21:20 xao 7286400 2011-06-01 21:20 xap

哦,cat把它们放回去。


join还有其他用途cat吗?
enzotib 2011年

@enzotib的确是:-D
Rinzwind'6
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.