当前位置: 首页>>技术教程>>正文


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

,

问题描述

我正在尝试备份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将它们放回了一起。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9978.html,未经允许,请勿转载。