问题描述
我正在尝试备份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
我应该在这里找什么?
最佳答案
/media/LACIE
听起来好像您正在处理预格式化的驱动器,很可能是使用FAT32文件系统。根据Wikipedia,FAT32的最大文件大小约为4GB。
我建议将驱动器重新格式化为ext4(用于支持Linux文件权限)或NTFS(如果需要与Windows用户共享驱动器)。
多么有趣,但是您现在必须在重新格式化之前先备份备份;)
次佳答案
如果您需要保留fat32文件系统,则可以在限制范围内找到一个方法。
有一个名为split
的命令,可用于将归档文件分成较小的部分。
-b, --bytes=SIZE
put SIZE bytes per output file
例:
dd if=/dev/zero bs=1M count=150 >test
150+0 records in
150+0 records out
157286400 bytes (157 MB) copied, 0.439344 s, 358 MB/s
split test -b 10000000
ls -l
157286400 2011-06-01 21:18 test
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
将它们放回了一起。