我正在尝试备份我的 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
我应该在这里寻找什么?
答案1
/media/LACIE
听起来你正在处理一个预先格式化的驱动器,很可能是使用 FAT32 文件系统。根据维基百科,FAT32 的最大文件大小约为 4GB。
我建议将驱动器重新格式化为 ext4(以支持 Linux 文件权限)或 NTFS(如果您需要与 Windows 用户共享驱动器)。
多么有趣,但是您现在必须在重新格式化之前先备份您的备份;)
答案2
如果您需要保留 fat32 文件系统,那么有一种方法可以绕过这个限制。
有一个名为split
它可让您将档案分割成更小的部分。
-b, --bytes=大小 每个输出文件放入 SIZE 个字节
例子:
dd if=/dev/zero bs=1M count=150 >test
150+0 条记录 150+0 条记录 已复制 157286400 字节(157 MB),耗时 0.439344 秒,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 xan 10000000 2011-06-01 21:20 xao 7286400 2011-06-01 21:20 xap
哦,cat
将它们重新组合在一起。