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

Ama*_*nda 37 filesystem backup

我正在尝试备份我的 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
Run Code Online (Sandbox Code Playgroud)

我应该在这里寻找什么?

Lek*_*eyn 50

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

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

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


Rin*_*ind 10

如果您需要保留 fat32 文件系统,则有办法绕过限制。

有一个命令split可以让您将存档分成更小的部分。

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

例子:

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

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

拆分测试 -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 10000000 2011-06-01 21:20 xal 10000000 2011-06-01 21:20 xam 10000000 2011-06-01 21:20 xan 10000000 2011-06-01 21:20 xao 7286400 2011-06-01 21:20 xap

哦,然后cat将它们重新组合在一起。